Gartner 的预测描绘了一幅清晰的未来图景,未来将像我们对计算机和智能手机一样依赖无数互连的智能设备。根据他们的预测,2020年将安装260亿个物联网设备,为制造商和服务提供商创造3000亿美元的收入,并对全球经济产生1.9万亿美元的影响。
本文概述了用于物联网应用程序开发的十大开源工具。这些工具代表了进入这个令人兴奋的领域的一个很好的切入点,它为那些不怕学习新事物和挑战当前生活方式的人隐藏了大量的机会。
1.Arduino以太网扩展板
与 Arduino 以太网扩展板结合使用的流行开源电子原型平台是简单物联网项目甚至更复杂应用的完美硬件组合。为了从世界任何地方控制他们的创作,用户所要做的就是使用 RJ45 电缆将 Arduino 板连接到互联网并完成基本的设置程序。
与 Raspberry Pi 或 BeagleBone 等物联网单板计算机的一些重量级代表相比,Arduino 非常便宜,几乎在世界任何地方都可以使用,并被成千上万热心用户使用,他们喜欢与他人分享他们的创作其他的。文档很丰富,将这个奇妙的设备变成有用的东西的灵感也很丰富。
2.Eclipse IoT
Eclipse IoT 致力于通过实施 MQTT、CoAP、LWM2M 和 oneM2M 等 IoT 标准来简化 IoT 开发。MQTT是一种机器对机器 (M2M)/“物联网”连接协议,也是 Eclipse Paho项目的基础,该项目提供 MQTT 和 MQTT-SN 消息传递协议的开源客户端实现,旨在针对新的、现有的和M2M 和 IoT 的新兴应用。
CoAP代表受限应用协议,它是一种专门的 Web 传输协议,用于物联网中的受限节点和受限网络。轻量级 M2M (LWM2M) 和 oneM2M 的创建是为了确保最有效地部署 M2M 通信系统。
这些标准和工具共同构成了一个全面的工具包,适合任何想要摆脱日常工作的 Java 程序员。
3.openHAB
这款与供应商和硬件无关的开源自动化软件旨在让智能设备相互通信,并允许用户向其添加新功能。openHAB 是用 Java 开发的,这使得它可以在任何能够运行 JVM 的设备上运行。它配备了不同的基于 Web 的 UI 以及适用于 iOS 和 Android 的本机 UI,并提供用于集成到其他系统的 API。
OpenHAB 的创建者认识到专有智能设备很快就会过时、不兼容且无法满足现代用户的安全要求。他们的解决方案利用所有可用子系统的数据,并将它们集成到一个有凝聚力的包中。该工具荣获 2014/2015 年 Postscapes IoT 奖人民选择奖和 2013 年杜克大学选择奖。
4. RIOT
RIOT 是一个由草根社区开发的开源操作系统,用于支持各种物联网解决方案。与常规 Linux 或其他物联网操作系统(例如 Tiny OS 和 Contiki)相比,RIOT 支持 C 和 C++,具有超低线程开销(每个线程 <25 字节)的多线程、实时能力超低中断延迟(约 50 个时钟周期)和基于优先级的调度以及出色的模块化。
甚至还有 RIOT 的本机端口,允许不熟悉嵌入式编程的开发人员在 Linux 或 Mac OS 上的进程内运行 RIOT。所有代码都托管在GitHub上,并且提供的wiki包含大量有用的信息来帮助您开始使用 RIOT。
5.Thinger.io
Thinger.io 提供了一个随时可用的可扩展云基础设施,可以通过易于使用的管理控制台进行控制,或通过 REST API 集成到业务逻辑中。整个项目是开源的并且完全与硬件无关。即用型可扩展云基础设施允许您轻松部署自己的基础设施,无论是在本地计算机还是在云中。
因此,Thinger.io 基本上消除了选择兼容供应商硬件和使用臃肿软件来完成非常简单的事情的需要。
6. OpenIoT
OpenIoT 是著名开源贡献者的共同努力,他们希望为基于云和基于实用程序的传感服务提供支持。根据OpenIoT 的 GitHub 页面,该中间件将支持灵活的配置和部署算法,用于收集和过滤来自互联网连接对象的信息流,同时生成和处理重要的业务/应用程序事件。
整个架构由三个主要平面组成:实用/应用平面、虚拟化平面和物理平面。每个平面包括多个元素,例如请求定义、请求表示以及配置和监控组件。OpenIoT 配有内置调度程序、云数据存储,甚至服务交付和实用管理器。
7. IoTSyS
OpenIoT 并不是现有的唯一物联网集成中间件;还有IoTSyS,它为基于IPv6、Web服务和oBIX的嵌入式设备提供通信堆栈,为智能对象提供可互操作的接口。IoTSyS 的主要目标是利用现有自动化系统和传感器的强大功能,并使用它轻松创建和部署新的解决方案,同时解决安全性、发现和可扩展性问题。
8. Freeboard
不要将 Freeboard 与独特的滑板混淆,它是一个优雅的物联网仪表板。它允许任何人使用直观的拖放界面快速构建实时、交互式仪表板和可视化。该仪表板位于安全、高性能、企业级云系统之上,整个项目是开源的并公开托管在GitHub上。
它的特点是与 dweet.io 无缝集成,或访问任何基于 Web 的 API,能够从不断增长的包含的小部件列表中进行选择,并通过电子邮件、短信和社交网络进行即时共享。一些著名的例子包括Heising-330,它是一种现代化的、联网的、全自动的连续蒸馏器,由工艺酿酒厂建造并为工艺酿酒厂建造,也是空气质量监测仪表板的原型。
9. Interstacks
“Interstacks 是组合在一起的电子模块和 Stackbuilder 可视化创作工具。只需几分钟,即可发明您能想象到的任何智能设备。然后将它们相互连接并连接到互联网。据官方网站介绍,Interstacks 使您能够成为物联网世界的主人。
该硬件以企业原型硬件的合理价格出售,并且是围绕 Python 编程语言构建的。原型设计的整体方法允许用户配置其设备系统和互联网服务、构建宏并编写规则以实现系统自动化。Maya Design凭借数十年的用户界面/用户体验 (UI/UX – HCD) 专业知识指导其创新和直观的方法创建了 Interstacks 和 Stackbuilder 产品。Stackbuilder 界面是一种可视化创作工具(拖放),使用户能够以非常直观的方式构建、测试和调整其堆栈。快速原型设计的概念是该产品线的核心。
10. Zetta
Zetta 基于 Node.js 构建,是一个开源平台,用于创建跨地理分布式计算机和云运行的物联网服务器。Zetta 通过结合 REST API、WebSocket 和反应式编程来实现这一目标。
安装后,Zetta 服务器可以在任何地方运行,并且与 Arduino、Spark Core 和其他微控制器通信没有问题。一系列有用的抽象简化了编码,使开发人员能够专注于大局,而不会陷入无关紧要的细节之中。
结论
尽管这 10 个工具涵盖了从应用程序开发到中间件和家庭自动化套件的所有内容,但我们仅仅触及了当前可用工具的皮毛。物联网将成为未来的几项关键技术之一,其通用构建模块(不是双关语“Interstacks”)的知识可能会被证明非常有用。
领取专属 10元无门槛券
私享最新 技术干货