【.com快速翻译】物联网市场的碎片化、无定形和不断变化的性质需要比通常对互操作性的关注更多。开源在这方面做得很好并不奇怪——客户不愿将他们的物联网未来寄托在一个可能消失或变得难以定制和连接的专有平台上。在本文中,我介绍了主要的开源软件项目,重点介绍了用于家庭和工业自动化的开源技术。我忽略了垂直聚焦的物联网相关项目,如AutomotiveGradeLinux和Dronecode,以及面向互联网的开源操作系统发行版,如Brillo、Contiki、Mbed、OpenWrt、Ostro、Riot、UbuntuSnappyCore、UCLinux和Zephyr。下次我将介绍硬件项目:从智能家居中心到物联网开发板的所有内容。下面介绍的21个项目包括Linux基金会管理的两个主要项目:AllSeen(AllJoyn)和OCF(IoTivity),以及连接物联网传感器端点与网关和云服务的众多端到端框架。我还介绍了一小部分针对物联网生态系统特定领域的小型项目。我们最初涵盖了更多项目,但越来越难区分物联网软件和普通软件之间的区别。从嵌入式环境到云端,越来越多的项目具有物联网元素。这21个项目都声称是开源的,但确保它们完全名副其实超出了本文的范围。他们都至少在其生态系统的一部分上运行Linux,并且大多数都全面支持Linux,从开发环境到云/服务器、网关和传感器端点组件。大多数都有可以在Linux开发板上运行的组件(如RaspberryPi和BeagleBone),并且许多都支持Arduino。物联网领域仍然有很多专有技术,尤其是在自上而下的企业平台中。然而,即使其中一些也提供部分开放访问。例如,Verizon的ThingSpace以4G智慧城市应用为目标,它有一套免费的开发API来支持开发板,尽管核心平台本身是专有的。有点类似,Amazon的AWSIoT套件有一个部分开放的设备SDK和一个开源入门工具包。其他主要的专有平台包括苹果的HomeKit和微软的AzureIoTSuite。然后是拥有230名成员的ThreadGroup,它负责监督基于6LoWPAN的对等Thread网络协议。ThreadGroup由谷歌母公司Alphabet旗下的Nest设立,并不提供像AllSeen和OCF这样的一套全面的开源框架。但是,它与Brillo相关联,Weave物联网通信协议也是如此。5月,Nest发布了Thread的开源版本,称为OpenThread(如下所述)。以下是面向物联网的21个开源软件项目:BugLabsdweet和freeboardBugLabs开始生产模块化的、基于Linux的Bug硬件设备,但它很久以前就发展成为一个与硬件无关的企业级物联网平台。BugLabs提供了一个“dweet”消息和警报系统以及一个“freeboard”物联网设计应用程序。dweet使用HAPIWebAPI和JSON,方便发布和描述数据。Freeboard是一款用于设计IoT仪表板和可视化的拖放式工具。DeviceHiveDataArt基于AllJoyn的设备管理平台运行在Azure、AWS、ApacheMesos和OpenStack等云服务上。DeviceHive专注于使用ElasticSearch、ApacheSpark、Cassandra和Kafka分析大数据。还有一个网关组件可以在任何运行UbuntuSnappyCore的设备上运行。模块化网关软件可以与DeviceHive云软件和物联网协议对接,部署为SnappyCore服务。DSA分布式服务架构(DSA)促进分散式设备互操作性、逻辑和应用程序。DSA项目正在构建分布式服务链接(DSLinks)库,以支持与第三方数据源的协议转换和数据集成。DSA提供了一个可扩展的网络拓扑结构,由多个DSLinks组成,这些DSLinks在连接到分层代理层次结构的物联网边缘设备上运行。EclipseIoT(Kura)Eclipse基金会的IoT工作围绕其基于Java/OSGi的KuraAPI容器和聚合平台展开,使M2M应用程序能够在服务网关上运行。Kura基于Eurotech的EverywhereCloudIoT框架,通常与ApacheCamel集成,ApacheCamel是一种基于Java、基于规则的路由和中介引擎。Eclipse物联网子项目包括Paho消息协议框架、用于轻量级服务器的MosquittoMQTT框架和EclipseSmartHome框架。还有一个基于Java的项目实现了约束应用程序协议(CoAP),称为Californianium。KaaCyber??Vision支持的Kaa项目提供了一个可扩展的端到端物联网框架,专为云互连的庞大物联网网络而设计。该平台包括支持REST的服务器功能,用于服务、分析和数据管理,通常部署为由ApacheZookeeper协调的节点集群。Kaa的端点SDK支持Java、C++和C开发,并处理客户端/服务器通信、身份验证、加密、持久性和数据编排。该SDK包括特定于服务器的、启用GUI的模式,这些模式可转换为IoT对象绑定。模式管理语义并抽象一组不同设备的功能。Macchina.ioMacchina.io为开发在Linux开发板上运行的物联网网关应用程序提供了一个“支持网络、模块化、可扩展”的JavaScript和C++运行时环境。Macchina.io支持广泛的传感器和连接技术,包括Tinkerforgebricklets、XBeeZB传感器、GPS/GNSS接收器、串行和GPIO网络设备以及方向传感器。GEPredixGE的工业物联网平台即服务(PaaS)软件基于CloudFoundry。它增加了资产管理、设备安全、实时预测分析,并支持不同数据的收集、存储和访问。GEPredix由GE开发用于内部运营,已成为最成功的企业物联网平台之一,收入约为60亿美元。GE最近与HPE建立了合作伙伴关系,后者将把Predix整合到自己的服务中。HomeAssistant是一个崭露头角的草根项目,它提供了一种面向Python的家庭自动化方法。MainsringM2MLabs基于Java的框架针对远程监控、车队管理和智能电网等应用领域的M2M通信。与许多物联网框架一样,Mainspring严重依赖RESTWeb服务,并提供用于设备配置和建模的工具。Node-RED是Node.js开发人员的可视化布线工具,它具有基于浏览器的数据流编辑器,用于设计IoT节点中的数据流。然后可以将节点快速部署为运行时环境,使用JSON进行存储和共享。端点可以在Linux开发板上运行,支持的云包括Docker、IBMBluemix、AWS和Azure。开放连接基金会(IoTivity)是英特尔和三星支持的开放连接联盟(OIC)组织和UPnP论坛,它正在努力成为领先的物联网开源标准组织。OCF的开源IoTivity项目依赖于充分利用的JSON和CoAP。openHAB是一个开源的智能家居框架,可以运行在任何支持JVM的设备上。模块化堆栈将所有物联网技术和组件抽象为“项”,提供规则和脚本,并支持持久性——长期存储设备状态的能力。OpenHAB提供大量基于Web的用户界面,并得到主要Linux开发板的支持。OpenIoT这种基于Java的OpenIoT中间件旨在促进使用公共云计算交付模型的开放式大规模物联网应用程序。除了用于表示IoT对象的本体、语义模型和注释之外,该平台还包括传感器和传感器网络中间件。OpenRemoteOpenRemote专为家庭和楼宇自动化而设计,以广泛支持许多智能设备和网络规范而闻名,例如1-Wire、EnOcean、xPL、Insteon和X10。支持规则、脚本和事件,以及用于用户界面、安装、配置、远程更新和诊断的基于云的设计工具。OpenThread是Nest最近的开源项目,衍生自基于6LoWPAN的物联网Thread无线网络标准,也得到了ARM、Microchip的Atmel、Dialog、高通和德州仪器的支持。OpenThread实现了Thread的所有网络层,同时也实现了Thread的端点设备、路由器、Leader、边界路由器等角色。PhysicalWeb/EddystoneGoogle的PhysicalWeb使蓝牙低功耗(BLE)信标能够将URL发送到智能手机。它针对Google的EddystoneBLE信标进行了优化,除了Apple的iBeacon之外,它还提供了一种开放技术。这个想法是行人可以连接任何支持BLE的设备,例如停车计时器、标牌或零售产品。PlatformIO基于Python的PlatformIO包括一个IDE、项目生成器和基于Web的库管理器,旨在从基于微控制器的Arduino和基于ARMMbed的端点访问数据。它为200多个板提供预配置设置,并与Eclipse、QtCreator和其他IDE集成。ThingSystem是一款基于Node.js的智能家居“主管”软件,声称支持真正的自动化,而不是简单的通知。其自学习人工智能软件可以在无需人工干预的情况下处理许多协作式M2M操作。缺少云组件只会提供更好的安全性、隐私和控制。ThingSpeak已有五年历史的ThingSpeak项目专注于传感器日志、位置跟踪、触发器和警报以及分析。ThingSpeak用户可以使用MATLAB版本进行物联网分析和可视化,而无需从Mathworks购买许可证。ZettaZetta是一个使用Node.js、REST和WebSockets构建的面向服务器的物联网平台。奉行基于数据流的“响应式编程”的开发理念,对接Siren超媒体API。设备被抽象为RESTAPI,与云服务连接,包括可视化工具和对Splunk等机器分析工具的支持。该平台将Linux和Arduino开发板等端点与Heroku等云平台连接起来,以构建地理分布式网络。原标题:21个物联网开源项目作者:EricBrown
