用于IoT应用程序开发的10大开源软件

简介:

随着越来越多的设备进行相互连接,物联网的边界变得越来越模糊。根据Gartner的报告称,2016年安装了60亿件物联网设备,物联网市场估值超过1万亿美元。同样,HPE Aruba发现,57%的公司采用了物联网技术,到2019年这一数字将增至85%。

物联网革命背后的主要驱动力之一是开源社区,其不断的实验加上新技术带来的可能性,创造了许多新的和有趣的应用程序。

下面是用于物联网开发的10佳开源软件工具。

1. DeviceHive

用于IoT应用程序开发的10大开源软件

DeviceHive基于AllJoyn的Data Art设备,同时也是AllSeen的联盟成员。这一款免费开源机器和机器通信(M2M)框架在2012年开始推出,并持续成为物联网应用的领先开发平台之一。

无论网络配置如何,其基于云的API都可以进行远程控制。它可以管理和控制门户、协议和开源库,其潜在的应用包括安全、智能家居技术、远程传感器和自动化。

DeviceHive网站有一个充满活力的论坛,上面发表了一系列来自开发爱好者的博客文章。使用DeviceHive所需的包括组件,包括其他的信息等等,都可以在他们的网站上找到。

2. Kaa

用于IoT应用程序开发的10大开源软件

Kaa旨在为大型云中的连接设备提供端到端支持,由Cybervision投资支持。Kaa的多用途中间件允许开发人员创建物联网解决方案,连接应用程序和各种智能产品。

Kaa的主要优点之一是它易于安装,并提供许多可轻松插入平台的功能。Kaa将开源套件描述为“硬件不指定”,意味着它可以与您所需的任何硬件(包括设备、传感器和网关)进行交互。

开发套件还可用于设置跨设备互操作性,分发空中固件更新,并分析用户行为以提供目标通知。任何想要进入物联网开发的人都可以拥有一个全方位的优秀技术。

3. Arduino

用于IoT应用程序开发的10大开源软件

Arduino是最知名的平台之一,部分原因是它同时提供硬件和软件。该开发套件允许用户使用集成开发环境(IDE)在Arduino语言中编码。目前,其云系统包含了MQTT代理,开发人员能够在上面发送消息。

使用Arduino创建的项目包括宠物的位置跟踪设备,拍摄照片的方法,并让他们自动上传到流行的博客网站Tumblr;对于商业,可以创建从GitHub到纸上的打印收据。

Arduino云平台将在未来几个月内增加新功能,并寻求对当前设置的反馈。

4. Home Assistant

用于IoT应用程序开发的10大开源软件

顾名思义,Home Assistant主要面向家庭自动化,它运行于基于Python的编码系统,可以通过移动和桌面浏览器进行控制。这款开源软件相当容易设置,并已注意到其安全和隐私功能。

该软件系统每两个星期会定期更新,目前已支持近250个智能设备。该软件可以运行任何系统,因此其也可以运行Python 3,包括桌面和Raspberry pi。

然而,这个软件没有家庭助理网络中心,也没有云组件。但开发者认为,这种功能缺失是值得的,因为即使当互联网停机,家庭还始终保持活跃,你的私人数据依然保持私密。

5. Devicehub.net

用于IoT应用程序开发的10大开源软件

Device Hub是IoT项目开发的集成解决方案,该服务将商业智能和云集成相结合,以便合成硬件和Web技术。开发套件被称为“Paas”或“平台即服务”,硬件和移动开发人员都可以有效利用它提供的功能。

中小企业和个人运用平台提供的解决方案,使得车队管理系统,智能自动售货机和可穿戴技术得以快速发展。

Device Hub与创业派有良好的合作关系。他为开发者提供,使用创建的设备中心程序可以完全白名单,重新品牌化,并安装在本地或在企业级部署的虚拟私有云中。

6. SiteWhere

用于IoT应用程序开发的10大开源软件

SiteWhere主要旨在帮助公司加快新产品和服务的上市时间,并且可以部署在几乎任何一个云平台上。该平台已经经过许多不同的供应商测试,包括Hortonworks和Cloudera,因此该套件具有相当可靠的业绩记录。

