物联网平台系列

物联网正在快速发展。许多组织和公司推出了各自的开源技术平台,这里对几个影响力比较大的平台做一下介绍。
 
AllJoyn
 
AllJoyn是一个由Allseen联盟赞助的开源软件框架,基于邻近感应,支持互操作性,各种设备都可以直接相互查找、连接和通信,而无需借助中间服务器。
 
- 许可协议:Apache2.0、BSD
- 开发语言:C,C ++,OBJ-C,Java
- 系统平台:Arduino,Linux,Android,iOS,Windows,Mac
- 硬件平台:MCU、ARM、PC
- 最小硬件:无
- 开发板支持:无
- 通信协议:无
- 通信技术:无线网络连接,以太网,串口,电源线(PLC)
- 安全性:同行对等加密(AES128)和身份验证(PSK,ECDSA)
- 设备联动:无
 

           

 
IoTivitiy
 
IoTivity 是由 Open Interconnect Consortium (OIC) 组织资助的一个开源的软件框架,用于无缝的支持设备到设备的互联,主要为了满足物联网开发的需要。构建物联网的生态系统,使得设备和设备之间可以安全可靠的连接。而 IoTivity 通过提供一系列框架和服务来加速设备的互联应用开发。
 
- 许可协议:Apache 2.0
- 开发语言:C,C++,Java
- 系统平台:Linux、Arduino
- 硬件平台:ARM
- 最小硬件:无
- 开发板支持:Arduino、RaspberryPi、ARTIK、MinnowBoardMax、Intel Edison
- 通信协议:UDP+CoAP
- 通信技术:不限
- 安全性:Secure Resource Manager
- 设备联动:无
 
Apache Mynewt
 
Apache Mynewt是由Apache Software Foundation孵化支持的开源项目。是一个为32位微控制器(MCU)设计的组合式操作系统,目标是为各种不能运行Linux的高端微控制器带来类似Linux的功能。
 
- 许可协议:Apache 2.0
- 开发语言:C
- 系统平台:Apache Mynewt
- 硬件平台:MCU
- 最小硬件:无
- 开发板支持:STM32-E407
- 通信协议:HTTPD、CoAP
- 通信技术:Wi-Fi、IPv6/6LoWPAN、BLE4.2
- 安全性:无
- 设备联动:无
 
 
The Thing System
 
The Thing System是一组软件组件和协议的集合,用来实现物联网各种设备间的决策问题。其中的管家(steward)软件使用node.js编写,移植和扩展都很方便,既可以在笔记本上运行,也可以安装到Raspberry Pi这样的单板上。
The Thing System由The Thing社区维护,社区的两位创办人为Alasdair Allan和Marshall t. Rose。
 
- 许可协议:无
- 开发语言:JavaScript
- 系统平台:不限
- 硬件平台:PC、ARM
- 最小硬件:无
- 开发板支持:Raspberry Pi, the Raspberry Pi B+ 和BeagleBone Black
- 通信协议:无
- 通信技术:不限
- 安全性:无
- 设备联动:联动
 
IoT.js
 
IoT.js平台是三星的物联网开发框架,使用JerryScript引擎来运行JavaScript代码,使用libuv库来实现异步I/O。JerryScript是一个适用于嵌入式设备的小型JavaScript引擎。
 
- 许可协议: Apache 2.0
- 开发语言: JavaScript
- 系统平台: RTOS、Linux
- 硬件平台:MCU
- 最小硬件:200K FLASH,64K RAM
- 开发板支持:Raspberry Pi 2, ST board
- 通信协议:无
- 通信技术:不限
- 安全性:无
- 设备联动:无
 
Brillo
 
Brillo 是Google推出的一个轻量级的,开放的,可扩展的,基于 Android,为适应物联网设备低功耗、低资源占用的特性而定制的系统。 Brillo 系统与 Weave 协议(一个开放的,支持各种搜索,配置和认证功能的标准化通信协议)协同工作。
 
- 许可协议:BSD
- 开发语言:Android开发
- 系统平台:Brillo
- 硬件平台:ARM, Intel x86, MIPS-based MCU
- 最小硬件:128MB FLASH,32MB RAM
- 开发板支持:Intel Edison、Qualcomm Dragonboard 410c
- 通信协议:Weave
- 通信技术:不限
- 安全性:无
- 设备联动:设备间可以自己互动
    
 
MicroPython
 
Micro Python运行在微控制器上的Python。遵守MIT协议。由剑桥大学的理论物理学家乔治·达明设计。和Arduino类似,但Micro Python更强大。
MicroPython由Kickstarter上的一个众筹项目资助。
 
- 许可协议:MIT协议
- 开发语言:Python
- 系统平台:MicroPython
- 硬件平台:ARM
- 最小硬件:1 MB FLASH,192 KB RAM
- 开发板支持:pyboard
- 通信协议:无
- 通信技术:Wi-Fi
- 安全性:无
- 设备联动:无
 
 
NodeMCU
 
NodeMCU 是一款开源快速硬件原型平台,包括固件和开发板,用几行简单的Lua脚本就能开发物联网应用。
 
- 许可协议:无
- 开发语言:Lua
- 系统平台:NodeMCU
- 硬件平台:MCU
- 最小硬件:4MB FLASH,35KB RAM
- 开发板支持:NodeMCU
- 通信协议:无
- 通信技术:Wi-Fi
- 安全性:无
- 设备联动:无
 
 
总结:
 
以下从硬件兼容、主流通信技术支持程度、社区成熟度、开发板支持等方面做个总结。
- AllJoyn是最早开源的平台,也是联盟厂商最多的,业界影响力比较大,社区也比较完善;WiFi和BLE都支持?对开发板支持不太好,不太适合个人开发者原型开发,适合厂商作为前沿研究方向;
- IoTivitiy从架构设计上来看最接近现有的实现方式,适合整合现有的设备以及云端,对开发板的支持也比较好,但是看起来社区成熟度不高;
- Apache Mynewt的设计中对未来各种物联网的通信方式的兼容性很好,目标是未来物联网设备的主流系统,目前仍处早期,开发板支持不好;
- The Thing System是唯一一个志在实现设备联动策略的系统,而且对开发板支持很好;
- IoT.js是三星开放的用JavaScript开发的物联网平台,目前的嵌入式设备JavaScript还不会是主流,但是可以作为未来前沿研究方向;
- Brillo是Google的开放平台,兼容多数设备,但对硬件配置要求比较高,开发板支持也不太好;
- MicroPython和NodeMCU都属于比较小众的物联网平台,比较适合做未来技术储备;
 
原文地址:https://www.cnblogs.com/m2mer/p/5828756.html