物联网软件Android Things、Edgex foundry、AliOS Things、Robo4J介绍

以下为你介绍的物联网软件都可用在Linux系统上:Android Things(物联网开发平台)、Edgex foundry(面向物联网端的边缘计算开源平台)、AliOS Things(轻量级物联网嵌入式操作系统)、Robo4J(构建和运行机器人以及 IoT 设备的框架)。

1、Android Things(物联网开发平台)

物联网软件Android Things、Edgex foundry、AliOS Things、Robo4J介绍

Android Things 是 Google 推出的平台,旨在帮助 Android 开发者打造物联网 (IoT) 设备。这个平台还支持强大的应用,例如视频与音频处理以及通过 TensorFlow 进行板载机器学习。

它继承Brillo的功能外,还增加了Android API和Google服务的支持,以及一些Android Things的支持库。

上面这张架构图展示了Android Things的结构,Google已经将Apps层以下的部分都为我们准备好了,开发者可以专注于App的开发,而且它是和现有的Android应用共享了大部分的API。

下载地址:https://developer.android.google.cn/things/

2、Edgex foundry(面向物联网端的边缘计算开源平台)

物联网软件Android Things、Edgex foundry、AliOS Things、Robo4J介绍

EdgeXFoundry 是一个面向工业物联网边缘计算开发的标准化互操作性框架,部署于路由器和交换机等边缘设备上,为各种传感器、设备或其他物联网器件提供即插即用功能并管理它们,进而收集和分析它们的数据,或者导出至边缘计算应用或云计算中心做进一步处理。EdgeXFoundry 针对的问题是物联网器件的互操作性问题。目前,具有大量设备的物联网产生大量数据,迫切需要结合边缘计算的应用,但物联网的软硬件和接入方式的多样性给数据 接入功能带来困难,影响了边缘计算应用的部署。EdgeXFoundry 的主旨是简化和标准化工业物联网边缘计算的架构,创建一个围绕互操作性组件的生态系统。

上图展示了EdgeX Foundry的架构。在图中的最下方是“南侧”,指的是所有物联网器件,以及与这些设备,传感器或其他物联网器件直接通信的边缘网络。在图的最上方是“北侧”,指的是云计算中心或企业系统,以及与云中心通信的网络部分。南侧是数据产生源,而北侧收集来自南侧的数据,并对数据进行存储、聚合和分析。如上图所示,EdgeXFoundry 位于南侧和北侧两者之间,由一系列微服务组成,而这些微服务可以被分成 4个服务层和2个底层增强系统服务。微服务之间通过一套通用的Restful应用程序编程接口(API)进行通信。下面是针对上图:EdgeXFoundry的架构图的注解:

BACNET:楼宇自动化与控制网络

BLE:低功耗蓝牙

MQTT:消息队列遥测传输

OPC-UA:OPC统一框架

REST:RESTful应用程序编程接口

SDK:软件开发工具包

SNMP:简单网络管理协议

VIRTUAL:虚拟设备

(1)设备服务层。设备服务层主要提供设备接入的功能,由多个设备服务组成。每个设备服务是用户根据设备服务软件开发工具包(SDK)编写生成的一个微服务。EdgeXFoundry使用设备文件去定义一个南侧设备的相关信息,包括源数据格式,存储在EdgeXFoundry 中的数据格式以及对该设备的操作命令等信息。设备服务将来自设备的数据进行格式转换,并发送至核心服务层。目前,EdgeX Foundry提供了消息队列遥测传输协议(MQTT)、ModBus串行通信协议和低功耗蓝牙协议(BLE)等多种接入方式。

(2)核心服务层。核心服务层由核心数据、命令、元数据、注册表和配置4个微服务组件组成。核心数据微服务存储和管理来自南侧设备的数据、元数据微服务存储和管理设备的元数据。命令微服务将定义在设备文件的操作命令转换成通用的API,提供给用户以监测控制该设备。注册表和配置微服务存储设备服务的相关信息。

(3)支持服务层。支持服务层提供边缘分析和智能服务,以规则引擎微服务为例,允许用户设定一些规则,当检测到数据满足规则要求时,将触发一个特定的操作。例如规则引擎可监测控制温度传感器,当检测到温度低于25度时,触发对空调的关闭操作。

(4)导出服务层。导出服务层用于将数据传输至云计算中心,由客户端注册和分发等微服务组件组成。前者记录已注册的后端系统的相关信息,后者将对应数据从核心服务层导出至指定客户端。

(5)系统管理和安全服务:系统管理服务提供安装、升级、启动、停止和监测控制EdgeX Foundry 微服务的功能。安全服务用以保障来自设备的数据和对设备的操作安全。

