原文链接: DIY : Open Source Software for your very own IoT
作者:Vishal Shah
翻译:赵屹华 审校:刘翔宇
物联网(Internet of Things, IoT)是最近被频频提及,也涌现出许多的想法。
这个社区持续地在发展,所以需要有一个对大众开放的物联网平台,让每个人都能来实现自己的想法,让大家的生活或多或少变得更便捷!!
根据InternetOfThingsWiki.com的消息,物联网社区的用户想要一个开放的消费器件市场,不是被单个零售商所垄断。另一个原因是培养一个物联网设备和应用产品的生态圈,使得它们很容易被整合起来。
图片来源:internetofthingswiki.com
在我们对开源平台的细节展开之前,让我们先弄明白究竟什么是 物联网平台 。
一个物联网设备和网内其它设备和应用产品相连接,用不同的互联网协议传输信息。
填补传感器设备和数据网络之间间隙的就是物联网平台。这个平台将数据网络与传感器阵列相连接,并且有多个后端应用来分析成百上千个传感器收集到的数据。
我们来看几个物联网平台的例子,每个人都能用它来整合它们的物联网应用产品。
ThingSpeak
ThingSpeak 是一个通过互联网http协议存储和获取数据的开源物联网应用产品。ThingSpeak支持传感器日志生成应用、位置跟踪应用和更新状态的物品社交网络。
ThingSpeak于2010年推出,它能够支持MathWorks公司的Matlab计算软件。
图片来源:thingspeak.com
ThingBox —— 一款物联网开发工具
ThingBox 是一款物联网开发工具,已经安装并配置了一组软件,人们只要使用网页浏览器连接各个模块就能实现图形化地开发任意的应用产品。
图片来源:thethingbox.io
Eclipse SmartHome —— 家居自动化软件
Eclipse SmartHome 是一个物联网框架,用于在其之上搭建家居自动化的终端用户解决方案。
Eclipse SmartHome主要关注与一下领域的服务 ——
图片来源:eclipse.org/smarthome
The Thing System —— 家居自动化软件
Thing System是一组用来维护物联网的软件和网络协议的组合。这个开源软件在你的笔记本上就能轻松地跑起来,也可以装在树莓派之类的单片机上。
想要获取此产品的更详细信息,可以点击 这里 观看The Thing System联合创始人的一段采访。
The Thing System支持许许多多的物品,下图列出了其中一部分:
图片来源:thethingsystem.com
这里 有完整的列表。
在我们继续介绍物联网平台之前,让我们来学一下 中间件(Middleware) 的概念。
中间件是使各个不同部件能够流畅交流的机制。
中间件是连接“互联网”和“物品”的桥梁,它就相当于Internet Of Things里的那个Of!
接下去让我们来看看一些物联网的开源中间件。
Kaa(我猜测名字的灵感来源于《奇幻森林》):
Kaa 是一款易用的多功能物联网中间件平台,能用来搭建完整的物联网设计、相互连接的应用产品和智能产品。Kaa平台提供了一个开源的物联网产品开发工具包,它有着丰富的特性,减少了产品开发的成本和风险,缩短了市场化的时间。
下图显示了Kaa的工作状态:
图片来源:kaaproject.org
它是如何工作的呢?
Kaa通过提供服务器和终端SDK组建来管理入网物体和后端架构的数据。SDK被嵌入到入网物体中,并与服务器进行实时的双向数据交换。Kaa SDK几乎能与任何入网设备或者微芯片集成。
Kaa服务器提供了超大规模、关键的物联网技术方案需要的所有后端功能。它处理了所有入网设备的信息交流,包括数据一致性和安全性,设备交互性,以及失败重连。
Kaa服务器提供了整合数据管理和分析系统的完好接口,和产品定制化服务。它就像后端系统的基础,使你能够自由扩展,满足产品的个性化需求。
这个视频展示了Kaa Smart City搭建的IoT所涵盖的特性:https://youtu.be/UU0gAcam320
Device Hive:
Device Hive 是一个集成了大量设备的开源物联网数据平台。它受到了DataArt公司(一家世界领先的技术顾问公司)的物联网研发团队的支持。
部署操作简单,既能用于想法验证,也能用于开发和大规模生产。Device HIve在公有云和私有云上都能运行 —— MicroSoft Azure、Amazon Web Services、Apache Mesos、OpenStack,或是自己的数据中心。
Device Hive云平台同时还支持Apache Spark和Spark streaming,也就是说你可以在收集到的数据上做批量分析和机器学习,也可以实时处理事件消息。
图片来源: dataart.com
这个视频展示了一个使用Device Hive的智能电视的例子:https://youtu.be/h0ZtFJ4ccZk
OpenIoT:
OpenIoT 是物联网的一个创新开源平台,包括了一些独特的功能,诸如基于云计算来组合各种重要的物联网服务。
诸位优秀的开源贡献者通力合作,基于云计算模型实现了这套大规模智能物联网应用产品。
OpenIoT架构的用途在于:
收集和处理世界各个角落传感器的数据,包括物理设备、传感器处理算法、社交媒体处理算法等等;
将各个传感器的数据流导入云计算架构中;
动态发现/查询传感器以及它们的数据;
组合并传递基于大量传感器数据的物联网服务;
物联网数据的可视化展示(表格、图形等);
优化OpenIoT中间件和云计算架构的资源。
这个视频展示了OpenIoT整合平台的示例: https://youtu.be/ZX6LgzSyThE
想了解更多关于OpenIoT的信息,请戳 这里 。
除了上述提到的开源物联网软件之外,常见的还有IoTSys、OpenRemote、openHAB等等。
另外一些优秀的物联网操作系统还包括AllJoyn、Raspbian、Spark等。
你还在等什么呢?赶紧加入物联网吧。