
無意間看到淘寶的一款以Lua主打的GPRS硬件,非常便宜,也就15元人民幣。雖然GSM/GPRS已經(jīng)面臨退市的問題,但是蜂窩數(shù)據(jù)通訊與物聯(lián)網(wǎng)對(duì)于可編程硬件的需求一直沒有任何變化:AT指令、蜂窩數(shù)據(jù)業(yè)務(wù)、TCP/IP通訊。
GSM/GPRS/CDMA退網(wǎng)后,物聯(lián)網(wǎng)主流選擇是Cat-M0(NB-IoT),Cat-M1(eMTC),以及LTE的各類單模、多模組合模塊,使用各類VHLL(Very High Level Language),如Python/JavaScript/Lua/Java/.NET的方式會(huì)越來越多。
- Python我就不再重復(fù)了,以PyMite/Zerynth/MicroPython為主;
- JavaScript更多,我倒是擔(dān)心日后會(huì)出現(xiàn)類似嵌入式Java一樣的碎片化版本;
- Lua的案例有NodeMCU和國(guó)產(chǎn)LuaAT GPRS MODEM,還有德國(guó)Ethernut。
我曾經(jīng)使用過C/C++開發(fā)過MODEM,但是開發(fā)效率實(shí)在不高。這里面的原因非常多。但是字符串處理和數(shù)據(jù)序列化的不便、以及使用者對(duì)于回調(diào)處理的不熟悉是主要原因。但是VHLL大多數(shù)在底層解決了這些問題。所以開發(fā)周期從月縮減至天。這就是面向應(yīng)用的VHLL的最大好處:開發(fā)效率遠(yuǎn)超貼近硬件的C/C++。
相對(duì)而言,我覺的ARM mbed/Arduino應(yīng)該選擇一種合適的適合MCU的VHLL,我覺得Lua/PyMite比較合理,因?yàn)楹馁M(fèi)資源相對(duì)較少。而且應(yīng)該作為這兩者的編譯選項(xiàng)存在。
問題
相比之下,MicroPython我更加熟悉,但是需要增加一顆外置MCU,成本是個(gè)問題。最好能夠內(nèi)置于MODEM中,但是MicroPython如何能夠不影響到MODEM堆棧的運(yùn)行?