最新版本的 EdgeXFoundry 没有为用户自定义应用提供计算框架,用户可以将应用部署在网络边缘,将该应用注册为导出客户端,进而将来自设备的数据导出至应用来处理。EdgeX Foundry 的设计满足硬件和操作系统无关性,并采用微服务架构。EdgeXFoundry 中的所有微服务能够以容器的形式运行于各种操作系统,且支持动态增加或减少功能,具有可扩展性。EdgeXFoundry 的主要系统特点是为每个接入的设备提供通用的 RestfulAPI以操控该设备,便于大规模地监测控制物联网设备,满足物联网应用的需求。EdgeXFoundry 的应用领域主要在工业物联网,如智能工厂、智能交通等场景,以及其他需要接入多种传感器和设备的场景。

开始使用:

EdgeX在我们组织的DockerHub页面中提供了docker映像。可以使用docker-compose轻松启动它们。

最简单的入门方法是获取最新的docker-compose.yml并启动EdgeX容器:

wget https://raw.githubusercontent.com/edgexfoundry/developer-scripts/master/releases/edinburgh/compose-files/docker-compose-edinburgh-1.0.1.yml

docker-compose up -d

您可以通过转到http://localhost:8500/检查运行的EdgeX服务的状态。

现在您已经启动并运行EdgeX,您可以按照我们的API演练来了解不同的服务如何协同工作以将IoT设备连接到云服务。

下载地址:https://gitee.com/mirrors/Edgex-foundry

3、AliOS Things(轻量级物联网嵌入式操作系统)

物联网软件Android Things、Edgex foundry、AliOS Things、Robo4J介绍

AliOS家族旗下面向IoT领域的轻量级物联网嵌入式操作系统AliOS Things将致力于搭建云端一体化IoT基础设施,具备极致性能、极简开发、云端一体、丰富组件、安全防护等关键能力,并支持终端设备连接到阿里云Link,可广泛应用在智能家居、智慧城市、新出行等领域。

AliOS Things 特性:

1]、极简开发

基于Linux平台,提供MCU虚拟化环境,开发者直接在Linux平台上开发硬件无关的IoT应用和软件库,使用GDB/Valgrind/SystemTap 等PC平台工具诊断开发问题。

提供IDE,支持系统/内核行为Trace、Mesh组网图形化显示。

提供Shell交互,支持内存踩踏、泄露、最大栈深度等各类侦测。

提供面向组件的编译系统以及Cube工具,支持灵活组合IoT产品软件栈。

提供包括存储(掉电保护、负载均衡)在内的各类产品级别的组件。

2]、即插即用的连接和丰富服务

支持umesh即插即用网络技术,设备上电自动连网。

通过Alink与阿里云计算IoT服务无缝连接。

3]、细颗粒度的FOTA更新

支持应用代码独立编译映像,IoT App独立极小映像升级。

支持映像高度压缩。

4]、彻底全面的安全保护

提供系统和芯片级别安全保护。

支持可信运行环境(支持ARMV8-M Trust Zone)。

支持预置ID2根身份证和非对称密钥以及基于ID2的可信连接和服务。

5]、高度优化的性能

内核支持Idle Task成本,Ram<1K,Rom<2k,提供硬实时能力。

提供YLOOP事件框架以及基于此整合的核心组件,避免栈空间消耗,核心架构良好支持极小FootPrint的设备。

6]、解决IoT实际问题的特性演进

更好的云端一体融合优化,更简单的开发体验,更安全,更优整体性能和算法支持,更多的特性演进。

下载地址:https://github.com/alibaba/AliOS-Things

4、Robo4J(构建和运行机器人以及 IoT 设备的框架)

Robo4J是快速开始构建和运行机器人和IoT设备的框架。

Robo4J是一组 Java库,允许您使用自己喜欢的工具和语言来快速开发所需的软件。

特点:

以很少的硬件经验快速构建机器人和物联网系统。

以声明方式快速将不同的硬件单元连接在一起。

花更多的时间在有趣的东西上,像编程机器人的行为,更少的时间学习底层硬件的每一个细节,编写代码,把它放在一起。

Robo4J目前支持Raspberry Pi和Lego EVO3平台。

注:让您的Java应用程序与物理现实交互是非常有趣的!

下载地址:https://github.com/Robo4J/robo4j

注明

以上就是物联网软件Android Things、Edgex foundry、AliOS Things、Robo4J的介绍内容,这些物联网软件都能使用在Linux操作系统中。

栏目相关文章