物联网的67种开源工具和资源
开源背后的想法已经存在多年了,早在20世纪80年代末,即使是在计算机之前和今天的物联网(IoT)工具之前,对开源软件的运动就已经很久了。在早期的汽车,乔治·塞尔登拥有专利的双循环燃气发动机,这意味着没有汽车制造商可以偏离塞尔登的基本设计和要求没有诉讼。
Henry Ford成功地挑战了塞尔登的专利并使其实际上毫无用处。这一行动也导致了汽车制造商协会和“交叉许可”,这使得我们的汽车制造商公开发展和分享他们的创新没有任何汽车公司之间的诉讼威胁。可以说,这种方法加速了主流消费者对这些新技术的创新和可用性。
开源的普及背后有很多驱动力:
消费者希望使用各种各样的消费技术设备,他们不希望仅限于使用来自一个特定供应商的设备(一些智能手机只能与同一供应商的智能手机配对)。
物联网设备的销售商希望增加技术生态系统的数量,在没有主要努力的情况下,它们的设备可以被集成。
应用程序开发人员希望支持广泛的设备,而不必开发特定于供应商的代码。
开源解决方案允许这种规模、创新速度和灵活性。
规模
为了在未来十年中规模连接和支持50到700亿个传感器,可能需要数百万的路由器、网关和数据服务器。没有办法在不依赖于基础架构中的开源框架和平台的情况下实现这些级别的规模。任何其他方法都将是不可负担的。
创新速度
开源技术通过几个有利的特性支持快速创新,允许企业内采用更自然的采用方法。它是免费的,一般容易下载、安装和启动。这使得容易探索和试验新技术,并使企业在满足任何财政承诺之前,能在较小的、非关键任务的项目上得到舒适的软件。
此外,开源软件允许无许可的创新,减轻对版税或诉讼的担忧。特别是,开源通过集成促进创新,其中开发人员通过组合免费可用的开源组件来创建新系统。
充满活力的开发者社区
开源软件项目往往比专有解决方案更快地促进创新,因为他们从大量开发人员那里汲取了贡献。这种社区参与的积累加速了企业需要的关键特征和生态系统的交付。结果是开放源码通常比专有替代品更快地交付目标能力。
互操作性
使新技术实现快速采用的最佳可能方法是将开放标准与强大的开源实现相结合。开源实现提供了一种易于采用的具有互操作性的路径,并且它们降低了进入市场的成本。开发人员可以花更少的时间来执行标准,而专注于构建软件,为企业提供产品区分客户价值的功能。
无锁定
开源解决方案的一个关键优势在于,它们不会将您的组织锁定在专有供应商中。交换解决方案及其供应商的成本通常很高,这使得企业和初创公司成为专有服务提供商的人质。开源降低了专有解决方案被中断或不再支持的风险。有多少公司购买了专有软件并投资于昂贵的定制,只会被一个不支持的系统或昂贵的升级路径所困扰?
物联网开源技术的全行业研究
Asix+McKinsey对与物联网相关的开源项目进行了全行业的研究。我们的目标是获得一个开源项目的横断面。我们的范围不是达到100%的覆盖范围,而是要获得不同的开源IOT项目的代表性。
研究方法包括调查问卷、视频访谈和来自网站、行业报告和其他来源的次要来源。我们发现并非所有项目都为开源协作打开整个源代码。“开放”的程度因项目而异。另一些则提供“免费”模式,或者免费的开源代码,提供支持和高级工具的专业服务。
基于IAMX+McKinsey的研究结果,一个关于物联网开放源码的章节将在2015年底的即将到来的物联网和网络物理系统手册中被包括进来。
研究中的开源项目
请注意,一些项目可能属于一个或多个类别。
产业联盟
1. AllSeen Alliance
2. Open Interconnect Consortium (OIC)
3. COMPOSE
4. Eclipse
5. Open Source Hardware Association (OSHWA)
协议
6. Advanced Message Queuing Protocol (AMQP)
7. Constrained Application Protocol (CoAP)
8. Extensible Messaging and Presence Protocol (XMPP)
9. OASIS Message Queuing Telemetry Transport (MQTT)
10. Very Simple Control Protocol (VSCP)
操作系统 (OS)
11. ARM mbed
12. Canonical Ubuntu and Snappy Ubuntu Core
13. Contiki
14. Raspbian
15. RIOT
16. Spark
17. webinos
APIs
18. BipIO
19. Qeo Tinq
20. Zetta
21. 1248.io
Horizontal platforms
22. Canopy
23. Chimera IoT
24. DeviceHive
25. Distributed Services Architecture (DSA)
26. Pico Labs (Kynetx open source assigned to Pico Labs)
27. M2MLabs Mainspring
28. Nimbits
29. Open Source Internet of Things (OSIOT)
30. prpl Foundation
31. RabbitMQ
32. SiteWhere
33. webinos
34. Yaler
中间件Middleware
35. IoTSyS
36. OpenIoT
37. OpenRemote
38. Kaa
Node flow editors
39. Node-RED
40. ThingBox
工具集Toolkits
41. KinomaJS
42. IoT Toolkit
数据可视化Data visualization
43. Freeboard
44. ThingSpeak
搜索Search
45. Thingful
硬件Hardware
46. Arduino Ethernet Shield
47. BeagleBone
48. Intel Galileo
49. openPicus FlyportPro
50. Pinoccio
51. WeIO
52. WIZnet
In-memory data grids
53. Ehcache
54. Hazelcast
智能家居Home automation
55. Home Gateway Initiative (HGI)
56. Ninja Blocks
57. openHAB
58. Eclipse SmartHome
59. PrivateEyePi
60. RaZberry
61. The Thing System
机器人Robotics
62. Open Source Robotics Foundation
网格化网络Mesh networks
63. Open Garden
64. OpenWSN
健康Health
65. e-Health Sensor Platform
空气污染Air pollution
66. HabitatMap Airbeam
水资源Water
67. Oxford Flood Network
业务用例
考虑企业如何利用上面列出的技术。
互操作性
对于大多数企业来说,构建物联网解决方案的首要任务是互操作性。这些标准和协议使系统和设备能够发现彼此,并在横断面上进行通信,例如移动、穿戴、车载信息娱乐、电视、照相机、打印机和电器。
涉及互操作性的标准机构包括AllSeen联盟、AllJoyn 框架、开放互连联盟(OIC)及其开放源代码软件框架、工业互联网联盟、OASIS IOT/M2M、Eclipse以及正在进行标准化工作的其他机构。参考实现和认证程序。标准加上实现引用有助于确保产品之间的互操作性,而不管制造商或垂直。
AllSeen联盟:AllJoyn
AllSeen联盟财团有超过120名成员,包括高通、微软、松下、夏普、索尼、LG、思科、霍尼韦尔、HTC、联想、海尔、TP-LINK、友讯、ADT、友讯、赛门铁克和VISISIGN。
AllSeen联盟将自己描述为“致力于实现并推动广泛支持的产品、系统和服务,支持一个开放的、通用的开发框架,支持一个充满活力的生态系统和蓬勃发展的技术社区。它是迄今为止最广泛的跨行业联合体,它在互联网上推动家庭和工业中的一切事物的采用和创新,并期待扩展到医疗、教育、汽车和企业。”
OIC: IoTivity
OIC成立于2014年7月,拥有超过50名成员,包括英特尔、三星、思科、宏碁、戴尔、GE、霍尼韦尔、HP、西门子、联想和McAfee。
来自OIC的OION类似于AllJoyn,但它允许灵活地为垂直定制。它的突出能力是在抽象传输层中。
Eclipse基金会
Eclipse基金会来自IBM的Eclipse项目,目前有228个成员,包括IBM、谷歌、Oracle、SAP、西门子、德克萨斯仪器、运动研究、宝马、思科、戴尔、爱立信、HP、英特尔、诺基亚和博世。
可扩展性
因为一个关键的市场需求是规模的能力,企业正在寻找能够支持大规模部署的平台。那么,企业有哪些可供选择的选择呢?为了理解这些平台,我们需要了解更流行的协议:MQTT、XMPP、COAP和AMQP。
MQTT
由MQTT.ORG描述为“资源受限的设备和低带宽、高延迟或不可靠网络的轻量级发布订阅消息传输”,消息队列遥测传输(MQTT)是与需要小代码占用的远程位置连接的理想选择。并具有稀缺的网络带宽。
CoAP
受限应用协议( Constrained Application Protocol COAP)是用于在资源受限的因特网设备中使用的应用层协议,例如无线传感器网络节点、低功率传感器、开关、阀和通过互联网远程控制或监控的组件。这里的关键是资源受限。
XMPP
基于XML的面向消息中间件设计,可扩展消息和存在协议(XMPP)是由开源社区Jabber在1999开发的一种通信协议。XMPP已经扩展到发布订阅系统和物联网应用中,例如智能电网。
AMQP
面向消息中间件的开放标准应用层协议,高级消息队列协议(AMQP)具有消息定向、排队、路由(包括点到点和发布和订阅)、可靠性和安全性。
SiteWhere
SiteWhere使企业能够在没有自定义编码的情况下创建IOT解决方案。设备可以通过可插入的、商业的、现成的模块分配给物理或逻辑资产。SITE支持多种协议,如MQTT、JSON、AMQP、XMPP、STOP、JMS和WebSoCube,同时提供发布的API。事件数据可以存储在云端或本地服务器上。该解决方案是容错的,可扩展的,并且具有成本效益。与设备的通信是双向的和异步的。这允许SITE在那里管理需要大量设备和事件周期的解决方案。SITE为定制的事件触发、搜索和分析提供了接口,以及为快速定制定制设备数据集成到其他平台的现成支持。
Xively
由LeMeMin获得的XILLID,最类似于SiteWhere,它也是基于MQTT的。SiteWhere声称,他们的解决方案比Xively部署得更快,具有部署在云端和本地服务器上的优势。
webinos
webinos在欧洲有30个项目合作伙伴,它的平台包括一个应用程序平台、一个连接的所有协议和一个安全框架。webinos
促进了“为每个设备提供单一服务”的愿景,并支持跨各种连接设备的部署。每个网关由参考硬件、核心平台和示例应用程序的完整的端到端规范组成。支持的标准和协议包括HTTPS和JSON-RPC。
Smart cities
智能城市当我们谈论规模和支离破碎的设备环境时,没有什么比智能城市带来更大的挑战。对于那些寻找智能城市开源工具集的公司来说,为OS层考虑这些项目。
RIOT
RIOT是一种开源的微内核操作系统,它是Linux操作系统的替代品。RIOT和CONTIKI都专注于具有非常小的处理和内存的传感器,这使得小型传感器设备的完整OS能力无法支持Linux或Android,因为缺乏电源、内存和处理。RIOT支持多芯片架构,包括MSP430、ARM7、CordX-M0、CordX-M3、CordX-M4等。RIOT和 Contiki都使用RPL网状网络协议。
Contiki
CONTICKI专门支持IPv6、6LoWPAN、 Ripple、COAP、TCP、HTTP、MQTT、DNS、JSON和其他标准。它具有高效的内存分配、全IP网络、低功耗和动态模块加载。
OpenRemote
OpenRemote是一个中间件解决方案,专注于家庭自动化、商业建筑、公共空间和医疗保健。OpenRemote是协议无关的,并在现成的硬件上运行。OpenRemote的架构使完全自主和用户独立的智能建筑。终端用户控制界面可用于IOS、Android和基于Web浏览器的设备。用户界面设计、安装管理和配置可以通过OpenRemote的基于云的设计工具远程处理。
一个公共空间的案例研究是基于埃因霍温市的OpenRemote的使用。他们能够建立一个具有工作流和消息传递的人群管理系统。数据可视化软件通过本地控制器或集线器与设备、传感器和子系统集成。使用街道传感器,系统能够计算通过的人数,测量城市声级,并使用照明作为执行器。UI仪表板可在移动设备上查看人群管理指标。
Smart homes智能家居
智能家居空间有很多竞争,比如NEST, Icontrol Networks, and People Power.。对于那些有意进入智能家居类的公司来说,哪些开源项目能让你先发制人呢?这里有两个智能家庭平台需要考虑:
openHAB与Eclipse SmartHome
OpenHAB提供了一个基于开放服务网关倡议(OSGi)的框架。OpenHAB有一个模块化体系结构,允许贡献者添加设备,包括基于传统协议的设备、标准和组件支持,这是理想的连接家庭,成为一个单一的解决方案,允许总体自动化规则和统一的用户界面。
对于企业使用,OpenHAB核心框架可以在Eclipse SmartHome项目中使用。对OpenHAB代码库的任何更改都与Eclipse SmartHome无缝共享。Eclipse SmartHome试图用共同的接口和API来解决分散的智能家庭生态系统,以集成连接性、自动化、用户界面和持久性。
家庭网关倡议(HGI Home Gateway Initiative )
HGI是一个主要宽带服务提供商(德国电信、电信Italia、NTT)和家庭消费电子制造商的联合体,以构建智能家居生态系统。HGI为家庭网关和无线家庭网络发布需求和测试计划,其目的是使应用程序、家庭网关中间件和基于家庭网络的设备无缝连接。
快速受益时间
拼凑各种组件和服务并不是一件简单的事情。然而,你的利益相关者需要快速的利益。那么,组织如何做到这一点呢?
Zetta
在API方面,Zetta是建立在Node.js上的,它帮助链接设备与云创建地理分布网络。Zetta结合了REST API、WebSockets和反应式编程,这是将设备组装成数据密集型实时应用的理想方案。Zetta公司拥有像Apigee这样的商业平台。
OpenIoT
在中间件方面,OpenIoT创建了一个开源中间件,用于从传感器云中提取信息,而不必担心使用哪种传感器。它探索使用和管理物联网实体和资源(如传感器,执行器和智能设备)的云环境的有效方法,并通过自适应中间件框架提供基于云和实用程序的传感即服务模型,用于部署并在云环境中提供服务。
OpenIoT开发了用于智能农业,智能制造,城市众包,智能生活和智能校园的用例。
有限的网络覆盖
根据您正在构建的解决方案,可能会出现Wi-Fi和蜂窝覆盖范围有限的用例。那你怎么办呢?
网状网络
无论我们是在谈论现场活动,偏远地区还是农业用地,网状网络都能在Wi-Fi或蜂窝服务有限时提供连接。
Open Garden
Open Garden SDK使连接的设备能够连接到互联网并使用点对点网状网络连接与其他附近设备进行通信,通过自动主动选择和切换到最佳可用网络而无需用户的参与。开放花园的无线网状网络应用程序在Mac,Android,Windows和即将推出的iOS上均受支持。创始人称,超过500万人使用Open Garden。
一些创业公司正在使用Open Garden和一个低功耗广域网(LPWAN)来创建一个离网的无线消息网络,该网络声称可在20英里半径范围内工作,并支持每秒超过50千比特通道。
OpenWSN
OpenWSN是一个基于加利福尼亚大学伯克利分校的开源项目,它支持“RPL,一种专为低功耗和无线传感器网络设计的路由协议,路由层负责分离跨越多跳的源数据包和目标数据包,它分为转发引擎,它使用路由表来决定哪个邻居节点是该数据包的下一跳,以及路由协议,填充路由表。“
基于利用率的货币化:奇美拉物联网Chimera IoT
我们经常听到的另一个市场需求是基于效用的货币化能力。公司需要相应的收费能力 – 无论是通过RPM,加速度还是前端装载机提升的次数。
Chimera IoT正在构建一个物联网平台,使企业能够使用基于使用量的货币化和核对功能构建实时移动和Web应用程序,这对计费公司和用户都是可见的。其消息传递服务基于RabbitMQ,这是一个利用AMQP消息传递的开源项目。 RabbitMQ支持强大的应用程序消息,可在所有主要操作系统上运行,并支持许多开发人员平台。
Chimera IoT将推出他们的信息系统服务器设计和Android设备上传感器的设备驱动程序以及德州仪器的SimpleLink蓝牙智能SensorTag的开源项目。
高容量,实时分析
大批量交易带来了巨大挑战,但那些希望实施实时分析的公司又如何?企业如何应对这些挑战?一种解决方案是内存数据网格,主要依靠计算机数据存储的主存以访问内存中的数据。以下两个项目支持用于大批量交易,实时分析和混合数据处理的企业级内存计算解决方案。
Ehcache
Ehcache是使用最广泛的基于Java的高速缓存,它是一款开源,基于标准的增强性能高速缓存,可卸载数据库并简化可扩展性。由Terracotta开发和维护,Encache从进程中扩展到一个或多个节点,同时混合进程内/进程外配置。
Hazelcast
Hazelcast提供内存中的NoSQL,Java缓存,数据网格,消息传递,应用程序扩展和集群。
关键要点
基于我们对开源技术的评估,物联网的成功没有银弹。这些项目代表组件或构建块,而不是一个统一的解决方案。此外,文档和支持因项目而异。
然而开源技术对实施物联网的好处远远超过了潜在的限制。事实上,当今许多专有物联网解决方案都在使用开源技术。
如果你在一家蓝筹上市公司工作,那并不意味着你有无限的资源可以工作。 在许多情况下,您的赞助商希望能够在他们愿意承诺完成一项IT项目之前展现优势的快速解决方案。 如果你为一家创业公司工作,你需要快速启动并且不需要大批开发人员。 在这两种情况下,开放源码使您能够以更少的钱做更多事情。
信息很简单:不要从头开始。利用这些难以置信的开源项目和IOT工具来加速你的产品开发。
原文出处:link