欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

工业互联网 第 4 章 各类工业互联网平台介绍以及OneNET平台使用

程序员文章站 2022-03-22 13:15:16
...

1.工业互联网平台公司

目前世界上有几十家工业互联网平台:

国内:

工业互联网 第 4 章 各类工业互联网平台介绍以及OneNET平台使用

国外:

工业互联网 第 4 章 各类工业互联网平台介绍以及OneNET平台使用

 

2.OneNET平台介绍

OneNET是中国移动打造的高效、稳定、安全的物联网开放平台。OneNET支持适配各种网络环境和协议类型,可实现各种传感器和智能硬件的快速接入,提供丰富的API和应用模板以支撑各类行业应用和智能硬件的开发,有效降低物联网应用开发和部署成本,满足物联网领域设备连接、协议适配、数据存储、数据安全以及大数据分析等平台级服务需求。

功能架构:

工业互联网 第 4 章 各类工业互联网平台介绍以及OneNET平台使用

客户收益:

工业互联网 第 4 章 各类工业互联网平台介绍以及OneNET平台使用

OneNET已构建“云-网-边-端”整体架构的物联网能力,具备接入增强、边缘计算、增值能力、AI、数据分析、一站式开发、行业能力、生态开放8大特点。全新版本OneNET平台,向下延展终端适配接入能力,向上整合细分行业应用,可提供设备接入、设备管理等基础设备管理能力,以及位置定位LBS、远程升级OTA、数据可视化View、消息队列MQ等PaaS能力。同时随着5G网络的到来,平台也在打造5G+OneNET新能力,重点提供并优化视频能力Video、人工智能AI、边缘计算Edge等产品能力,通过高效、稳定、多样的组合式服务,让各项应用实现轻松上云,完美赋能行业端到端应用。。

工业互联网 第 4 章 各类工业互联网平台介绍以及OneNET平台使用

OneNET主要功能如下:

设备接入

  • 支持多种行业及主流标准协议的设备接入,提供如NB-IoT(LWM2M)、MQTT、EDP、JT808、Modbus、HTTP等物联网套件,满足多种应用场景的使用需求
  • 提供多种语言开发SDK,帮助开发者快速实现设备接入
  • 支持用户协议自定义,通过TCP透传方式上传解析脚本来完成协议的解析

设备管理

  • 提供设备生命周期管理功能,支持用户进行设备注册,设备更新,设备查询、设备删除
  • 提供设备在线状态管理功能,提供设备上下线的消息通知,方便用户管理设备的在线状态
  • 提供设备数据存储能力,便于用户进行设备海量数据存储于查询
  • 提供设备调试工具以及设备日志,便于用户快速调试设备以及定位设备问题

位置定位LBS

  • 提供基于基站的定位能力,支持三网的2G/3G/4G基站定位,覆盖大陆及港澳台地区
  • 支持NB-IoT基站定位,满足NB设备的位置定位场景
  • 提供7天连续时间段位置查询,可查询在定位时间段内任意7天段的历史轨迹

远程升级OTA

  • 提供对终端模组的远程FOTA升级,支持2G/3G/4G/NB-IoT/WIFI等类型模组
  • 提供对终端MCU的远程SOTA升级,满足用户对应用软件的迭代升级需求
  • 支持升级群组以及策略设置,支持完整包和差分包升级

消息队列MQ

  • 基于分布式技术架构,具有高可用性、高吞吐量、高扩展性等特点
  • 支持TLS加密传输,提高传输安全性
  • 支持多个客户端对同一队列进行消费
  • 支持业务缓存功能,具有削峰去谷特性

数据可视化View

  • 免编程,可视化拖拽配置,10分钟完成物联网可视化大屏开发
  • 提供丰富的物联网行业定制模版和行业组件
  • 支持对接OneNET内置数据、第三方数据库、Excel静态文件多种数据源
  • 自动适配多种分辨率的屏幕,满足多种场景使用

人工智能AI

  • 提供人脸对比、人脸检测、图像增强、图像抄表、车牌识别、运动检测等多种人工智能能力
  • 通过API的方式为用户提供,方便能力集成和使用

视频能力Video

  • 提供视频平台,直播以及端到端解决方案等多种视频能力
  • 提供设备侧和应用侧的SDK,帮助快速实现视频监控、直播等设备及应用能力
  • 支持Onvif视频的设备通过视频网关盒子可实现接入平台

边缘计算Edge

  • 支持私有化协议适配、协议转换能力,满足各类设备接入平台需求
  • 支持设备侧就近部署,提供低时延、高安全、本地自治的网关能力
  • 支持“云-边”协同,可实现例如AI能力云侧推理,在边缘侧执行

