• 正文
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

嵌入式軟件,能用“低代碼”的方式進行開發(fā)嗎?

01/21 10:50
1460
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

我是老溫,一名熱愛學(xué)習(xí)的嵌入式工程師關(guān)注我,一起變得更加優(yōu)秀!

“低代碼開發(fā)”早就已經(jīng)不是什么新鮮事兒,在純互聯(lián)網(wǎng)領(lǐng)域應(yīng)用得非常廣泛,“低代碼”所帶來的效率提升,可以讓工程師們專注于產(chǎn)品業(yè)務(wù)邏輯,避免開發(fā)過程中重復(fù)造輪子而造成資源浪費。

嵌入式產(chǎn)品的軟件,其實也可以用“低代碼”的方式進行開發(fā),就在最近,我發(fā)現(xiàn)了一個好玩的網(wǎng)站:小熊派固件中心,可以讓嵌入式工程師通過低代碼的方式,自由切換星閃模組里面的通信固件。

目前這個固件中心支持海思的 Hi3863 和 Hi2821E 兩款芯片,分別有AT指令固件和透傳固件,工程師們可以按需使用。

復(fù)制網(wǎng)址鏈接到瀏覽器打開,或直接點擊【閱讀原文】https://bearpi.cn/core_board/bearpi/firmware/

為了驗證這種方式是否真的如此方便,我向小熊派官方申請了兩款星閃模組,模組都是郵票孔封裝的,并且把常用的GPIO引腳都引出來了,可擴展性非常高。

嵌入式Linux開發(fā)板是USB接口的,對接郵票孔的模組不是很方便,于是我設(shè)計了一個簡單的USB-Dongle底板,貼上郵票孔的星閃模組之后,直接插到Linux開發(fā)板或者電腦上就可以用了。

(注意:上面的USB-Dongle基于Hi3863模組設(shè)計,Hi3863和Hi2812E這兩款模組的郵票孔引腳并不相互兼容。)

可以在嘉立創(chuàng)進行PCB免費打樣,這個USB-Dongle硬件比較簡單,直接手工焊接即可,成品如下所示:

星閃通信是雙向的,剛好手上有一款小熊派IoT開發(fā)板,上面的E53接口可以擴展大量的傳感器執(zhí)行器,于是我又給這款I(lǐng)oT開發(fā)板配了一個星閃通信模組。

嵌入式Linux我用的是ELF 2學(xué)習(xí)板,因為USB-Dongle上用的是CH340E芯片方案,所以需要在ELF 2的內(nèi)核配置單里面把CH340的驅(qū)動打開,重新編譯內(nèi)核鏡像并燒錄。

關(guān)于ELF 2學(xué)習(xí)板的介紹,可以點擊這里回顧:在內(nèi)卷中突圍,開始學(xué)習(xí)嵌入式 AI 和多媒體應(yīng)用技術(shù)!

ELF 2學(xué)習(xí)板和小熊派IoT開發(fā)板之間是一對一通信,直接在固件中心分別生成Hi3863的主機模式和從機模式透傳固件,燒錄到模組待用。

所有的硬件都準(zhǔn)備就緒了,接下來就是編寫ELF 2的應(yīng)用程序和小熊派IoT開發(fā)板的功能固件,用Qt編寫一個簡單的控制界面,用來控制IoT開發(fā)板上面的紫外燈直流電機。

Qt應(yīng)用程序集成了H2812的AT指令通信框架和H3863的透傳通信框架,用 C++語言編寫,沒有依賴Qt庫,可移植性較高,IoT開發(fā)板是STM32L4單片機程序,用C語言和HAL庫進行編寫開發(fā)。

程序源碼已經(jīng)放到Gitee,有需要的工程師可以自取,嵌入式初學(xué)者或者大學(xué)應(yīng)屆生做畢設(shè),也可以用作參考。

嵌入式Linux + Qt應(yīng)用程序:https://gitee.com/embediot/nearlink_gateway.git

BearPi-IoT單片機程序:https://gitee.com/embediot/nearlink-iot-device.git

綜合總結(jié)來說,星閃模組的郵票孔設(shè)計,加上固件中心的便捷,可以讓我們的硬件產(chǎn)品非常方便地?fù)碛行情W通信能力,并且可以隨時根據(jù)產(chǎn)品的硬件方案需求自由地切換通信固件。

對于有技術(shù)要求的工程師來說,可能想充分使用星閃模組的芯片資源,也可以使用這兩款芯片的SDK進行二次開發(fā),但對比起直接使用固件中心,SDK二次開發(fā)的難度可能會比較高。

相關(guān)推薦