无意间看到淘宝的一款以Lua主打的GPRS硬件,非常便宜,也就15元人民币。虽然GSM/GPRS已经面临退市的问题,但是蜂窝数据通讯与物联网对于可编程硬件的需求一直没有任何变化:AT指令、蜂窝数据业务、TCP/IP通讯。
GSM/GPRS/CDMA退网后,物联网主流选择是Cat-M0(NB-IoT),Cat-M1(eMTC),以及LTE的各类单模、多模组合模块,使用各类VHLL(Very High Level Language),如Python/JavaScript/Lua/Java/.NET的方式会越来越多。
- Python我就不再重复了,以PyMite/Zerynth/MicroPython为主;
- JavaScript更多,我倒是担心日后会出现类似嵌入式Java一样的碎片化版本;
- Lua的案例有NodeMCU和国产LuaAT GPRS MODEM,还有德国Ethernut。
我曾经使用过C/C++开发过MODEM,但是开发效率实在不高。这里面的原因非常多。但是字符串处理和数据序列化的不便、以及使用者对于回调处理的不熟悉是主要原因。但是VHLL大多数在底层解决了这些问题。所以开发周期从月缩减至天。这就是面向应用的VHLL的最大好处:开发效率远超贴近硬件的C/C++。
相对而言,我觉的ARM mbed/Arduino应该选择一种合适的适合MCU的VHLL,我觉得Lua/PyMite比较合理,因为耗费资源相对较少。而且应该作为这两者的编译选项存在。
问题
相比之下,MicroPython我更加熟悉,但是需要增加一颗外置MCU,成本是个问题。最好能够内置于MODEM中,但是MicroPython如何能够不影响到MODEM堆栈的运行?