电子产业一站式赋能平台

PCB联盟网

搜索
查看: 71|回复: 0
收起左侧

嵌入式软件,能用“低代码”的方式进行开发吗?

[复制链接]

567

主题

567

帖子

4209

积分

四级会员

Rank: 4

积分
4209
发表于 2025-1-20 12:03:00 | 显示全部楼层 |阅读模式
我是老温,一名热爱学习的嵌入式工程师$ G+ w, S/ m# Y9 X! l
关注我,一起变得更加优秀!
% s) S# j( o. J) _; Q“低代码开发”早就已经不是什么新鲜事儿,在纯互联网领域应用得非常广泛,“低代码”所带来的效率提升,可以让工程师们专注于产品业务逻辑,避免开发过程中重复造轮子而造成资源浪费。# u3 ]4 V; F% _2 s  W+ a+ R
嵌入式产品的软件,其实也可以用“低代码”的方式进行开发,就在最近,我发现了一个好玩的网站:小熊派固件中心,可以让嵌入式工程师通过低代码的方式,自由切换星闪模组里面的通信固件。
4 R. A8 @4 G; f* y/ F8 J6 O目前这个固件中心支持海思的 Hi3863 和 Hi2821E 两款芯片,分别有AT指令固件和透传固件,工程师们可以按需使用。1 ^/ C% E2 B- A: U! Y/ W
复制网址链接到浏览器打开,或直接点击【阅读原文】https://bearpi.cn/core_board/bearpi/firmware/% h) l' a. ~6 z$ x3 ?' g+ r

gcuhdzd0img640363527.png

gcuhdzd0img640363527.png
" m2 q" i$ Q: {5 _
为了验证这种方式是否真的如此方便,我向小熊派官方申请了两款星闪模组,模组都是邮票孔封装的,并且把常用的GPIO引脚都引出来了,可扩展性非常高。  ?+ I6 |3 H4 X4 k# ~/ Z$ X

jr5tnpqrdql640363629.png

jr5tnpqrdql640363629.png
9 H* ]  g0 x# @* g5 I
嵌入式Linux开发板是USB接口的,对接邮票孔的模组不是很方便,于是我设计了一个简单的USB-Dongle底板,贴上邮票孔的星闪模组之后,直接插到Linux开发板或者电脑上就可以用了。
) ~, K% b" R* K) i' R6 @( R9 g

4xfyjmfoszd640363729.png