应用开发环境

  • 提供全云端在线应用构建能力,帮助用户快速定制云上应用
  • 支持SaaS应用托管于云端,提供开发、测试、打包、一键部署等能力
  • 提供通用领域服务沉淀至环境,如支付、地图等领域服务能力
  • 提供行业业务建模基础模型,可视化UI拖拽流程编排

 

OneNET资源模型如下图:

工业互联网 第 4 章 各类工业互联网平台介绍以及OneNET平台使用

  • 产品(product)

    用户的最大资源集为产品,产品下资源包括设备、设备数据、设备权限、数据触发服务以及基于设备数据的应用等多种资源,用户可以创建多个产品。

  • 设备(device)

    设备为真实终端在平台的映射,真实终端连接平台时,需要与平台设备建立一一对应关系,终端上传的数据被存储在数据流中,设备可以拥有一个或者多个数据流。

  • 数据流与数据点

    数据流用于存储设备的某一类属性数据,例如温度,湿度,坐标等信息;平台要求设备上传并存储数据时,必须以key-value的格式上传数据,其中key即为数据流名称,value为实际存储的数据点,value格式可以为int、float、string、json等多种自定义格式。

  • APIkey

    APIkey为用户进行API调用时的**,用户访问产品资源时,必须使用该产品目录下对应的APIkey。

  • 触发器(trigger)

    触发器为产品目录下的消息服务,可以进行基于数据流的简单逻辑判断并触发HTTP请求或者邮件。

  • 应用(application)

    应用编辑服务,支持用户以拖拽控件并关联设备数据流的方式,生成简易网页展示应用。

OneNET 工作原理

OneNET 软件包数据的上传和命令的接收是基于 MQTT 实现的,OneNET 的初始化其实就是 MQTT 客户端的初始化,初始化完成后,MQTT 客户端会自动连接 OneNET 平台。数据的上传其实就是往特定的 topic 发布消息。当服务器有命令或者响应需要下发时,会将消息推送给设备。

获取数据流、数据点,发布命令则是基于 HTTP Client 实现的,通过 POST 或 GET 将相应的请求发送给 OneNET 平台,OneNET 将对应的数据返回,这样,我们就能在网页上或者手机 APP 上看到设备上传的数据了。

下图是应用显示设备上传数据的流程图

工业互联网 第 4 章 各类工业互联网平台介绍以及OneNET平台使用

下图是应用下发命令给设备的流程图

工业互联网 第 4 章 各类工业互联网平台介绍以及OneNET平台使用

 

OneNET 示例应用程序

准备工作

在 OneNET 云上注册账号

设备接入 OneNET 云之前,需要在平台注册用户账号,OneNET 云平台地址:https://open.iot.10086.cn

创建产品

账号注册登录成功后,点击开发者中心进入开发者中心界面;

点击创建产品,输入产品基本参数,在设备接入协议一栏选择 MQTT 协议,如下图所示:

工业互联网 第 4 章 各类工业互联网平台介绍以及OneNET平台使用

工业互联网 第 4 章 各类工业互联网平台介绍以及OneNET平台使用

产品创建成功之后,可以在开发者中心的公开协议产品中找到刚刚创建的产品,点击产品名,可以看到产品的基础信息(如产品ID,接入协议,创建时间,产品 APIkey 等,后面有用):

工业互联网 第 4 章 各类工业互联网平台介绍以及OneNET平台使用

接入设备

在开发者中心左侧设备管理中点击添加设备按钮添加设备,设备名称我们填入test1。鉴权信息是为了区分每一个不同的设备,如果创建了多个设备,要确保每个设备的鉴权信息都不一样,我们这里填入201807171718,填完之后点击接入设备

工业互联网 第 4 章 各类工业互联网平台介绍以及OneNET平台使用

工业互联网 第 4 章 各类工业互联网平台介绍以及OneNET平台使用

添加 APIkey

接入设备之后,可以看到设备列表的界面多了一个设备,设备的右边有一些操作设备的按钮,点击查看详情按钮

工业互联网 第 4 章 各类工业互联网平台介绍以及OneNET平台使用

工业互联网 第 4 章 各类工业互联网平台介绍以及OneNET平台使用

此设备的相关信息就都显示出来了,比如:设备 ID、鉴权信息、设备 APIkey,这些信息需要记下,在ENV配置时会用到。

点击按钮添加 APIkey,APIKey 的名称一般和设备相关联,我们这里填入test_APIKey,关联设备默认为我们刚刚创建的设备test1

工业互联网 第 4 章 各类工业互联网平台介绍以及OneNET平台使用

开启 onenet 软件包

打开 Env 工具输入 menuconfig 按照下面的路径开启 onenet 软件包:

RT-Thread online packages
    IoT - internet of things  --->
        IoT Cloud  --->
            [*] OneNET: China Mobile OneNet cloud SDK for RT-Thread

进入 onenet 软件包的配置菜单按下图所示配置,里面的信息依据自己的产品和设备的实际情况填写

