我是老溫,一名熱愛學(xué)習(xí)的嵌入式工程師,關(guān)注我,一起變得更加優(yōu)秀!
“低代碼開發(fā)”早就已經(jīng)不是什么新鮮事兒,在純互聯(lián)網(wǎng)領(lǐng)域應(yīng)用得非常廣泛,“低代碼”所帶來(lái)的效率提升,可以讓工程師們專注于產(chǎn)品業(yè)務(wù)邏輯,避免開發(fā)過(guò)程中重復(fù)造輪子而造成資源浪費(fèi)。
嵌入式產(chǎn)品的軟件,其實(shí)也可以用“低代碼”的方式進(jìn)行開發(fā),就在最近,我發(fā)現(xiàn)了一個(gè)好玩的網(wǎng)站:小熊派固件中心,可以讓嵌入式工程師通過(guò)低代碼的方式,自由切換星閃模組里面的通信固件。
目前這個(gè)固件中心支持海思的 Hi3863 和 Hi2821E 兩款芯片,分別有AT指令固件和透?jìng)鞴碳?,工程師們可以按需使用?/p>
復(fù)制網(wǎng)址鏈接到瀏覽器打開,或直接點(diǎn)擊【閱讀原文】https://bearpi.cn/core_board/bearpi/firmware/
為了驗(yàn)證這種方式是否真的如此方便,我向小熊派官方申請(qǐng)了兩款星閃模組,模組都是郵票孔封裝的,并且把常用的GPIO引腳都引出來(lái)了,可擴(kuò)展性非常高。
嵌入式Linux開發(fā)板是USB接口的,對(duì)接郵票孔的模組不是很方便,于是我設(shè)計(jì)了一個(gè)簡(jiǎn)單的USB-Dongle底板,貼上郵票孔的星閃模組之后,直接插到Linux開發(fā)板或者電腦上就可以用了。
(注意:上面的USB-Dongle基于Hi3863模組設(shè)計(jì),Hi3863和Hi2812E這兩款模組的郵票孔引腳并不相互兼容。)
可以在嘉立創(chuàng)進(jìn)行PCB免費(fèi)打樣,這個(gè)USB-Dongle硬件比較簡(jiǎn)單,直接手工焊接即可,成品如下所示:
星閃通信是雙向的,剛好手上有一款小熊派IoT開發(fā)板,上面的E53接口可以擴(kuò)展大量的傳感器和執(zhí)行器,于是我又給這款I(lǐng)oT開發(fā)板配了一個(gè)星閃通信模組。
嵌入式Linux我用的是ELF 2學(xué)習(xí)板,因?yàn)閁SB-Dongle上用的是CH340E芯片方案,所以需要在ELF 2的內(nèi)核配置單里面把CH340的驅(qū)動(dòng)打開,重新編譯內(nèi)核鏡像并燒錄。
關(guān)于ELF 2學(xué)習(xí)板的介紹,可以點(diǎn)擊這里回顧:在內(nèi)卷中突圍,開始學(xué)習(xí)嵌入式 AI 和多媒體應(yīng)用技術(shù)!
ELF 2學(xué)習(xí)板和小熊派IoT開發(fā)板之間是一對(duì)一通信,直接在固件中心分別生成Hi3863的主機(jī)模式和從機(jī)模式透?jìng)鞴碳?,燒錄到模組待用。
所有的硬件都準(zhǔn)備就緒了,接下來(lái)就是編寫ELF 2的應(yīng)用程序和小熊派IoT開發(fā)板的功能固件,用Qt編寫一個(gè)簡(jiǎn)單的控制界面,用來(lái)控制IoT開發(fā)板上面的紫外燈和直流電機(jī)。
Qt應(yīng)用程序集成了H2812的AT指令通信框架和H3863的透?jìng)魍ㄐ趴蚣?,?C++語(yǔ)言編寫,沒有依賴Qt庫(kù),可移植性較高,IoT開發(fā)板是STM32L4單片機(jī)程序,用C語(yǔ)言和HAL庫(kù)進(jìn)行編寫開發(fā)。
程序源碼已經(jīng)放到Gitee,有需要的工程師可以自取,嵌入式初學(xué)者或者大學(xué)應(yīng)屆生做畢設(shè),也可以用作參考。
嵌入式Linux + Qt應(yīng)用程序:https://gitee.com/embediot/nearlink_gateway.git
BearPi-IoT單片機(jī)程序:https://gitee.com/embediot/nearlink-iot-device.git
綜合總結(jié)來(lái)說(shuō),星閃模組的郵票孔設(shè)計(jì),加上固件中心的便捷,可以讓我們的硬件產(chǎn)品非常方便地?fù)碛行情W通信能力,并且可以隨時(shí)根據(jù)產(chǎn)品的硬件方案需求自由地切換通信固件。
對(duì)于有技術(shù)要求的工程師來(lái)說(shuō),可能想充分使用星閃模組的芯片資源,也可以使用這兩款芯片的SDK進(jìn)行二次開發(fā),但對(duì)比起直接使用固件中心,SDK二次開發(fā)的難度可能會(huì)比較高。