目前这个领域的大趋势是:物联网芯片有望走向趋同,物联网开发环境与技术有望趋同。3.1 物联网芯片早期由于成本所限,物联网领域使用的芯片总是表现得非常缺资源,很难找到一个各方面(计算资源、接口、使用温度、通讯协议等)都比较合适的芯片去适应普遍的场景。随着半导体门槛逐步降低,中国半导体制造业逐步成型,芯片资源开始走向富余,其中的代表芯片是MTK的MT7697、MT7688和乐鑫的ESP32。MT7697主要参数为:ARM Cortex M4 CPU,带浮点单元,最大主频192Mhz,内存为256KB SRAM,可配置4MB以上的存储空间,芯片内嵌WiFi和BLE 4.2,有足够的接口,并能够适应工业级的使用温度。MT7688主要参数为:MIPS 580Mhz CPU,内存最大支持256MB,可配置16GB级别的存储空间,芯片内嵌WiFi,接口除模拟接口之外数字接口丰富,价格在几十元,功耗较高不适于电池长期使用。但是非常有优势的是其提供的Linux开发环境,能够让开发者有一种在普通x86机器上使用linux CLI的体验,Node.js、MySQL、OpenCV、Nginx等等在阿里云上怎么用,在这个几十块的物联网小模块上也怎么用。

稳定性超强,几年不死机也是正常的。ESP32的主要参数为:Tensilica LX6 CP,主频240 MHz,内存为520KB SRAM,可配置4MB以上的存储空间,芯片内嵌WiFi和蓝牙以及BLE,有足够的接口,并能够适应工业级的使用温度。这几颗芯片共同的特征是计算资源和通讯能力以及接口资源相对于传统MCU来说有足够的富余,并保持在同样的价位。因此,在这类芯片上,有足够的资源做抽象化的封装和开发框架实施。我们看到除了这几颗芯片原厂提供的传统嵌入式开发包之设备。这样做的好处主要在于提高开发效率和形成可以复用的应用代码。python开源社区操作系统虽然市场上存在的设备端操作系统有数十种之多,但是我们看到活跃的,明显向“软件定义物联网”方向发展的有三家:ZephyrZephyr是Linux基金会于2016年2月发布的物联网操作系统,背后主要的支持力量来自于ARM和Linaro,具有目前嵌入式小型实时操作系统的普遍特征,比如:轻量到KB级的最小系统内存占用,支持多种芯片构架:从ARM Cortex-M、Intel x86、ARC(DSP 内核)、NIOS II(FPGA 软核)到开源的RISC V等,跟Linux一样的模块化内核组织方式,如图2所示。
Zephyr目前已经升级到V1.7版本,逐步向一个可以用到生产环境的系统靠拢了。Zephyr最大的特色并不在于其完备性而在于其开发理念完全来自于“软件定义物联网”,并且有很好的资源支持,在未来应该会有自己的位置。RTthreadRTthread是纯国产的小型操作系统,植根于中国的各种使用场景,10年来已经确立了自己的地位,在很多行业有自己的一席之地,目前社区非常活跃,核心团队以创业公司的形式推进,非常专注。技术上的特征作为一个成熟的系统,没有什么可以吐槽的地方。Zephyr有的技术优势RTT都有,而且RTT在生产环境的装机量较为可观。华为LiteOS华为是全球范围内物联网技术的根源厂商之一,LiteOS是一个华为内部很多产品都在用的系统,目前也以开源的形式在全力推广。LiteOS最大的优势在于华为很多根源技术将利用LiteOS进行输出,目前最大的例子就是即将全面商用的NB-IoT技术,设备端的开发包将会用LiteOS输出。以上几个系统一致的特点包括小型化、芯片适应范围广、通信协议适配比较广泛等,他们也都是开源的系统,研发或推动力量比较活跃。有可能在物联网领域里的类似Linux地位的主流操作系统会是其中某个,也或许会一直都存在下去但是在技术上越来越趋同。
开发框架首先解释一下开发框架,开发框架可以小到是一个细节的工具,也可以大到规定开发的全部边界。python开源社区最典型的例子是Android,纯粹操作系统意义上,Android是Linux的一个分支,但是从App开发角度,除NDK之外,没有任何与Linux打交道的地方,所以也把Android叫做操作系统。再广泛地看,Android除了面向手机应用的开发框架,还准备了Google play这样的应用分发渠道,这是开发者生态建设。同理,我们看Node.js在后端的种种开发模式,也是将所有后端资源都封装到JavaScript里,开发时可以随时npm install各种包来require,解决了代码复用问题。因此我的观点是,开发框架以及背后的代码复用和开发者生态 更多最新资讯请关注python培训
[1] [2]
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-69906-2.html