--- OneNET: China Mobile OneNet cloud SDK for RT-Thread                            
    [ ]   Enable OneNET sample                                                  
    [*]   Enable support MQTT protocol                                                 
    [ ]   Enable OneNET automatic register device (NEW)                             
    (35936966) device id                                                             
    (201807171718) auth info
    (H3ak5Bbl0NxpW3QVVe33InnPxOg=) api key                                              
    (156418) product id                                                                 
    (dVZ=ZjVJvGjXIUDsbropzg1a8Dw=) master/product apikey (NEW)                       
        version (latest)  --->

Enable OneNET sample :开启 OneNET 示例代码

Enable support MQTT protocol :开启 MQTT 协议连接 OneNET 支持

Enable OneNET automatic register device :开启 OneNET 自动注册设备功能

device id :配置云端创建设备时获取的 设备ID

auth info :配置云端创建产品时 用户自定义的鉴权信息 (每个产品的每个设备唯一)

api key :配置云端创建设备时获取的 APIkey

product id :配置云端创建产品时获取的 产品ID

master/product apikey :配置云端创建产品时获取的 产品APIKey

示例文件介绍

利用 Env 生成工程后,我们可以在工程的 onenet 目录下看到onenet_sample.c文件,该文件是 OneNET 软件包的示例展示,主要是展示用户如何使用 OneNET 软件包上传数据和接收命令。

运行示例

在使用 OneNET 软件包之前必须要先调用onenet_mqtt_init这个命令进行初始化,初始化完成后设备会自动连接 OneNET 平台。

msh />onenet_mqtt_init
[D/ONENET] (mqtt_connect_callback:85) Enter mqtt_connect_callback!
[D/[MQTT] ] ipv4 address port: 6002
[D/[MQTT] ] HOST = '183.230.40.39'
[I/ONENET] RT-Thread OneNET package(V0.2.0) initialize success.
msh />[I/[MQTT] ] MQTT server connect success
[D/ONENET] (mqtt_online_callback:90) Enter mqtt_online_callback!

上传数据

初始化完成后,用户可以调用onenet_upload_cycle这个命令周期性的往云平台上传数据。输入这个命令后,设备会每隔 5s 向数据流 temperature 上传一个随机值。并将上传的数据打印到 shell 窗口。

msh />onenet_upload_cycle
msh />[D/ONENET] (onenet_upload_data:106) buffer : {"temperature":32}
[D/ONENET] (onenet_upload_data:106) buffer : {"temperature":51}

我们打开 OneNET 平台,在设备列表界面选择刚添加的设备并进入数据流展示页面。

工业互联网 第 4 章 各类工业互联网平台介绍以及OneNET平台使用

点击temperature数据流左边的小箭头显示数据流信息,我们就可以看到刚刚上传的数据了。

工业互联网 第 4 章 各类工业互联网平台介绍以及OneNET平台使用

如果用户想往别的数据流发送信息,可以使用以下 API 往云平台上传数据。

onenet_mqtt_publish_digit onenet_mqtt_publish_string

命令格式如下所示:

onenet_mqtt_publish_digit 数据流名称 要上传的数据

onenet_mqtt_publish_string 数据流名称 要上传的字符串

输入命令后没有返回错误信息就表示上传成功。

示例如下:

msh />onenet_mqtt_publish_digit test 1
msh />onenet_mqtt_publish_string test 1
msh />onenet_mqtt_publish_digit test 2
msh />onenet_mqtt_publish_string test 1

在数据流管理页面,我们可以看到多出来个 test 数据流,里面的数据就是我们刚刚上传的数据。

工业互联网 第 4 章 各类工业互联网平台介绍以及OneNET平台使用

接收命令

在初始化时,命令响应回调函数默认指向了空,想要接收命令,必须设置命令响应回调函数,在 shell 中输入命令onenet_set_cmd_rsp,就把示例文件里的命令响应回调函数挂载上了,这个响应函数在接收到命令后会把命令打印出来。

msh />onenet_set_cmd_rsp

我们点击设备列表界面的下发命令按钮。

工业互联网 第 4 章 各类工业互联网平台介绍以及OneNET平台使用

在弹出来的窗口里输出 hello rt-thread!,然后点击发送命令。

工业互联网 第 4 章 各类工业互联网平台介绍以及OneNET平台使用

就可以在 shell 中看到云平台下发的命令了。

msh />onenet_set_cmd_rsp
msh />[D/ONENET] (mqtt_callback:60) topic $creq/6db0c1b2-9a7e-5e4a-8897-bf62d4a3461f 
receive a message
[D/ONENET] (mqtt_callback:62) message length is 18
[D/ONENET] (onenet_cmd_rsp_cb:107) recv data is hello rt-thread!
相关标签: 工业物联网