SiteWhere的一个大卖点是能够部署您自己的私有云,您可以安全地存储您自己的数据,同时需要利用第三方的云服务。不过,如果你更喜欢一个具有经过验证的安全记录的服务,开发套件还可以与Azure或Amazon EC2集成。

局域网也可大规模扩展,您可以从单个笔记本电脑运行它或在集群环境中线性扩展,有效地解决大数据问题。如果你正在寻找一个更大的网络的物联网解决方案,使用单个批处理命令控制大量设备的能力是理想的。

7. Zetta

用于IoT应用程序开发的10大开源软件

Zetta是一个基于Node.js构建的基于服务器的平台,并结合了REST API,WebSockets和反应式编程,使其成为将许多设备组装成数据密集型实时应用程序的理想选择。

Zetta能够将大量设备转换为API。如果您希望创建一个通过API进行通信和反应的设备系统,那么Zetta使用反应式编程和Siren超媒体就可以实现。

这个开源开发套件的主要吸引力是如何针对大数据进行优化软件的体系结构,以允许大量数据密集型实时应用程序具有可导性。可视化工具允许您观察和响应系统和设备的行为,以便洞察和采取行动。

8. Particle

用于IoT应用程序开发的10大开源软件

Particle,以前被称为Spark,是一个全栈开发平台,它允许您安全可靠地连接物联网设备到实际的互联网。

根据Gartner的报告,80%的物联网项目因为其复杂性而延迟推行,这不可避免地导致预算成本不足的问题。粒子插件有助于缓解这个过程,其简化的设计和加密协议,使设备本质上是安全的。

Particle更为大胆的声明是,使用这个平台,一个小团队的工程师和开发人员,即使没有物联网经验,也可以在几个月内开发一个产品。如果你正在寻找一个快速的周转项目,那么这个平台会是你想要的选择。

9. ThingSpeak

用于IoT应用程序开发的10大开源软件

ThingSpeak是目前可用的较老的物联网开发平台之一,但它也是最可靠的之一。该平台主要专注于警报、位置跟踪和传感器记录,但它仍然是一个内在多功能的平台。

一个典型的例子是汽车计数器开发,使用网络摄像头和Raspberry Pi设备,通过ThingSpeak的分析和可视化,能够计数汽车在一个繁忙的公路上的交通模式。

类似地使用开源Arduino硬件和ThingSpeak开发潮汐警报系统,其可以测量通常不通过较大分析或天气报告的区域中的水位。ThingSpeak是那些希望收集、分析和处理特定数据集的人的理想化平台。

10. OpenRemote

用于IoT应用程序开发的10大开源软件

OpenRemote是另一个用于智能家居解决方案和家庭自动化的开源IoT开发平台。 它于2009年推出,OpenRemote为开发人员提供了基于云的设计工具。

该网站还提供一个方便的一步指南,可以指导您第一个应用程序从设计到安装的全过程,这是一个方便的初学者工具。

该公司还规定了专业开源方法,意味着社区中的顶级开发者通常会参与进公司本身的项目。


 


  

