linuxfoundation有哪些开源项目

物联网091

linuxfoundation有哪些开源项目,第1张

花开半夏

面向物联网的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之类的云平台连接起来,以便构建地理分布式网络。

转载于:>

作者:西瓜君

来源:知乎

安全是物联网应用的一个痛点为了实现安全,需要一系列的手段,包括安全的通信(secure communication),安全的的执行(TEE),安全的启动(secure boot)TZ属于TEE ARMv8M的TZ-M与以往的TrustZone不同的是,更加简单,取消了专门的monitor mode,系统是否处于安全模式由当前CPU所运行的区域决定,如果CPU运行在Secure区域则是安全态,运行在Non-secure区域则是非安全态, 具体细节可以看ARM的白皮书。

从SoC的角度来看,除了CPU外,还需要其他部件的配合,总线啊,安全外设,对DMA的处理啊等等。

从应用上看,三表(水电气),智慧城市,汽车电子,U盾,工业自动化等等,都有很大的应用空间。对于普通用户而言,是很难感觉得到变化的。

没有TZ的话,也可以做安全设计,那就是基于MPU和USER/Kernel模式来实现,ARM Mbed中uVisor就是一个这样安全运行时。

对嵌入式系统而言,原有的设计大部分是运行在Kernel模式下的,要改成基于MPU和User/Kernel的安全设计,还是要大动干戈的。有了TZ-M, 则可以比较方便的应用安全设计,只需要重新设计安全部分以及更改非安全部分的一些接口就可以了。

在硬件实现上,TZ并不会增加许多芯片面积。相反可能会简化应用设计,如需要两个独立芯片(一个安全,一个非安全的),可以用一个支持TZ-M的芯片代替。

除了ARM的TrustZone-M外,其他厂家也有相应的安全解决方案,如Synopys的DesignWare ARC SecureShield, MIPS的MIPS-VZ

一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成,嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。执行装置也称为被控对象,它可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。执行装置可以很简单,如手机上的一个微小型的电机,当手机处于震动接收状态时打开;也可以很复杂,如SONY智能机器狗,上面集成了多个微小型控制电机和多种传感器,从而可以执行各种复杂的动作和感受各种状态信息。

硬件层

硬件层中包含嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备接口和I/O接口(A/D、D/A、I/O等)。在一片嵌入式处理器基础上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心控制模块。其中操作系统和应用程序都可以固化在ROM中。

(1)嵌入式微处理器

嵌入式系统硬件层的核心是嵌入式微处理器,嵌入式微处理器与通用CPU最大的不同在于嵌入式微处理器大多工作在为特定用户群所专用设计的系统中,它将通用CPU许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统在设计时趋于小型化,同时还具有很高的效率和可靠性。

嵌入式微处理器的体系结构可以采用冯·诺依曼体系或哈佛体系结构;指令系统可以选用精简指令系统(ReducedInstructionSet Computer,RISC)和复杂指令系统CISC(Complex Instruction Set Computer,CISC)。RISC计算机在通道中只包含最有用的指令,确保数据通道快速执行每一条指令,从而提高了执行效率并使CPU硬件结构设计变得更为简单。

嵌入式微处理器有各种不同的体系,即使在同一体系中也可能具有不同的时钟频率和数据总线宽度,或集成了不同的外设和接口。据不完全统计,全世界嵌入式微处理器已经超过1000多种,体系结构有30多个系列,其中主流的体系有ARM、MIPS、PowerPC、X86和SH等。但与全球PC市场不同的是,没有一种嵌入式微处理器可以主导市场,仅以32位的产品而言,就有100种以上的嵌入式微处理器。嵌入式微处理器的选择是根据具体的应用而决定的。

(2)存储器

嵌入式系统需要存储器来存放和执行代码。嵌入式系统的存储器包含Cache、主存和辅助存储器。

1、Cache

Cache是一种容量小、速度快的存储器阵列它位于主存和嵌入式微处理器内核之间,存放的是一段时间微处理器使用最多的程序代码和数据。在需要进行数据读取操作时,微处理器尽可能的从Cache中读取数据,而不是从主存中读取,这样就大大改善了系统的性能,提高了微处理器和主存之间的数据传输速率。Cache的主要目标就是:减小存储器(如主存和辅助存储器)给微处理器内核造成的存储器访问瓶颈,使处理速度更快,实时性更强。

在嵌入式系统中Cache全部集成在嵌入式微处理器内,可分为数据Cache、指令Cache或混合Cache,Cache的大小依不同处理器而定。一般中高档的嵌入式微处理器才会把Cache集成进去。

2、主存

主存是嵌入式微处理器能直接访问的寄存器,用来存放系统和用户的程序及数据。它可以位于微处理器的内部或外部,其容量为256KB~1GB,根据具体的应用而定,一般片内存储器容量小,速度快,片外存储器容量大。

keil studio桌面版会于2021年年底上线,KEIL Studio的完全体应该是:支持浏览器版,桌面版,并且支持通过IDE和命令行连续集成。面向物联网,机器学习和单片机。

Keil Studio的第一个组件Keil Studio Cloud已经开始beta版测评,支持在浏览器上添加软件包,编辑,调试和Git。

用户可以在浏览器直接远程连接桌面版IDE。

直接集成Git,支持团队协作开发和现代 CI 工作流。

灵活的在线编译器最早是在Mbed上推出的,现在全面加入Keil Studio。

针对物联网,推出OTA编程,测试和更新一条龙。

针对机器学习,让M内核物联网节点直接对采集数据做计算。

准确的说,mbed OS是专门为物联网定制的一个操作系统: 下面一段定义来自于ARM官网: 专为基于ARM Cortex-M处理器的设备所设计的免费操作系统,将物联网所需的所有基础组件,包括安全, 通信传输与设备管理等功能,整合为一套完整软件,以协助开发低功耗,产品级的物联网设备并实现量产。 这套操作系统将自2014年第四季度起作为初期开发工具提供给mbed合作伙伴,首批采用mbed操作系统的设备预计于2015年问世。 mbed官网是这样定义自己的: We are creating a modern full-stack operating system that is designed specifically for ARM Cortex®-M-based MCUs 这是一个为物联网打造的操作系统,不要把它想做可以和Android或IOS相抗衡的操作系统,ARM提供一大堆套件,不得不说这些套件都很好很强大。

以上就是关于linuxfoundation有哪些开源项目全部的内容,包括:linuxfoundation有哪些开源项目、现在物联网火成这样,那物联网操作系统的市场怎么样、如何看待ARM推出带有TrustZONE功能的IP核Cortex-M23/M33等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!