物联网正在快速发展。许多组织和公司推出了各自的开源技术平台,这里对几个影响力比较大的平台做一下介绍。
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
- 安全性:无
- 设备联动:无