本文转自d1net(转载)


  

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
相关文章
|
SQL 物联网 Apache
使用Apache IoTDB进行IoT相关开发的架构设计与功能实现(11)
目前,IoTDB中不存在冲突的权限,因此用户的真正权限是用户自身权限和用户角色权限的结合。也就是说,要确定用户是否可以执行操作,取决于用户自己的权限之一或用户角色的权限是否允许该操作。用户自己的特权和用户角色的特权可能会重叠,但这并不重要。
201 1
|
存储 物联网 数据管理
使用Apache IoTDB进行IoT相关开发的架构设计与功能实现(12)
现在到了使用Apache IoTDB进行IoT相关开发的架构设计与功能实现的最后一个环境,在本文中我将向大家介绍IoTDB的查询语言。IoTDB为咱们广大开发者提供了类似SQL的查询语言,用于与IoTDB进行交互,查询语言可以分为4个主要部分:架构语句、数据管理语句、数据库管理语句、功能。
208 0
|
SQL 传感器 物联网
使用Apache IoTDB进行IoT相关开发的架构设计与功能实现(10)
物联网提供限制/限制条款和偏移/偏移子句,以使用户对查询结果有更多的控制权。使用 LIMIT 和 SLIMIT 子句允许用户控制查询结果的行数和列数,使用 OFFSET 和 SOFSET 子句允许用户设置结果的起始位置进行显示。
139 0
|
消息中间件 传感器 监控
IoT企业物联网平台,数据服务开发实战
IoT企业物联网平台开发实战
427 0
|
1月前
|
Rust 资源调度 安全
为什么使用 Rust over C++ 进行 IoT 解决方案开发
为什么使用 Rust over C++ 进行 IoT 解决方案开发
60 7
|
3月前
|
存储 分布式计算 物联网
Apache IoTDB进行IoT相关开发实践
当今社会,物联网技术的发展带来了许多繁琐的挑战,尤其是在数据库管理系统领域,比如实时整合海量数据、处理流中的事件以及处理数据的安全性。例如,应用于智能城市的基于物联网的交通传感器可以实时生成大量的交通数据。据估计,未来5年,物联网设备的数量将达数万亿。物联网产生大量的数据,包括流数据、时间序列数据、RFID数据、传感数据等。要有效地管理这些数据,就需要使用数据库。数据库在充分处理物联网数据方面扮演着非常重要的角色。因此,适当的数据库与适当的平台同等重要。由于物联网在世界上不同的环境中运行,选择合适的数据库变得非常重要。 原创文字,IoTDB 社区可进行使用与传播 一、什么是IoTDB 我
168 9
Apache IoTDB进行IoT相关开发实践
|
4月前
|
存储 分布式计算 物联网
Apache IoTDB进行IoT相关开发实践
IoTDB是专为物联网(IoT)设计的开源时间序列数据库,提供数据收集、存储、管理和分析。它支持高效的数据写入、查询,适用于处理大规模物联网数据,包括流数据、时间序列等。IoTDB采用轻量级架构,可与Hadoop和Spark集成,支持多种存储策略,确保数据安全和高可用性。此外,它还具有InfluxDB协议适配器,允许无缝迁移和兼容InfluxDB的API和查询语法,简化物联网项目的数据管理。随着物联网设备数量的快速增长,选择适合的数据库如IoTDB对于数据管理和分析至关重要。
240 12
|
4月前
|
存储 分布式计算 物联网
Apache IoTDB进行IoT相关开发实践
The article introduces IoTDB, an open-source time-series database designed for efficient management of IoT-generated data. It addresses challenges like real-time integration of massive datasets and security. IoTDB supports high-performance storage,
137 0
Apache IoTDB进行IoT相关开发实践
|
5月前
|
存储 分布式计算 物联网
Apache IoTDB进行IoT相关开发实践
IoTDB是面向物联网的时序数据库,专注于时间序列数据管理,提供高效的数据处理、集成Hadoop和Spark生态、支持多目录存储策略。它还具有InfluxDB协议适配器,允许无缝迁移原本使用InfluxDB的业务。文章讨论了IoTDB的体系结构,包括数据文件、系统文件和预写日志文件的存储策略,并介绍了如何配置数据存储目录。此外,还提及了InfluxDB版本和查询语法的支持情况。IoTDB在物联网数据管理和分析中扮演关键角色,尤其适合处理大规模实时数据。
|
5月前
|
存储 分布式计算 物联网
Apache IoTDB进行IoT相关开发实践
物联网技术带来数据库管理挑战,特别是实时数据整合与安全性。IoTDB是一个专为时间序列数据设计的数据库,提供数据收集、存储和分析服务,适用于海量物联网数据。其架构包括数据文件、系统文件和预写日志文件的管理,并支持多目录存储策略。此外,IoTDB还开发了InfluxDB协议适配器,使得用户能无缝迁移原有InfluxDB业务。此适配器基于IoTDB的Java服务接口,转换InfluxDB的元数据格式,实现与IoTDB的数据交互。目前,适配器支持InfluxDB 1.x版本及部分查询语法。
183 5

热门文章

最新文章

下一篇
无影云桌面