4xfyjmfoszd640363729.png
# A# j+ n1 \4 J, A8 Q- f
(注意:上面的USB-Dongle基于Hi3863模组设计,Hi3863和Hi2812E这两款模组的邮票孔引脚并不相互兼容。)
  L) h( _5 Z( u# C+ J6 H可以在嘉立创进行PCB免费打样,这个USB-Dongle硬件比较简单,直接手工焊接即可,成品如下所示:* r/ v8 a3 T# m9 c

sndx4u0k3mu640363829.jpg

sndx4u0k3mu640363829.jpg
/ c# ^# Y  b% @% t; q: B
星闪通信是双向的,刚好手上有一款小熊派IoT开发板,上面的E53接口可以扩展大量的传感器和执行器,于是我又给这款IoT开发板配了一个星闪通信模组。4 H2 w2 H& W0 B5 J% m* q' J9 t% b

vkdmavwil0s640363930.png

vkdmavwil0s640363930.png

0 Z' W% k5 A( p; v$ c! f5 T  n) O2 m嵌入式Linux我用的是ELF 2学习板,因为USB-Dongle上用的是CH340E芯片方案,所以需要在ELF 2的内核配置单里面把CH340的驱动打开,重新编译内核镜像并烧录。" P, `: U, H, v3 z: F& v' g0 ?& X
关于ELF 2学习板的介绍,可以点击这里回顾:在内卷中突围,开始学习嵌入式 AI 和多媒体应用技术!. J; L- v' N1 F- k' O9 H
ELF 2学习板和小熊派IoT开发板之间是一对一通信,直接在固件中心分别生成Hi3863的主机模式和从机模式透传固件,烧录到模组待用。
0 S% Z( H) A% H9 r! }3 W

1zwfpmwzouk640364030.png

1zwfpmwzouk640364030.png
( @* A# F& ?7 `; C
所有的硬件都准备就绪了,接下来就是编写ELF 2的应用程序和小熊派IoT开发板的功能固件,用Qt编写一个简单的控制界面,用来控制IoT开发板上面的紫外灯和直流电机。+ X  j/ h) k& @% K% a( U6 k

1zgpsp3eona640364131.png

1zgpsp3eona640364131.png
: @7 f4 B+ y7 t1 @  d4 j
Qt应用程序集成了H2812的AT指令通信框架和H3863的透传通信框架,用 C++语言编写,没有依赖Qt库,可移植性较高,IoT开发板是STM32L4单片机程序,用C语言和HAL库进行编写开发。- v  A5 t$ Y. ~- G  R

pun1qkfwcpx640364232.png

pun1qkfwcpx640364232.png
4 L; r2 B0 B7 Y
程序源码已经放到Gitee,有需要的工程师可以自取,嵌入式初学者或者大学应届生做毕设,也可以用作参考。6 c2 q5 j/ V6 M; |
嵌入式Linux + Qt应用程序:https://gitee.com/embediot/nearlink_gateway.git! c1 Y0 Z0 W6 l. }! v: X& t3 t; x
BearPi-IoT单片机程序:https://gitee.com/embediot/nearlink-iot-device.git
7 Z! H* i8 E" Z+ P& X演示视频如下:
$ S1 {# k# u6 q' P$ t: A) E# P3 u, V0 m综合总结来说,星闪模组的邮票孔设计,加上固件中心的便捷,可以让我们的硬件产品非常方便地拥有星闪通信能力,并且可以随时根据产品的硬件方案需求自由地切换通信固件。% {0 b, j: J2 O2 M
对于有技术要求的工程师来说,可能想充分使用星闪模组的芯片资源,也可以使用这两款芯片的SDK进行二次开发,但对比起直接使用固件中心,SDK二次开发的难度可能会比较高。
6 U2 i! ^( e0 S5 y+ H; n5 f6 N-END-
" Q% w: n( G, L* m) W往期推荐:点击图片即可跳转阅读
% f+ K2 K. F% C3 W% o; j                                                        6 r/ ~: P# \# v1 S
                                                               
( Y0 h( `" S8 _- {2 q+ l4 \3 e                                                                       
; K: U) G* r- o& W                                                                               
. y( e8 F1 M. h  S

k4dztnj503d640364332.jpg

k4dztnj503d640364332.jpg
# X- l: Y, X) i! N3 {' r3 X6 o
                                                                                , ?% Q. {9 D. l8 M
                                                                                        星闪,一项迫切推广的创新技术!/ ]7 ]8 ?3 Y: Y- Q8 g, U) c2 q  F
                                                       
; ?6 h  T3 S5 s) A: N                                                               
& N7 _$ G! A" Q9 ^4 E2 a6 }$ K( e                                                                        , {7 `+ Z' R+ B2 l
                                                                                5 v" S; f/ G2 \, x, y7 |

f2jtosqoyss640364432.jpg

f2jtosqoyss640364432.jpg
9 K% \* K3 p* ?/ Q' P/ `3 T  T
                                                                               
' W! h9 K* [  R& B4 ]0 B                                                                                        在内卷中突围,开始学习嵌入式 AI 和多媒体应用技术!9 X8 D: I6 a8 g: I, H! {2 [
                                                       
: T% \( J4 p9 q0 I% K                                                               
; ~/ d# r+ v! z9 N- @4 f- |                                                                       
2 b+ [# p& o; u0 R9 t+ c( r                                                                                9 j0 {" G/ m% ]% ~& R- N1 L

jv1qqul0szs640364532.jpg

jv1qqul0szs640364532.jpg

3 |# V  a. O# i; C2 ]! J                                                                               
0 }% }2 }$ \+ s3 M( s5 ^                                                                                        嵌入式 Linux 对接星闪,用 C++ 设计一个通用的 AT 指令解析器。: x9 }" Z; L$ ]7 U  R6 u
                                                               
* `6 q5 ~3 T. [. P/ W' l% m& c                                                                        & W* ^8 d; Z3 g1 Z- X! g
                                                                               
+ u1 S" [5 {" d1 a# Q/ t4 \; n) w

5gxff3m414w640364632.jpg

5gxff3m414w640364632.jpg
6 ^. d) [8 E2 w& L
                                                                               
/ \2 `5 B" J5 W# ^2 r7 C/ j                                                                                        星闪的资料不开放出来,工程师们没法玩?$ N, W& [; c/ I( v3 S
                                                                               
! X( p; P( b' t                                                                       
, W/ a9 s  R2 o7 a) R                                                                0 G, @7 \+ ]) O1 ~4 F# |
                                                        我是老温,一名热爱学习的嵌入式工程师5 V3 m- p2 H7 z% R
关注我,一起变得更加优秀!
4 p, Y  V1 Z" ]3 a0 b- Q: G! p

cpfyexsomjw640364732.jpg

cpfyexsomjw640364732.jpg
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表