MicroPython作为一个教具或玩具是合格的。但是要在商业环境中生存,除了开发速度快之外,还需要迎合商业需求。这包括:
- 知识产权,包括专利与商业机密;
- 稳定性,需要严密测试及异常处理;
- 功能复杂度和完整度;
- 应用分发的成本和渠道;
- 系统安全性。
知识产权
在C/C++/Java语言为主导的环境中,代码往往是二进制,且MCU可以做到加密。而MicroPython大多数情况下采用源码,底层需要采用mpy-cross和其他方式保护支持产权。
稳定性
MicroPython的作者声明他为欧空局设计航太设备中使用了MicroPython。至少说明,专业的设计配和严密的测试,是可以兑现系统稳定性要求的。但是网络上大量教程都是来自原EE背景的工程师提供的,甚至作者本身的异常处理也没有提供足够的代码。
功能复杂度和完整度
教程仅仅是教程,实际上距离产品化还有大量工作要做。例如:
- 【自动配置】WiFi AP BSSID的配置和一键式配置;
- 【初始化】NTP网络授时;
- 【云端接口】云端接口对接所需TLS证书和配置;
- 【数据持久】写入、检索和读出;
- 【固件升级】验证与升级。
- 【自动生产】个性化、二维码与串号录入等。
所以即使使用易学易用的Python来编程,这些因素也必须得到满足。
应用分发的成本和渠道
以源码方式分发应用有许多限制。需要配合Git之类的工具进行管理。观察到有些自动分发的尝试,虽然VHLL对硬件已经做了最大程度的抽象化,但是嵌入式系统非标准化会增加不少困难。
虽然像构建一个Embedded AppStore/Market可能有些麻烦,但是却可以通过这些工具做持续交付。
系统安全性
TLS证书无论是HTTP/MQTT都是必须的。但是MicroPython(ESP8266)底层虽然集成了mbedTLS,但是MicroPython版本依然受到限制。
网友评论