[转]面向物联网的21个开源软件项目
Posted slashout
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[转]面向物联网的21个开源软件项目相关的知识,希望对你有一定的参考价值。
原文链接:https://my.oschina.net/RainyZou/blog/1605337
物联网市场呈现碎片化、无定形、不断变化的特点,其性质需要不仅仅像平常那样关注互操作性。开源在这方面表现不俗也就不足为奇了——客户犹豫不决,不敢将物联网的未来寄托在一种可能销声匿迹或变得难以定制、互联的专有平台上。
我在本文中介绍了主要的开源软件项目,专注于面向家庭和工业自动化的开源技术。我忽略了侧重垂直领域的与物联网有关的项目,比如Automotive Grade Linux和Dronecode,还忽视了面向互联网的开源操作系统发行版,比如Brillo、Contiki、Mbed、OpenWrt、Ostro、Riot、Ubuntu Snappy Core、UCLinux和Zephyr。下次我将介绍硬件项目:从智能家庭集线器,到面向物联网的开发板,不一而足。
下面介绍的21个项目包括Linux基金会管理的两大项目:AllSeen(AllJoyn)和OCF(IoTivity),以及将物联网传感器端点与网关和云服务连接起来的众多端到端框架。我还介绍了一小批针对物联网生态系统特定领域的小型项目。我们原本介绍更多的项目,但是越来越难厘清物联网软件与普通软件之间的区别。从嵌入式环境到云,越来越多的项目都带有物联网元素。
这21个项目都声称是开源,不过确保它们完全名至实归不在本文的范围之内。它们都在生态系统中的至少一个部分上运行Linux,大多数全面支持Linux,从开发环境到云/服务器、网关和传感器端点部件。绝大多数都有可以在Linux开发板(比如Raspberry Pi和BeagleBone)上运行的组件,许多支持Arduino。
物联网领域仍有许多专有技术,尤其是在自上而下的企业平台中。不过,连其中一些都提供部分开放的访问权。比如说,韦里逊的ThingSpace针对4G智慧城市应用,它有一套免费的开发API支持开发板,尽管核心平台本身是专有的。有点类似的是,亚马逊的AWS物联网套件有一套局部开放的设备SDK和开源入门套件。
其他主要的专有平台包括苹果的HomeKit和微软的Azure物联网套件。然后是拥有230个成员的Thread Group,该组织监管基于6LoWPAN的对等Thread网络协议。Thread Group由谷歌的母公司Alphbet旗下的Nest设立,并不提供像AllSeen和OCF那样的一套全面的开源框架。不过,它与Brillo有关联,与Weave物联网通信协议也有关联。5月份,Nest发布了一款名为OpenThread的开源版Thread(下面有介绍)。
下面是面向物联网的21个开源软件项目:
AllSeen Alliance(AllJoyn)
由AllSeen联盟(ASA)监管的AllJoyn互操作系统框架可能是市面上采用最广泛的开源物联网平台。
Bug Labs dweet和freeboard
Bug Labs以生产模块化、基于Linux的Bug硬件装置起家,但很早以前它就演变成了与硬件无关的企业级物联网平台。Bug Labs提供一种“dweet”消息及提醒系统和一款“freeboard”物联网设计应用软件。dweet使用HAPI Web API和JSON,有助于发布和描述数据。freeboard是一种拖放式工具,用于设计物联网仪表板和可视化元素。
DeviceHive
DataArt的基于AllJoyn的设备管理平台可在诸多云服务上运行,比如Azure、AWS、Apache Mesos和OpenStack。 DeviceHive专注于使用ElasticSearch、Apache Spark、Cassandra和Kafka,分析大数据。还有一个网关组件可在运行Ubuntu Snappy Core的任何设备上运行。模块化网关软件可与DeviceHive云软件和物联网协议进行联系,被部署成Snappy Core服务。
DSA
分布式服务架构(DSA)便于去中心化的设备互通、逻辑和应用程序。DSA项目正在构建分布式服务链路(DSLinks)库,以便支持协议转换、与第三方数据源整合数据。DSA提供一种可扩展的网络拓扑结构,这种拓扑结构包括在连接到分层代理层次体系的物联网边缘设备上运行的多个DSLinks。
Eclipse IoT(Kura)
Eclipse基金会的物联网工作围绕其基于Java/OSGi的Kura API容器和聚合平台,支持在服务网关上运行的M2M应用。Kura基于Eurotech的Everywhere Cloud物联网框架,常常与Apache Camel整合起来,后者是一种基于Java的、基于规则的路由和中介引擎。Eclipse物联网子项目包括Paho消息传送协议框架、面向轻量级服务器的Mosquitto MQTT架构和Eclipse SmartHome框架。还有一个基于Java、实现受限制的应用协议(CoAP)的项目,名为Californium。
Kaa
CyberVision支持的Kaa项目提供了一种可扩展的端到端物联网框架,它为云互联的庞大物联网网络而设计。该平台包括一种支持REST的服务器功能,可用于服务、分析和数据管理,通常部署成由Apache Zookeeper协调的节点集群。Kaa的端点SDK支持Java、C++和C开发,负责处理客户机/服务器通信、验证、加密、持久性和数据编排。SDK包括针对特定服务器、支持GUI的模式,这些模式可转换成物联网物件绑定。模式治理语义,并抽象一组迥异设备的功能。
Macchina.io
Macchina.io提供了一种“支持Web、模块化、可扩展的”javascript和C++运行时环境,可用于开发在Linux开发板上运行的物联网网关应用程序。Macchina.io支持一系列广泛的传感器和连接技术,包括Tinkerforge bricklet、XBee ZB传感器、GPS/GNSS接收器、串行和GPIO联网设备以及方向感应器。
GE Predix
GE面向工业物联网的平台即服务(PaaS)软件基于Cloud Foundry。它增添了资产管理、设备安全、实时预测分析,并支持不同数据的采集、存储和访问。GE Predix是GE为内部运营而开发的,它已成为最成功的企业物联网平台之一,收入大约60亿美元。GE最近与HPE达成了合作伙伴关系,HPE将把Predix整合到自己的服务中。
Home Assistant
这个作为后起之秀的草根项目提供了一种面向Python的家居自动化方法。
Mainspring
M2MLabs的基于Java的框架针对远程监控、车队管理和智能电网等应用领域中的M2M通信。与许多物联网框架一样,Mainspring高度依赖REST Web服务,并提供了设备配置和建模工具。
Node-RED
这种面向Node.js开发人员的可视化布线工具拥有基于浏览器的数据流编辑器,可用于设计物联网节点当中的数据流。然后,节点可以迅速部署成运行时环境,并使用JSON来存储和共享。端点可以在Linux开发板上运行,支持的云包括Docker、IBM Bluemix、AWS和Azure。
Open Connectivity Foundation(IoTivity)
英特尔和三星支持的开放互联联盟(OIC)组织和UPnP论坛组成的这个组织正在努力成为物联网方面领先的开源标准组织。OCF的开源IoTivity项目依赖充分利用的JSON和CoAP。
openHAB
OpenIoT
这款基于Java的OpenIoT中间件旨在使用一种公用云计算交付模式,为开放、大规模的物联网应用提供便利。除了表示物联网物件的本体、语义模型和标注外,该平台还包括传感器和传感器网络中间件。
OpenRemote
OpenRemote为家庭和楼宇自动化而设计,它以广泛支持众多智能设备和网络规范而出名,比如1-Wire、EnOcean、 xPL、Insteon和X10等规范。规则、脚本和事件都得到支持,还有基于云的设计工具,可用于用户界面、安装、配置、远程更新及诊断。
OpenThread
这是Nest最近从基于6LoWPAN的物联网Thread无线网络标准分离出来的开源项目,它还得到了ARM、Microchip旗下的Atmel、Dialog、高通和德州仪器的支持。OpenThread实现了所有Thread网络层,还实现了Thread的端点设备、路由器、Leader和边界路由器等角色。
Physical Web/Eddystone
谷歌的Physical Web让蓝牙低能耗(BLE)信标可以将URL发送到智能手机。它针对谷歌的Eddystone BLE信标经过了优化,这提供了除苹果的iBeacon之外的一种开放技术。其想法是,行人可以与任何具有BLE功能的支持性设备(比如汽车停放计时器、标牌或零售产品)联系。
PlatformIO
基于Python的PlatformIO包括IDE、项目生成器和基于Web的库管理器,它是为访问来自基于微控制器的Arduino和基于ARM Mbed的端点的数据设计的。它为200多种板卡提供了预先配置的设置,并与Eclipse、Qt Creator及其他IDE整合起来。
The Thing System
这种基于Node.js的智能家居“监管”软件声称支持真正的自动化,而不是简单的通知。其自学习人工智能软件可处理许多协同式M2M操作,不需要由人干预。缺少云组件恰恰提供了更好的安全性、隐私性和控制性。
ThingSpeak
成立五年的ThingSpeak项目专注于传感器日志、位置跟踪、触发器及提醒以及分析。ThingSpeak用户可以使用用于物联网分析和可视化的MATLAB版本,不需要向Mathworks购买许可证。
Zetta
Zetta是一种面向服务器的物联网平台,利用Node.js、REST和WebSockets构建而成,奉行基于数据流的“响应式编程”开发理念,用Siren超媒体API连接起来。设备被抽取成REST API,用云服务连接起来,这些服务包括可视化工具,并支持Splunk之类的机器分析工具。该平台可将Linux和Arduino开发板之类的端点与Heroku之类的云平台连接起来,以便构建地理分布式网络。
物联网(IoT)是帮助人工智能(AI)以更好的方式控制和理解事物的未来技术。 我们收集了一些最有名的物联网平台,帮助您以受控方式开发物联网项目。
物联网平台是帮助设置和管理互联网连接设备的组件套件。 一个人可以从一个系统远程收集数据,监控和管理所有连接互联网的设备。 物联网平台上有很多可用的在线平台,但为公司构建物联网解决方案都依赖于物联网平台主机和支持质量。
在这里,我们编译了一些最好的和着名的开源物联网(IoT)平台。 大多数这些平台都提供API来支持Linux开发板,如Raspberry Pi,Arduino和BeagleBone。
Kaa IoT Platform https://www.kaaproject.org/
它是功能丰富的开放和高效的物联网云平台。 任何物联网公司,物联网系统集成商或个人都可以免费实现其智能产品概念。 通过提供服务器和端点SDK组件,Kaa可以为连接的对象和后端基础架构提供数据管理。Kaa关键物联网功能:
管理无限数量的连接设备建立跨设备互操作性执行A/B服务测试 (随机将测试用户群分为2部分,用户群1使用A方案,用户群2使用B方案,经过一定测试时间后,根据收集到的两方案样本观测数据,根据显著性检验结果选取最好方案。)执行实时设备监控执行远程设备准备和配置收集并分析传感器数据分析用户行为可提供有针对性的通知为智能产品创建云服务
SiteWhere: Open Platform for the Internet of Thingshttp://www.sitewhere.org/
Sitewhere的工作架构和整合的东西
它是提供设备数据的摄取,存储,处理和集成的另一个开源IoT平台。 SiteWhere运行在Apache Tomcat提供的核心服务器上。 它提供高度调整的MongoDB和HBase实现。 它可以轻松与黑客板集成。SiteWhere关键的物联网功能:
在单个SiteWhere实例上运行任意数量的IoT应用程序Spring提供了核心配置框架用MQTT,AMQP,Stomp和其他协议连接设备通过自注册,REST服务或批量添加设备与第三方集成框架(如Mule AnyPoint)集成默认的数据库存储是MongoDBEclipse Californium进行CoAP消息传递InfluxDB用于事件数据存储Grafana可视化SiteWhere数据HBase用于非关系数据存储
ThingSpeak: An open IoT platform with MATLAB analyticshttps://thingspeak.com/
ThingSpeak是物联网(IoT)平台,可让您在不从Mathworks购买许可证的情况下分析和可视化MATLAB中的数据。 IT允许您收集和存储传感器数据并开发物联网应用程序。 它适用于Arduino,Particle Photon和Electron,ESP8266 Wifi模块,BeagleBone Black,Raspberry Pi,移动和网络应用,Twitter,Twilio和MATLAB,以将传感器数据传到ThingSpeak。 ThingSpeak主要关注传感器记录,位置跟踪,触发和警报以及分析
ThingSpeak开放源码物联网平台关键物联网特性
在私人渠道收集数据与公共频道共享数据RESTful和MQTT APIMATLAB分析和可视化警报事件调度应用程序集成全球社区DeviceHive: IoT Made Easyhttps://www.devicehive.com/
DeviceHive是另一种功能丰富的开源IoT平台,它在Apache 2.0许可下分发。 DeviceHive可以自由使用和更改。它提供了Docker和Kubernetes部署选项。您可以下载并使用公共云和私有云,也可以将单个虚拟机扩展到企业级群集。它可以通过REST API,WebSockets或MQTT连接到任何设备或黑客板。你甚至可以连接ESP8266这样的低端Wi-Fi设备。
DeviceHive开放源代码物联网平台的关键特性:
直接与Alexa整合您选择的可视化仪表板通过运行自定义JavaScript代码来自定义DeviceHive行为。它支持大数据解决方案,如ElasticSearch,Apache Spark,Cassandra和Kafka,用于实时和批处理。通过REST API,WebSockets或MQTT连接任何设备。它带有Apache Spark和Spark Streaming支持。支持用各种编程语言编写的库,包括android和ios库它允许在设备数据之上运行批量分析和机器学习。
Zetta: API-First Internet of Things Platformhttp://www.zettajs.org/
Zetta是一个基于Node.js构建的面向服务器的开源IoT平台。 Zetta结合了REST API,WebSockets和反应式编程。 它可以在单板计算机,个人电脑或云上运行,并且能够将诸如Linux,BeagleBones,Raspberry Pis,Arduino开发板和PC等不同平台与Heroku等云平台连接在一起,以创建地理分布式网络。 您还可以将数据传输到Splunk等机器分析平台。Zetta开源的物联网平台的关键特性:基于Node.js,REST,WebSockets和基于流的“响应式编程”构建。支持广泛的开发板Zetta允许您组装智能手机应用程序,设备应用程序和云应用程序
DSA: Open Source Platform & “Toolkit” for Internet Of Things Deviceshttp://www.iot-dsa.org/
分布式服务体系结构(DSA)是一个开源的物联网平台,它将结构化和实时数据模型中的各个设备,服务和应用程序统一起来。它有利于分散设备的互通,逻辑和应用程序。 DSA社区构建了一个图书馆分布式服务链接,允许协议翻译和数据集成到第三方数据源和从第三方数据源进行数据集成所有DSA模块都很轻便,可以将DSBroker,多个DSLink和客户端Web应用程序连接到相同的低功率设备上,例如Raspberry PI,Beaglebone black或任何其他类似的计算平台。这个基于NodeAPI,DSLink和DSBroker的开源IoT平台。计划为第三方处理系统提供Analytics(分析)支持的DSA社区包括R Project,RDBMS,JDBC SQL passthrough和预准备语句,Haystack DSLink,Niagara DSLink,OS X DSLink,Windows DSLink和nix DSLink
DSA开源IoT平台的关键特性:
指定M2M授权生命周期公开WebSocket / HTTP端点以订阅来自代理的节点和值更改实施DSA查询DSL硬件集成支持:Dreamplug,Beaglebone,Raspberry PI,Android DSLink,OS X DSLink,Windows DSLink和nix DSLink该平台建立在三个轻量级模块
Thingsboard.io Open-source IoT Platformhttps://thingsboard.io/
Thingsboard是100%开源的IoT平台,可以作为SaaS或PaaS解决方案托管它。 IT为您的物联网项目提供设备管理,数据收集,处理和可视化。 它支持提供设备连接的标准协议是MQTT,CoAP和HTTP,并支持云和本地部署。 它提供了30多个可自定义的小部件,允许您为大多数物联网用例构建最终用户自定义仪表板。
thingsboard.io开源的物联网平台主要特点:
实时数据可视化和远程设备控制自定义仪表板的30个可定制小部件可定制的规则,插件,小部件和传输实现允许监视客户端和提供服务器端设备属性。支持多租户安装即装即用。支持MQTT和HTTP协议的传输加密。失败的节点可以在没有停机的情况下进行更换
Thinger.io: The Opensource Platform for Internet of thingshttps://thinger.io/
Thinger.io是IoT的开源平台,可为连接设备或物品提供可扩展的云基础架构。 您可以使用管理控制台轻松控制它们,或使用其REST API将它们集成到项目逻辑中。 IT支持所有类型的黑客板,如Arduino,ESP8266,Raspberry Pi,Intel Edison。
Thinger.io开源的物联网平台主要特点:
实时仪表板Docker和IFTT集成云准备好了将服务器安装在您自己的云中,并使用开放源代码库连接您的设备。WSo2- Open source platform for Internet of Things and mobile projectshttps://wso2.com/iot
WSo2 Build允许公开API来为移动应用提供支持,允许用户监控和控制他们的设备。 您可以将其与现有的身份系统集成,或使用他们的身份系统。 该物联网平台还支持几乎所有已知的开发板设备,如Raspberry Pi,Arduino Uno等。边缘计算由WSO2 Siddhi提供支持。
设备通信支持的协议包括MQTT,HTTP,Websockets和XMPP协议以及用于添加更多协议和数据格式的IoT Server Framework扩展。
WSo2开源的物联网平台主要特点:
通过WSO2数据分析服务器(DAS),它支持批量,交互式,实时和预测性分析。基于位置的服务(地理围栏)和警报作为可重用的功能MQTT,HTTP,Websockets和XMPP协议为多个注册设备配置/取消配置应用程序为iOS,Android和Windows设备实施自助设备注册和管理分配和管理设备的应用程序/固件分组,管理和监视连接的设备API驱动的设备类型定义查看单个或多个设备的即时可视化统计信息Stats-API编写您自己的可视化文件预制的普通传感器图
开源的物联网平台比较表IoT 软件平台设备管理?集成安全数据收集协议分析支持可视化?数据库Kaa IoT PlatformYesPortable SDK available to integate any particular platfrom, REST APILink Encryption (SSL), RSA key 2048 bits, AES key 256 bitsMQTT, CoAP, XMPP, TCP, HTTP通过Kaa,Apache Cassandra和Apache Zappelin进行实时物联网数据分析和可视化YesMongoDB, Cassandra, Hadoop, Oracle NoSQLSiteWhereYesREST API, Mule AnyPoint, and moreLink Encryption (SSL), Spring SecurityMQTT, AMQP, Stomp, WebSockets, and direct socket connectionsReal-time analytics (Apache Spark)NoMongoDB, HBase , InfluxDBThingSpeakNoREST and MQTT APIsBasic AuthenticationHTTPMATLAB AnalyticsNomysqlDeviceHive*Unknown REST AP, MQTT APIsBasic Authentication using JSON Web Tokens (JWT)REST API, WebSockets or MQTTReal-time analytics (Apache Spark)YesPostgreSQL ,SAP Hana DBZettaNoREST APIsBasic AuthenticationHTTPUsing SplunkNoUnknownDistributed Services Architecture (DSA)NOREST APIsBasic AuthenticationHTTPNoNoETSDB – Embedded Time SeriesThingsboard.ioYesREST APIsBasic AuthenticationMQTT, CoAP and HTTPReal time analytics(Apache Spark, Kafka)NoCassandraThinger.ioYesREST APIsLink Encryption (SSL/TLS) and basic authenticationMQTT, CoAP and HTTPYesNoMongodBWSo2YesREST APIsLink Encryption (SSL) and basic authenticationHTTP, WSO2 ESB, MQTTYes, WSO2 Data Analytics ServerYesOracle, PostgreSQL, MySQL, or MS SQL
————————————————版权声明:本文为CSDN博主「shnbiot」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/shnbiot/article/details/80432017
以上是关于[转]面向物联网的21个开源软件项目的主要内容,如果未能解决你的问题,请参考以下文章
国内首个开源物联网边缘工业协议网关软件,Neuron v2.0 产品解读
开源工业物联网数据库 Apache IoTDB 毕业成为 Apache 顶级项目!