|

我是老温,一名热爱学习的嵌入式工程师
+ A/ Y+ v' I( T关注我,一起变得更加优秀!+ w% O+ w8 `2 _
“低代码开发”早就已经不是什么新鲜事儿,在纯互联网领域应用得非常广泛,“低代码”所带来的效率提升,可以让工程师们专注于产品业务逻辑,避免开发过程中重复造轮子而造成资源浪费。0 v! o: N$ |' w- a K
嵌入式产品的软件,其实也可以用“低代码”的方式进行开发,就在最近,我发现了一个好玩的网站:小熊派固件中心,可以让嵌入式工程师通过低代码的方式,自由切换星闪模组里面的通信固件。
- R' a& S! b" h/ o. W* Q目前这个固件中心支持海思的 Hi3863 和 Hi2821E 两款芯片,分别有AT指令固件和透传固件,工程师们可以按需使用。. D) A& X7 x0 A- p: o
复制网址链接到浏览器打开,或直接点击【阅读原文】https://bearpi.cn/core_board/bearpi/firmware/
1 q4 B/ z0 `* ~* F' {
gcuhdzd0img640363527.png
) `8 w( G1 d/ P, N为了验证这种方式是否真的如此方便,我向小熊派官方申请了两款星闪模组,模组都是邮票孔封装的,并且把常用的GPIO引脚都引出来了,可扩展性非常高。
1 k0 S' c. q' l! D: L- A) y
jr5tnpqrdql640363629.png
) J9 V7 a: J; Z$ H5 f嵌入式Linux开发板是USB接口的,对接邮票孔的模组不是很方便,于是我设计了一个简单的USB-Dongle底板,贴上邮票孔的星闪模组之后,直接插到Linux开发板或者电脑上就可以用了。
; f- B! g7 `' c2 L& ^; i
4xfyjmfoszd640363729.png
9 y% J C" R, g+ ]; F: s; L+ {(注意:上面的USB-Dongle基于Hi3863模组设计,Hi3863和Hi2812E这两款模组的邮票孔引脚并不相互兼容。)
' B6 M" v* A$ b" m, T: I. H4 v可以在嘉立创进行PCB免费打样,这个USB-Dongle硬件比较简单,直接手工焊接即可,成品如下所示:
8 ^9 k6 Q5 k8 b: G, W# l
sndx4u0k3mu640363829.jpg
; y7 g. z$ X% U星闪通信是双向的,刚好手上有一款小熊派IoT开发板,上面的E53接口可以扩展大量的传感器和执行器,于是我又给这款IoT开发板配了一个星闪通信模组。
& d" R2 k8 _6 e2 o- d+ E& V
vkdmavwil0s640363930.png
3 k4 |+ m T: a* s7 E
嵌入式Linux我用的是ELF 2学习板,因为USB-Dongle上用的是CH340E芯片方案,所以需要在ELF 2的内核配置单里面把CH340的驱动打开,重新编译内核镜像并烧录。7 P. `2 g I' z$ s! ?- g
关于ELF 2学习板的介绍,可以点击这里回顾:在内卷中突围,开始学习嵌入式 AI 和多媒体应用技术!
( P+ ?3 `8 W& ^' X4 n5 k3 yELF 2学习板和小熊派IoT开发板之间是一对一通信,直接在固件中心分别生成Hi3863的主机模式和从机模式透传固件,烧录到模组待用。
& I- I. }+ \' N0 D. q, W
1zwfpmwzouk640364030.png
: c) ~3 \! s) C( p. ~所有的硬件都准备就绪了,接下来就是编写ELF 2的应用程序和小熊派IoT开发板的功能固件,用Qt编写一个简单的控制界面,用来控制IoT开发板上面的紫外灯和直流电机。* l1 u' Y" u( L7 ~$ Y4 J
1zgpsp3eona640364131.png
2 v2 A! b% `6 K9 g3 k5 h b% |+ @Qt应用程序集成了H2812的AT指令通信框架和H3863的透传通信框架,用 C++语言编写,没有依赖Qt库,可移植性较高,IoT开发板是STM32L4单片机程序,用C语言和HAL库进行编写开发。
+ q4 V/ L. o1 U( c6 R
pun1qkfwcpx640364232.png
. O7 G% t8 u- H% J4 W, \$ Q程序源码已经放到Gitee,有需要的工程师可以自取,嵌入式初学者或者大学应届生做毕设,也可以用作参考。
3 R. u2 c0 ~2 l4 m+ ~# l嵌入式Linux + Qt应用程序:https://gitee.com/embediot/nearlink_gateway.git
, {: R$ N4 |* M: ]* YBearPi-IoT单片机程序:https://gitee.com/embediot/nearlink-iot-device.git: j. b7 y: f- K$ c6 t4 V: ~) R
演示视频如下:
: W2 l, i9 M. E( S. s综合总结来说,星闪模组的邮票孔设计,加上固件中心的便捷,可以让我们的硬件产品非常方便地拥有星闪通信能力,并且可以随时根据产品的硬件方案需求自由地切换通信固件。
* Y8 x4 M7 {) M8 y5 A对于有技术要求的工程师来说,可能想充分使用星闪模组的芯片资源,也可以使用这两款芯片的SDK进行二次开发,但对比起直接使用固件中心,SDK二次开发的难度可能会比较高。
" j$ w2 S+ W1 f+ w5 V-END-2 K6 [; h* J# w0 j& V! ?/ M
往期推荐:点击图片即可跳转阅读+ f2 S# v7 @5 s& \: U$ D
]! b1 Z O: n+ l* ]* s
& F1 Y: F0 y: ^, w: P( | / Z S! v8 E6 X2 N2 {
- d9 ?+ n4 M! g
k4dztnj503d640364332.jpg
8 x! l" E! ]0 t6 a! t5 w % e4 f/ j" V! U( K$ t. J( P( P/ c
星闪,一项迫切推广的创新技术!8 X2 f. A; b4 ~# o. h5 Y! y7 g
! @- l/ j9 c* }8 h1 C# i( e
' m' P; a( C( H+ w3 d; b: z / |/ S4 e% C8 X- I' l
! C- p; g$ h6 D
f2jtosqoyss640364432.jpg
! d! X( B* S+ l) p) u9 { # t: I8 N6 J \6 D
在内卷中突围,开始学习嵌入式 AI 和多媒体应用技术!
1 h. [$ | o( ^8 B" u/ t: k1 U # ]( \- m* d4 g# ?" k I2 ?
- ]0 p7 T2 _# [( E2 Z8 U9 e* o1 |
+ O3 \+ F" J4 S / i) M4 Q/ o8 A
jv1qqul0szs640364532.jpg
% T. S# S0 e/ n5 q7 \5 T
2 v, \" Z1 a% K. U1 _ 嵌入式 Linux 对接星闪,用 C++ 设计一个通用的 AT 指令解析器。5 P) V6 g) {1 \6 Z+ K8 h. V
$ H9 K( ^6 r9 K
4 e8 |; K; }7 H! X / c9 h/ D o0 b, h' d
5gxff3m414w640364632.jpg
( |9 X; f) B8 C4 \ U' r1 R
+ O. L) @+ ~& R& \0 z 星闪的资料不开放出来,工程师们没法玩?+ N% f& B! Y. o
2 _+ p$ p0 \! }2 ^1 P
" X8 a1 t/ ]9 B6 M : P) E7 t2 E/ P4 H! U
我是老温,一名热爱学习的嵌入式工程师5 |9 N, }+ u! W$ z, F% i p
关注我,一起变得更加优秀!1 X6 r {: m/ m$ w% G" m$ I
cpfyexsomjw640364732.jpg
|
|