物联网市场呈现碎片化、无定形、不断变化的特点,其性质需要不仅仅像平常那样关注互操作性。开源在这方面表现不俗也就不足为奇了——客户犹豫不决,不敢将物联网的未来寄托在一种可能销声匿迹或变得难以定制、互联的专有平台上。
在本文中介绍了主要的开源软件项目,专注于面向家庭和工业自动化的开源技术。我忽略了侧重垂直领域的与物联网有关的项目,比如AutomotiveGradeLinux和Dronecode,还忽视了面向互联网的开源操作系统发行版,比如Thingsboard、Brillo、Contiki、Mbed、OpenWrt、Ostro、Riot、UbuntuSnappyCore、UCLinux和Zephyr。下次我将介绍硬件项目:从智能家庭集线器,到面向物联网的开发板,不一而足。
下面介绍的23个项目包括Linux基金会管理的两大项目:AllSeen(AllJoyn)和OCF(IoTivity),以及将物联网传感器端点与网关和云服务连接起来的众多端到端框架。我还介绍了一小批针对物联网生态系统特定领域的小型项目。我们原本介绍更多的项目,但是越来越难厘清物联网软件与普通软件之间的区别。从嵌入式环境到云,越来越多的项目都带有物联网元素。
这23个项目都声称是开源,不过确保它们完全名至实归不在本文的范围之内。它们都在生态系统中的至少一个部分上运行Linux,大多数支持Linux,从开发环境到云/服务器、网关和传感器端点部件。绝大多数都有可以在Linux开发板(比如RaspberryPi和BeagleBone)上运行的组件,许多支持Arduino。
物联网领域仍有许多专有技术,尤其是在自上而下的企业平台中。不过,连其中一些都提供部分开放的访问权。比如说,韦里逊的ThingSpace针对4G智慧城市应用,它有一套免费的开发API支持开发板,尽管核心平台本身是专有的。有点类似的是,的AWS物联网套件有一套局部开放的设备SDK和开源入门套件。
其他主要的专有平台包括苹果的HomeKit和微软的Azure物联网套件。然后是拥有230个成员的ThreadGroup,该组织监管基于6LoWPAN的对等Thread网络协议。ThreadGroup由谷歌的母公司Alphbet旗下的Nest设立,并不提供像AllSeen和OCF那样的一套的开源框架。不过,它与Brillo有关联,与Wee物联网通信协议也有关联。5月份,Nest发布了一款名为OpenThread的开源版Thread(下面有介绍)。
下面是面向物联网的23个开源软件项目:
Thingsboard
Thingsboard是一个开源的物联网平台,在中文网络上内容不多。虽然声称致力于提供开箱即用的产品快速开发和管理服务,但其用户手册的可读性还待提高。作为一个开源平台,用户既可以使用其官方demo服务器,也可以在本地(甚至是一块树莓派)运行
AllSeenAlliance(AllJoyn)
由AllSeen联盟(ASA)监管的AllJoyn互操作系统框架可能是市面上采用*广泛的开源物联网平台。
BugLabsdweet和freeboard
BugLabs以生产模块化、基于Linux的Bug硬件装置起家,但很早以前它就演变成了与硬件无关的企业级物联网平台。BugLabs提供一种“dweet”消息及提醒系统和一款“freeboard”物联网设计应用软件。dweet使用HAPIWebAPI和JSON,有助于发布和描述数据。freeboard是一种拖放式工具,用于设计物联网仪表板和可视化元素。
DeviceHive
DataArt的基于AllJoyn的设备管理平台可在诸多云服务上运行,比如Azure、AWS、ApacheMesos和OpenStack。DeviceHive专注于使用ElasticSearch、ApacheSpark、Cassandra和Kafka,分析大数据。还有一个网关组件可在运行UbuntuSnappyCore的任何设备上运行。模块化网关软件可与DeviceHive云软件和物联网协议进行联系,被部署成SnappyCore服务。
DSA
分布式服务架构(DSA)便于去中心化的设备互通、逻辑和应用程序。DSA项目正在构建分布式服务路(DSLinks)库,以便支持协议转换、与第三方数据源整合数据。DSA提供一种可扩展的网络拓扑结构,这种拓扑结构包括在连接到分层代理层次体系的物联网边缘设备上运行的多个DSLinks。
EclipseIoT(Kura)
Eclipse基金会的物联网工作围绕其基于Ja/OSGi的KuraAPI容器和聚合平台,支持在服务网关上运行的M2M应用。Kura基于Eurotech的EverywhereCloud物联网框架,常常与ApacheCamel整合起来,后者是一种基于Ja的、基于规则的路由和中介引擎。Eclipse物联网子项目包括Paho消息传送协议框架、面向轻量级服务器的MosquittoMQTT架构和EclipseSmartHome框架。还有一个基于Ja、实现受限制的应用协议(CoAP)的项目,名为Californium。
Kaa
CyberVision支持的Kaa项目提供了一种可扩展的端到端物联网框架,它为云互联的庞大物联网网络而设计。该平台包括一种支持REST的服务器功能,可用于服务、分析和数据管理,通常部署成由ApacheZookeeper协调的节点集群。Kaa的端点SDK支持Ja、C++和C开发,负责处理客户机/服务器通信、验证、加密、持久性和数据编排。SDK包括针对特定服务器、支持GUI的模式,这些模式可转换成物联网物件绑定。模式治理语义,并抽象一组迥异设备的功能。
Macchina.io
Macchina.io提供了一种“支持Web、模块化、可扩展的”JaScript和C++运行时环境,可用于开发在Linux开发板上运行的物联网网关应用程序。Macchina.io支持一系列广泛的传感器和连接技术,包括Tinkerforgebricklet、XBeeZB传感器、GPS/GNSS接收器、串行和GPIO联网设备以及方向感应器。
GEPredix
GE面向工业物联网的平台即服务(PaaS)软件基于CloudFoundry。它增添了资产管理、设备安全、实时预测分析,并支持不同数据的采集、存储和访问。GEPredix是GE为内部运营而开发的,它已成为*成功的企业物联网平台之一,收入大约60亿美元。GE*近与HPE达成了合作伙伴关系,HPE将把Predix整合到自己的服务中。
HomeAssistant
这个作为后起之秀的草根项目提供了一种面向Python的家居自动化方法。
Mainspring
M2MLabs的基于Ja的框架针对远程监控、车队管理和智能电网等应用领域中的M2M通信。与许多物联网框架一样,Mainspring高度依赖RESTWeb服务,并提供了设备配置和建模工具。
Node-RED
这种面向Node.js开发人员的可视化布线工具拥有基于浏览器的数据流编辑器,可用于设计物联网节点当中的数据流。然后,节点可以迅速部署成运行时环境,并使用JSON来存储和共享。端点可以在Linux开发板上运行,支持的云包括Docker、IBMBluemix、AWS和Azure。
OpenConnectivityFoundation(IoTivity)
英特尔和三星支持的开放互联联盟(OIC)组织和UPnP论坛组成的这个组织正在努力成为物联网方面的开源标准组织。OCF的开源IoTivity项目依赖充分利用的JSON和CoAP。
openHAB
OpenIoT
这款基于Ja的OpenIoT中间件旨在使用一种公用云计算交付模式,为开放、大规模的物联网应用提供便利。除了表示物联网物件的本体、语义模型和标注外,该平台还包括传感器和传感器网络中间件。
OpenRemote
OpenRemote为家庭和楼宇自动化而设计,它以广泛支持众多智能设备和网络规范而出名,比如1-Wire、EnOcean、xPL、Insteon和X10等规范。规则、脚本和事件都得到支持,还有基于云的设计工具,可用于用户界面、安装、配置、远程更新及诊断。
OpenThread
这是Nest*近从基于6LoWPAN的物联网Thread无线网络标准分离出来的开源项目,它还得到了ARM、Microchip旗下的Atmel、Dialog、高通和德州仪器的支持。OpenThread实现了所有Thread网络层,还实现了Thread的端点设备、路由器、Leader和边界路由器等角色。
PhysicalWeb/Eddystone
谷歌的PhysicalWeb让蓝牙低能耗(BLE)信标可以将URL发送到智能手机。它针对谷歌的EddystoneBLE信标经过了优化,这提供了除苹果的iBeacon之外的一种开放技术。其想法是,行人可以与任何具有BLE功能的支持性设备(比如汽车停放计时器、标牌或零售产品)联系。
PlatformIO
基于Python的PlatformIO包括IDE、项目生成器和基于Web的库管理器,它是为访问来自基于微控制器的Arduino和基于ARMMbed的端点的数据设计的。它为200多种板卡提供了预先配置的设置,并与Eclipse、QtCreator及其他IDE整合起来。
TheThingSystem
这种基于Node.js的智能家居“监管”软件声称支持真正的自动化,而不是简单的通知。其自学习人工智能软件可处理许多协同式M2M操作,不需要由人干预。缺少云组件恰恰提供了更好的安全性、隐私性和控制性。
ThingSpeak
成立五年的ThingSpeak项目专注于传感器日志、位置跟踪、触发器及提醒以及分析。ThingSpeak用户可以使用用于物联网分析和可视化的MATLAB版本,不需要向Mathworks购买许可证。
Zetta
Zetta是一种面向服务器的物联网平台,利用Node.js、REST和WebSockets构建而成,奉行基于数据流的“响应式编程”开发理念,用Siren超媒体API连接起来。设备被抽取成RESTAPI,用云服务连接起来,这些服务包括可视化工具,并支持Splunk之类的机器分析工具。该平台可将Linux和Arduino开发板之类的端点与Heroku之类的云平台连接起来,以便构建地理分布式网络。
- 物联网平安城市APP系统-漫云科技-交易平台快速上线定制开发 2024-11-27
- 物联网软件系统定制APP系统-漫云科技-搭建效果案例定制一站式服务 2024-11-27
- 物联网智能建筑APP系统-漫云科技-系统开发快速上线定制开发 2024-11-27
- 物联网应用软件开发APP系统-漫云科技-行业软件源码开发一站式服务 2024-11-27
- 物联网智能建筑APP系统-漫云科技-搭建效果快速上线定制开发 2024-11-27
- 物联网应用解决方案APP系统-漫云科技-开发公司快速上线定制开发 2024-11-27
- 物联网商业智能APP系统-漫云科技-行业软件快速上线定制开发 2024-11-27
- 物联网应用软件开发APP系统-漫云科技-开发公司案例定制一站式服务 2024-11-27
- 系统开发源码开发现成案例 2024-11-27
- 物联网商业智能APP系统-漫云科技-系统开发源码开发一站式服务 2024-11-27