11 个开源物联网(IoT)平台和工具
一些最好的物联网平台和工具,用于数据收集、处理、可视化和设备管理。
物联网平台和工具被视为物联网生态系统中最重要的组成部分。任何物联网设备允许连接到其他物联网设备和应用程序,使用标准的internet协议传递信息。物联网平台填补了设备传感器和数据网络之间的差距。它将数据连接到传感器系统,并使用后端应用程序提供洞察力,以创造由多个传感器生成的大量数据的感觉。
物联网是技术的未来,可以帮助人工智能以更强大的方式调节和理解事物。
我们选择了一些最知名的物联网平台和工具,以有组织的方式开发物联网项目。
openremote
openremote 是唯一的100%开源物联网设备管理平台,适用于广泛的应用,并经过大型制造商和系统集成商的专业验证。
总结最重要的特点:
- 通用资产和属性模型,用于定义您自己的资产类型
- 自动设备配置(适用于设备制造商)用于大规模实施
- 协议代理,如http rest或mqtt,用于连接物联网设备、网关、数据服务,或构建缺失的特定于供应商的api。
- 多领域多租户解决方案,结合帐户管理和身份服务。
- 用于数据处理的流程编辑器,以及基于事件的规则的when-then和groovy ui。
- 洞察力仪表板构建器,用于创建独立的监视和控制应用程序,无需编码。
- web ui组件,高效构建客户特定的应用程序。
- 边缘网关解决方案,通过安全隧道将多个实例连接到中央管理实例。
- 具有工作流选项的警报和任务模型,例如在维护系统中创建通知或webhooks。
- android和ios控制台允许您连接到手机服务,例如地理围栏和推送通知。
- 面向专业客户的自动化ci/cd流水线
node-red
node-red是一个用于连接物联网设备、api和在线服务的可视化工具。基于node.js构建的node-red自称为“一种用于连接物联网的可视化方式”。
它提供了开发人员使用基于浏览器的流程编辑器连接设备、服务和api的能力。它可以在raspberry pi上运行,并提供超过60,000个模块来增加其功能。
flutter
flutter是一款用于电子项目的可编程处理器核心,专为学生和工程师设计。flutter的成功之处在于其长距离传输能力。这款基于arduino的板载无线发射器的传输距离可以超过半英里。此外,您不需要路由器;flutter板可以快速相互交互。
它包含256位aes加密,使用起来非常简单。以下是一些其他功能。
- 快速性能
- 富有表现力和灵活的用户界面
- 本地性能
- 现有小部件的视觉效果和功能。
arduino
如果您希望创建一台与普通独立计算机相比,可以更好地感知和控制现实世界的计算机,那么arduino可能是您明智的选择。
arduino是一个简单易用的物联网平台,提供了适当的物联网硬件和软件。它通过一系列硬件规格来实现与交互式电子设备的连接。arduino的软件采用arduino编程语言和集成开发环境(ide)的形式。
m2mlabs mainspring
m2mlabs mainspring是一个用于开发机器对机器(m2m)应用程序的应用框架,例如远程控制、车队管理或智能终端。它的功能包括设备的灵活设计、设备结构、机器与应用程序之间的连接、数据的验证和标准化、长期数据存储库和数据检索功能。
它基于java和apache cassandra nosql数据库。m2m应用程序可以在几小时内建模,然后传递到基于标准j2ee服务器和高度可扩展的apache cassandra数据库构建的高性能执行环境。
thingsboard
thingsboard用于数据收集、处理、可视化和设备管理。它支持所有标准的物联网协议,如coap、mqtt和http,以及云和本地部署。它基于设计生命周期事件、rest api事件、rpc请求构建工作流程。
让我们来看看以下thigsboard的功能。
- 稳定的平台,结合了可扩展性、生产力和容错性。
- 在一个极其安全的系统中轻松控制所有连接的设备
- 转换和标准化设备输入,并生成有关所有遥测事件、恢复和非活动的警报。
- 使用可定制的规则组实现使用状态特定的功能。
- 同时处理数百万个设备。
- 没有单点故障,因为捆绑包中的每个节点都是准确的。
- 即插即用的多租户安装。
- 三十个高度定制的仪表板小部件,以实现用户访问。
kinoma
kinoma是marvell semiconductor的硬件原型平台,包括三个不同的开源项目。kimona create是用于原型设计电子设备的diy构建套件。kimona studio是与set up和kinoma platform runtime配合使用的开发环境。kimona connect是一个免费的ios和android应用程序,用于将智能手机和支架与物联网设备连接起来。
kaa物联网平台
kaa是一个可用于建立端到端物联网解决方案、连接的应用程序和智能设备的生产就绪、灵活多用途的中间件平台。它提供了在连接和智能设备中进行有效通信、处理和互操作能力的全面方法。
它适用于小型创业公司到大型企业,并为多云iot解决方案提供先进的部署模型。它主要基于灵活的微服务,并可以满足几乎任何需求和应用 – 其他功能如下。
- 促进设备间互操作性。
- 执行实时设备控制,远程设备配置和结构。
- 为智能产品创建云服务
- 包含基于主题的警报系统,以使最终用户可以向订阅的终端递送任何预定义格式的消息。
- 执行实时设备监控
- 管理无限数量的连接设备
- 收集和分析传感器数据
sitewhere
sitewhere平台提供设备输入的摄取、存储、处理和同化。它在apache tomcat上运行,并提供高度调整的mongodb和hbase实现。您可以将sitewhere部署到aws、azure、gcp或本地。它还支持kubernetes集群配置。
以下是其他一些功能。
- 在单个sitewhere实例上运行任何数量的iot应用
- spring提供根配置框架。
- 通过自注册、rest服务或批处理添加小部件。
- 使用influxdb存储事件数据
- 使用mqtt、stomp、amqp和其他协议连接设备
- 集成第三方集成框架
- 使用eclipse californium进行coap消息传递
- 使用hbase进行非关系型数据存储
- 使用grafana可视化sitewhere数据
dsa
分布式服务架构(dsa)用于在iot基础架构的每个环节实施设备间通信、逻辑和协作。它允许设备以分布式方式合作,并为网络工程师设置了在离散计算系统之间共享功能的网络。
您可以通过dslinks管理节点属性、权限和链接。
thinger
thinger.io提供了一个可扩展的云平台,用于连接设备。您可以通过运行管理控制台或使用其rest api将其快速处理,将其与项目逻辑相结合。它支持各种类型的开发板,如raspberry pi、intel edison和esp8266。
thinger可以与iftt集成,并提供一个漂亮的仪表板上的实时数据。
结论
我们生活在一个与互联网连接的世界中,这将产生可以使用、分析和利用的数据和信息,以更好地利用公司和城市的竞争资源。因此,如果您希望您的业务利用这种影响以及每个人如何体验周围世界,那么您应该将您的开发重点放在创建“连接应用程序”上。
如果您是开发人员,并且有兴趣从头开始构建物联网,那么请参考junaid ahmed的这门精彩课程。