使用MQTT接入中国移动OneNET平台
前言:
本文档记录 中国移动OneNET平台的基本使用、设备接入及相关配置内容。
详细内容可参考:OneNET平台文档
一、基础:连接和通信
1.1 介绍:
OneNET物联网开放平台是中国移动打造的面向产业互联和智慧生活应用的物联网PaaS平台,OneNET支持适配各种网络环境和协议类型,可实现各种传感器和智能硬件的快速接入,提供丰富的API和应用模板以支撑各类行业应用和智能硬件的开发,有效降低物联网应用开发和部署成本,满足物联网领域设备连接、智能化改造、协议适配、数据存储、数据安全以及大数据分析等等平台级服务需求。
1.2 创建产品
进入OneNET官网,自行注册账号后,找到OneNET物联网平台栏目, 点击立即体验:
主页如图:
首先创建产品,这里我们先选择设备接入:
数据协议使用数据流,方案选择自定义方案:
1.3 功能定义
点击产品开发,定义我们的属性字段,这里我添加了温度和湿度:
1.4 添加设备
这里我们添加一个新的设备,所属产品是我们刚才创建的产品:
如下:
1.5 设备连接调试
MQTT接入可以参考这篇官方文档: https://open.iot.10086.cn/doc/v5/fuse/detail/919
下面我们使用软件MQTTX去模拟设备连接平台:
文档中给出的接入地址是:mqtts.heclouds.com:1883
其他连接参数如下:
clientId
和 username
一个是设备名称,一个是产品ID在对应的页面都可以查看:
这个password
需要填写经过 key 计算的 token,这里要使用到平台的token生成工具来计算,具体可参考文档
我这里直接给出下载地址:点击下载(如链接失效,请自行前往文档下载)
下载后打开如下:
- 产品级鉴权时,res字段为products/{产品id},key为产品级key
- 设备级鉴权时,res字段为products/{产品id}/devices/{设备名},key为设备级key
- et为密码有效期限,需要填入过期时间的时间戳比如
2524579200
(代表:2050-01-1 0:0:0
)
这里我们使用设备级鉴权:
这样我们就得到了对应连接的密码,然后填到MQTTX里尝试连接:
可以正常连接:
1.6 设备上报数据:
参考文档:通信主题
数据流设备上报数据使用主题:$sys/{pid}/{device-name}/dp/post/json
数据负载格式如下:
{
"id": 123,
"dp": {
"temperature": [{
"v": 30
}],
"humidity": [{
"v": 20
}],
"xxxx": [{
"v": 123
}]
}
}
尝试发送数据:
可以看到平台端数据已经更新了(并且没有定义的数据也没有被抛弃,也显示出了了,这里的xxxx
):
二、进阶:数据可视化
2.1 介绍
NoeNET数据可视化提供下列功能:
- 拖拽式编辑:免编程、10分钟可快速搭建应用界面。
- 多数据源对接:支持OneNET内置数据、第三方数据库、Excel静态文件多种数据源。
- 数据建模:全新上线数据集功能,基于 MySQL 5.X 和 MySQL 8.X 数据库,拖拽建立表关联等功能实现数据建模,快速打通大屏与数据库。
- 3D数字孪生:全新3D引擎,提供海量行业属性模型场景搭建,一键嵌入2D项目。
- 行业组件调用:物联网行业可视化模板,3D组件拓展包,5G专网应用。
- 数据过滤:可通过代码编辑器对数据进行快速过滤筛选或逻辑加工。
下面是文档链接:
2.2 新建可视化项目
数据可视化功能可以从平台应用开发一栏进入,如下:
先新建一个可视化项目:
如下:
这里我使用一个基本的仪表盘展示温湿度数据:
2.3 为控件绑定数据源
选中控件,在控件数据源选择一栏选择数据源
但由于我们还没有配置数据源,所以这里没得选,故需要点击旁边的管理数据源,添加数据源:
这里的配置按照提示填写就行,accessKey
就是设备详情页的设备密钥。
这里我们创建两个数据源(免费版本只能添加3个),然后给控件绑定上就行了:
2.4 发布可视化界面:
点击项目发布:
这样就可以通过访问链接直接在浏览器进行访问了:
三、扩展:数据推送
平台提供HTTP全局推送服务,通过HTTP/HTTPS请求方式,将设备及应用数据全部推送给应用服务器。