面向物联网的21个开源软件项目有哪些,物联网开源平台搭建
admin 07-26 04:41 166次浏览
2019独角兽企业重金招聘Python工程师标准
51CTOcom直译物联网市场呈现碎片化、无定形化、不断变化的特征,其性质通常只需关注互 *** 作性。 难怪开源在这方面不俗。 ——客户犹豫不决,害怕将物联网的未来寄托在可能难以定制或互联的专有平台上。
本文介绍了主要的开源软件项目,重点讨论了面向家庭和工业自动化的开源技术。 我们忽略了专注于垂直领域的物联网项目,如Automotive Grade Linux和Dronecode。 我们还忽略了面向互联网的开源 *** 作系统发行版,包括Brillo、Contiki、Mbed、OpenWrt、Ostro、Riot和Ubuntusnappping。这次,我们将智能
这里介绍的21个项目包括由Linuxfoundation管理的两个大型项目: Allseen(Alljoyn )和ocf (iotivity ),以及物联网传感器的端点和网关我还介绍了几个专门针对物联网生态系统特定领域的小项目。 我们曾介绍过更多的项目,但越来越难分清物联网软件和普通软件的区别。 从嵌入式环境到云,越来越多的项目都带有物联网元素。
您声称这21个项目都是开源的,但请确保完整的名称不在本文的范围内。 它们至少在生态系统的一个部分运行Linux,大多数都完全支持Linux,从开发环境到云/服务器、网关和传感器端点部件。 大多数组件都有可以在Linux开发板(如Raspberry Pi和BeagleBone )上运行的组件,大多数都支持Arduino。
物联网领域仍然有很多专有技术,特别是在自上而下的企业平台上。 但是,其中也提供了部分开放访问权限。 例如,威瑞森的ThingSpace针对4G智慧城市APP应用,拥有一套免费的开发API,支持开发板,尽管核心平台本身是独一无二的。 相似的是,亚马逊的AWS物联网工具包包括部分开放的设备SDK和开源入门工具包。
其他主要的专有平台包括苹果的HomeKit和微软的Azure物联网工具包。 在拥有230个成员的Thread Group中,该组织监督基于6LoWPAN的对等Thread网络协议。 Thread Group由谷歌的母公司Alphbet旗下的Nest设立,没有提供像AllSeen和OCF那样全面的开源框架。 但是,它与Brillo相关,也与Weave物联网通信协议相关。 5月,Nest发布了名为OpenThread的开源版Thread。
介绍21个面向物联网的开源软件项目。
AllseenAlliance(Alljoyn ) )。
由Allseenalliance(asa )监管的AllJoyn互 *** 作系统框架可能是市场上采用最广泛的开源物联网平台。
Bug Labs dweet和freeboard
bugglas是从制造基于模块化Linux的有bugh的硬件设备开始的,但很久以前就演变成了与硬件无关的企业级物联网平台。 Bug Labs提供“dweet”消息、警告系统和“freeboard”物联网设计APP。 dweet使用HAPI Web API和JSON来帮助发布和描述数据。 freeboard是一种拖放式工具,用于设计物联网仪表板和可视元素。
DeviceHive
DataArt基于AllJoyn的设备管理平台可以运行在许多云服务上,包括Azure、AWS、Apache Mesos和OpenStack。 DeviceHive专注于使用ElasticSearch、Apache Spark、Cassandra和Kafka,分析大数据。 有些网关组件可以在运行Ubuntu Snappy Core的任何设备上运行。 模块化网关软件与DeviceHive云软件和物联网协议配合使用,作为Snappy Core服务进行部署。
DSA
分布式服务架构(DSA )便于集中式设备的互 *** 作性、逻辑和APP应用。 DSA项目正在构建分布式服务链接(DSLinks )库,以支持协议转换以及与第三方数据源的数据集成。 DSA提供了一个可扩展的网络拓扑,其中包括多个DSLinks,用于在连接到分层代理分层结构的物理互联网边缘设备上运行。
EclipseIOT(Kura ) )。
Eclipse基金会的物联网主要围绕基于Java/OSGi的Kura API容器和聚合平台,支持在服务网上运行的m2m APP应用。 Kura基于Eurotech的Everywhere Cloud物联网框架往往与Apache Camel集成,后者是基于Java的基于规则的路由和中介引擎。 Eclipse物联网子项目包括Paho消息传递协议框架、面向轻量级服务器的Mosquitto MQTT体系结构和Eclipse SmartHome框架。 有些项目实现名为Californium的基于Java的受限APP应用协议(CoAP )。
Kaa
CyberVision支持的Kaa项目为云互联的大型物联网提供了可扩展的端到端物联网框架。
该平台包括一种支持REST的服务器功能,可用于服务、分析和数据管理,通常部署成由Apache Zookeeper协调的节点集群。Kaa的端点SDK支持Java、C++和C开发,负责处理客户机/服务器通信、验证、加密、持久性和数据编排。SDK包括针对特定服务器、支持GUI的模式,这些模式可转换成物联网物件绑定。模式治理语义,并抽象一组迥异设备的功能。
Macchinaio
Macchinaio提供了一种“支持Web、模块化、可扩展的”JavaScript和C++运行时环境,可用于开发在Linux开发板上运行的物联网网关应用程序。Macchinaio支持一系列广泛的传感器和连接技术,包括Tinkerforge bricklet、XBee ZB传感器、GPS/GNSS接收器、串行和GPIO联网设备以及方向感应器。
GE Predix
GE面向工业物联网的平台即服务(PaaS)软件基于Cloud Foundry。它增添了资产管理、设备安全、实时预测分析,并支持不同数据的采集、存储和访问。GE Predix是GE为内部运营而开发的,它已成为最成功的企业物联网平台之一,收入大约60亿美元。GE最近与HPE达成了合作伙伴关系,HPE将把Predix整合到自己的服务中。
Home Assistant
这个作为后起之秀的草根项目提供了一种面向Python的家居自动化方法。
Mainspring
M2MLabs的基于Java的框架针对远程监控、车队管理和智能电网等应用领域中的M2M通信。与许多物联网框架一样,Mainspring高度依赖REST Web服务,并提供了设备配置和建模工具。
Node-RED
这种面向Nodejs开发人员的可视化布线工具拥有基于浏览器的数据流编辑器,可用于设计物联网节点当中的数据流。然后,节点可以迅速部署成运行时环境,并使用JSON来存储和共享。端点可以在Linux开发板上运行,支持的云包括Docker、IBM Bluemix、AWS和Azure。
Open Connectivity Foundation(IoTivity)
英特尔和三星支持的开放互联联盟(OIC)组织和UPnP论坛组成的这个组织正在努力成为物联网方面领先的开源标准组织。OCF的开源IoTivity项目依赖充分利用的JSON和CoAP。
openHAB
OpenIoT
这款基于Java的OpenIoT中间件旨在使用一种公用云计算交付模式,为开放、大规模的物联网应用提供便利。除了表示物联网物件的本体、语义模型和标注外,该平台还包括传感器和传感器网络中间件。
OpenRemote
OpenRemote为家庭和楼宇自动化而设计,它以广泛支持众多智能设备和网络规范而出名,比如1-Wire、EnOcean、 xPL、Insteon和X10等规范。规则、脚本和事件都得到支持,还有基于云的设计工具,可用于用户界面、安装、配置、远程更新及诊断。
OpenThread
这是Nest最近从基于6LoWPAN的物联网Thread无线网络标准分离出来的开源项目,它还得到了ARM、Microchip旗下的Atmel、Dialog、高通和德州仪器的支持。OpenThread实现了所有Thread网络层,还实现了Thread的端点设备、路由器、Leader和边界路由器等角色。
Physical Web/Eddystone
谷歌的Physical Web让蓝牙低能耗(BLE)信标可以将URL发送到智能手机。它针对谷歌的Eddystone BLE信标经过了优化,这提供了除苹果的iBeacon之外的一种开放技术。其想法是,行人可以与任何具有BLE功能的支持性设备(比如汽车停放计时器、标牌或零售产品)联系。
PlatformIO
基于Python的PlatformIO包括IDE、项目生成器和基于Web的库管理器,它是为访问来自基于微控制器的Arduino和基于ARM Mbed的端点的数据设计的。它为200多种板卡提供了预先配置的设置,并与Eclipse、Qt Creator及其他IDE整合起来。
The Thing System
这种基于Nodejs的智能家居“监管”软件声称支持真正的自动化,而不是简单的通知。其自学习人工智能软件可处理许多协同式M2M *** 作,不需要由人干预。缺少云组件恰恰提供了更好的安全性、隐私性和控制性。
ThingSpeak
成立五年的ThingSpeak项目专注于传感器日志、位置跟踪、触发器及提醒以及分析。ThingSpeak用户可以使用用于物联网分析和可视化的MATLAB版本,不需要向Mathworks购买许可证。
Zetta
Zetta是一种面向服务器的物联网平台,利用Nodejs、REST和WebSockets构建而成,奉行基于数据流的“响应式编程”开发理念,用Siren超媒体API连接起来。设备被抽取成REST API,用云服务连接起来,这些服务包括可视化工具,并支持Splunk之类的机器分析工具。该平台可将Linux和Arduino开发板之类的端点与Heroku之类的云平台连接起来,以便构建地理分布式网络。
转载于:>
1.嵌入式Linux
嵌入式Linux(EmbeddedLinux)是标准Linux经过小型化裁剪处理之后的专用Linux *** 作系统,能够固化于容量只有几KB或者几MB的存储器芯片或者单片机中,适合于特定嵌入式应用场合。目前已经开发成功的嵌入式系统中,大约一半的系统使用嵌入式Linux。
这与它的父辈—Linux自身的优良特性是分不开的。
首先,Linux系统具有鲜明的层次结构且内核完全开放。Linux由很多体积小且性能高的微内核和系统组成。在内核代码完全开放的前提下,不同领域和不同层次的用户可以根据自己的应用需要很容易地对内核进行裁剪,在低成本的前提下,设计和开发出真正满足自己需要的嵌入式系统。
其次,Linux具有强大的网络支持功能。Linux诞生于因特网并具有UNIX的特性,这就保证了它支持所有标准因特网协议,并且可以利用Linux的网络协议栈开发出嵌入式TCP/IP网络协议栈。
再次,Linux具备一套完整的工具链,容易自行建立嵌入式系统的开发环境和交叉运行环境,并且可以跨越嵌入式系统开发中仿真工具的障碍。一般,嵌入式 *** 作系统的程序调试和跟踪都是使用仿真器来实现的,而使用Linux系统做原型的时候就可以绕过这个障碍,直接使用内核调试器来进行 *** 作系统的内核调试。
最后,Linux具有广泛的硬件支持特性。无论是RISC还是CISC,无论是32位还是64位处理器,Linux都能在其上运行。Linux最通常使用的微处理器是IntelX86芯片家族,但它也能运行于嵌入式处理器上,这意味着嵌入式Linux将具有更广泛的应用前景。
嵌入式Linux同Linux一样,具有低成本、多种硬件平台支持、优异的性能和良好的网络支持等优点。另外,为了更好地适合嵌入式领域的开发,嵌入式Linux还在Linux基础上做了部分改进,如将其内核结构由整体式结构改为微内核结构,并且还提高了系统的实时性。
嵌入式Linux同Linux一样,也有众多的版本,不同的版本针对不同的需要在内核等方面加入了特定的机制。
目前,朱有鹏老师提供了有关Linux最全面深入系统性的教学课程,可以搜索朱有鹏物联网大讲堂,官网观看免费视频。
2.VxWorks
VxWorks *** 作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时 *** 作系统(RTOS),VxWorks具有以下优点。
·实时性好。其系统本身的开销很小,进程调度、进程间通信、中断处理等系统公用程序精练而有效,使得它们产生的延迟很短。另外VxWorks提供的多任务机制中对任务的控制采用优先级抢占和轮转调度机制,充分保证了可靠的实时性。
·可靠性高,从而保证了用户工作环境的稳定。
·集成开发环境完备、强大,方便了用户的使用。
但是,由于VxWorks源码不公开,它部分功能的更新(如网络功能模块)滞后。VxWorks的开发和使用都需要交高额的专利费,这就大大增加了用户开发的成本。
3.QNX
QNX由加拿大QNX软件系统有限公司开发,广泛应用于自动化、控制、机器人科学、电信、数据通信、航空航天、计算机网络系统、医疗仪器设备、交通运输、安全防卫系统、POS机、零售机等任务关键型应用领域。
QNX独特的微内核和消息传递结构使其运行和开发时非常方便。QNX具有非常好的伸缩性,用户可以把应用程序代码和QNX内核直接编译在一起,使之为简单的嵌入式应用生成单一的映像。
4.WindowsCE(推荐课程:WindowsCE系统定制与驱动开发培训班)
WindowsCE是微软公司开发的一个开放的、可升级的32位嵌入式 *** 作系统,是基于掌上型电脑类的电子设备 *** 作系统。WindowsCE的图形用户界面相当出色,WindowsCE具有模块化、结构化、基于Win32应用程序接口以及与处理器无关等特点。
WindowsCE继承了传统的Windows图形界面,用户在WindowsCE平台上可以使用Windows95/98上的编程工具(如VisualBasic、VisualC等),使用同样的函数,使用同样的界面风格,Windows上的绝大多数应用软件只需简单修改和移植就可以在WindowsCE平台上继续使用。但是WindowsCE开发平台较为昂贵,在一定程度上限制了其发展。
5.PalmOS
PalmOS在PDA领域有着很大的用户群,一度占领PDA *** 作系统90%以上市场份额。PlamOS最明显的特点是精简,它的内核只有几千个字节,同时用户也可以方便地开发、定制,具有较强的可 *** 作性。
6.C/OS
源代码公开,代码结构清晰、明了,注释详尽,组织有条理,可移植性好,可裁剪,系统短小精悍,是研究和学习实时 *** 作系统的首选,但在工程应用领域使用较少。
微控制器和处理器
微控制器 - 微控制器英文写法是 Microcontroller Unit,简写为MCU。微控制器是将计算机运行所需要的一些资源(如ROM、RAM、I/O、定时器、ADC、DAC等)集成到了一个芯片上,可称之为单片微型计算机(Single Chip Microcomputer),俗称为单片机。因软件存放在微控制器的存储器中,与硬件紧密配合使用,又称之为嵌入式微控制器(Embedded Microcontroller Unit,EMCU)。
处理器 - 处理器又称为中央处理器(CPU,Central Processing Unit),处理器一般需要依赖外部的硬盘或存储介质进行运行,系统资源丰富、复杂。是计算机、电脑、平板和手机等的核心
根据处理性能的不同,运行的 *** 作系统也有所不同。微控制器多运行实时 *** 作系统(RTOS),对任务时间性要求比较高。处理器多运行Windows、Linux、Android、iOS等 *** 作系统,对任务处理能力要求比较高。
物联网 *** 作系统的特点
一般地,对实时性控制要求比较高的应用MCU用不到RTOS,如电机控制等。而随着物连接到网络的发展,对通信协议有了新的需求,RTOS就可以比较好地对通信进行管理。物联网 *** 作系统没有严格的定义,可以将物联网 *** 作系统特性,简单地概况如下:
连接 - 互联互通、互 *** 作性
安全 - 设备安全、通信安全、数据安全
能效 - 设备能耗管理
通信 - 支持通信协议,如低功耗蓝牙、以太网、Thread、 Wi-Fi、Zigbee、6LoWPAN、LPWAN(LoRa、NB-IoT…)等等
标准 - 开放标准,开放的标准有利于设备的互联互通
微控制器 *** 作系统
ARM mbed OS - ARM公司专为物联网 (IoT) 中的“物体”设计的开源嵌入式 *** 作系统,主要支持ARM Cortex-M微控制器
FreeRTOS - 非常流行的嵌入式 *** 作系统,支持多种微控制器
Contiki OS - Contiki是一个开源的物联网 *** 作系统。 Contiki将小型低成本、低功耗微控制器连接到互联网。Contiki是构建复杂无线系统的强大工具箱。
LiteOS - 类UNIX *** 作系统,多用于无线传感网络
RIOT - 物联网友好的 *** 作系统。RIOT实现了所有物联网相关的开放标准,支持连接、安全、耐用和隐私。
TinyOS - 适用于低功耗无线设备,用于无线传感器网络
Huawei LiteOS - 华为公司的 *** 作系统。Huawei LiteOS是轻量级的开源物联网 *** 作系统、智能硬件使能平台,可广泛应用于智能家居、穿戴式、车联网、制造业等领域,使物联网终端开发更简单、互联更加容易、业务更加智能、体验更加顺畅、数据更加安全。
μTenux - 基于ARM Cortex M0-M4的开源物联网嵌入式 *** 作系统。内核源于T-kernel。
RT-Thread - 中国的开源嵌入式实时 *** 作系统
ChibiOS/RT - 提供了一个嵌入式应用的完整开发环境(RTOS、HAL、外设驱动、支持文件和工具)
Micrium uCOS - 免费商业化应用需授权,2016年为Slicon Labs收购
Unison - Unison RTOS是面向IoT和M2M通信嵌入式应用的实时 *** 作系统
Zephyr - Zephyr项目是一个可扩展的实时 *** 作系统(RTOS),支持多种硬件架构,针对资源有限的设备进行了优化,并以安全性为基础构建。由Linux基金会托管。
eCos - eCos是面向嵌入式应用的免费开源实时 *** 作系统。高度可配置性使得eCos能够根据精确的应用需求进行定制,提供最佳的运行时性能和优化的硬件资源占用。
TI-RTOS Kernel - TI公司的RTOS
NXP MQX - NXP(原Freescale公司)的RTOS
处理器 *** 作系统
Android Things, Google物联网 *** 作系统
Windows 10 IoT,微软物联网 *** 作系统
SylixOS,是一款嵌入式硬实时 *** 作系统
还有更多的 *** 作系统,在此不一一列出。
物联网其实到目前为止也没有一个精确的定义,一般来说,我们认为物联网是传统的互联网向物理世界的一个延伸。通过连接物理世界,使得网络能够更好的为人类服务。物联网能够广泛用在生产和生活的各个方面,产生了如智慧家庭、智慧城市、智慧农业、智慧医疗、智慧环境等一系列相关的应用场景。涉及的主要技术包括以下几种:
1、传感器网络技术
传感器网络实现了数据的采集、处理和传输三种功能。它与通信技术和计算机技术共同构成信息技术的三大支柱。传感器网络是由各种各样的传感器节点所组成,用以进行信息的收集、传输和处理的网络系统。
作为物联网感知和获取数据信息的重要手段,传感器网络在物联网中发挥着极为重要的作用。无线传感器网络是一项通过无线通信技术把数以万计的传感器节点以自由式进行组织与结合进而形成的网络形式。
无线传感器网络主要由三大部分组成,包括节点、传感网络和用户这3部分。其中,节点一般是通过一定方式将节点覆盖在一定的范围,整个范围按照一定要求能够满足监测的范围;传感网络是最主要的部分,它是将所有的节点信息通过固定的渠道进行收集,然后对这些节点信息进行一定的分析计算,将分析后的结果汇总到一个基站,最后通过卫星通信传输到指定的用户端,从而实现无线传感的要求。
构成传感器节点的单元分别为:数据采集单元、数据传输单元、数据处理单元以及能量供应单元。
(1) 数据采集单元,通常都是采集监测区域内的信息并加以转换,比如温湿度、光照度等;
(2) 数据传输单元则主要以无线通信和交流信息以及发送接收那些采集进来的数据信息为主;
(3) 数据处理单元通常处理的是全部节点的路由协议和管理任务以及定位装置等;能量供应单元为缩减传感器节点占据的面积,会选择微型电池的构成形式。
2、RFID技术
射频识别(Radio Frequency Identification, RFID),是一种利用无线电波进行信息交换与存储的技术,通过无线射频来对电子标签进行读写,以达到自动识别目标以及信息交换目的。
RFID系统通常由读写器、电子标签与数据管理系统组成,其工作原理一般是由读写器在一定范围内发送无线电射频信号,当电子标签接收到读写器所发射的无线电信号时,就会利用感应电流所获得的能量(无源RFID),或者主动发送无线电信号(有源RFID)将标签芯片内所存储的产品信息发送出去,读写器接收到电子标签所发射的信息并解码后,再将这些数据信息反馈至数据管理系统进行数据处理。
RFID系统主要由标签、阅读器和天线三部分组成。一般由阅读器收集到的数据信息传送到后台系统进行处理。
(1)标签:标签由耦合元件及芯片组成,每个电子标签都具有唯一的电子编码,附着在物体上标识目标对象;每个标签都有一个全球唯一的ID号码——UID(用户身份z明),其在制作标签芯片时存放在ROM中,无法修改,其对物联网的发展有着很重要的影响。
(2)阅读器:阅读器是读取或写入标签信息的设备,可设计为手持式或固定式等多种工作方式。对标签进行识别、读取和写入 *** 作,一般情况下会将收集到的数据信息传送到后台系统,由后台系统处理数据信息。
(3)天线:天线是用来在标签和阅读器之间传递射频信号。射频电路中的天线是联系阅读器和电子标签的桥梁,阅读器发送的射频信号能量,通过天线以电磁波的形式辐射到空间,当电子标签的天线进入该空间时,接收电磁波能量,但只能接收其很小的一部分。
3、嵌入式系统技术
嵌入式系统一般是用户针对特殊需求而定制的,能够被内部计算机控制的设备或系统。嵌入式系统往往结合了计算机技术、通信技术以及自动化技术,使得传统的机电产品智能化,并具有故障诊断、自动报警以及信息传输和远程控制等多种功能,用以实现产品使用与管理的信息化、智能化。
由于嵌入式系统体积小、功能强且成本较低等,使其广泛应用于智能家居、车联网等领域。嵌入式系统的核心由一个或多个微处理器或微控制器组成,这些微处理器或微控制器经过预编程以执行一些任务。嵌入式系统上的软件通常是暂时不变的。嵌入式系统需要与应用紧密结合的,它具有很强的专用性,必须结合实际系统需求进行合理的裁减利用。用先进的计算机技术、半导体技术和电子技术与各行业的具体应用相结合的知识集成系统。
从应用角度可分为通用型嵌入式 *** 作系统和专用型嵌入式 *** 作系统。常见的通用型嵌入式 *** 作系统有Linux、VxWorks、Windows >
鸿蒙不是基于linux开发的,是基于微内核开发的。
鸿蒙微内核是基于微内核的全场景分布式OS,可按需扩展,实现更广泛的系统安全,主要用于物联网,特点是低时延,甚至可到毫秒级乃至亚毫秒级。
鸿蒙OS实现模块化耦合,对应不同设备可d性部署,鸿蒙OS有三层架构,第一层是内核,第二层是基础服务,第三层是程序框架。
扩展资料:
华为推出的鸿蒙系统试图解决物联网时代多终端开发难题。余承东介绍,鸿蒙系统拥有分布式OS架构、确定时延引擎和高性能IPC技术等新特性。
可以让鸿蒙OS实现一端开发、多端部署。这个万物互联时代带来的新机遇,终于被华为等到了,而华为在自研软硬件上的储备,要远超普通人的想象。
据华为技术老兵近期发表的《华为 *** 作系统28年史》介绍,华为的 *** 作系统经过了独立开发、基于第三方微内核开发RTOS、基于开源的嵌入式Linux宏内核开发等多个历程。
华为先后开发出了路由器和数据通信交换机 *** 作系统VRP、云计算 *** 作系统Fusion Sphere、服务器 *** 作系统欧拉Euler OS和物联网嵌入式 *** 作系统Lite OS。
参考资料来源:百度百科—鸿蒙
参考资料来源:人民网—鸿蒙出世 国产 *** 作系统破局?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)