01.
02.
MQTT 物联网套件
MQTT物联网套件为物联网开发者提供高效、稳定、安全的平台服务,具有设备接入、设备管理、数据存储、状态同步、消息分发等功能,支持用户通过规则引擎对接OneNET增值服务,灵活地实现服务的扩展。
设备接入
提供高安全性、高稳定性的MQTT协议接入服务,保障设备连接可靠
设备管理
针对不同的使用场景,提供关于设备的包括生命周期管理、在线状态监测、在线调试、数据管理等功能在内的丰富的设备管理功能;支持设备同步命令、设备镜像等功能,便于用户可以自由实现设备通信与设备状态同步
业务API
套件提供开放的、丰富的、基于HTTP/HTTPS的API接口,用户可以使用API进行设备管理,数据查询,设备命令交互等操作,在API的基础上,根据自己的个性化需求指定搭建上层应用
规则引擎
支持基于SQL的消息处理与分发能力,便于用户进行套件中消息的自定义处理与后续服务扩展
安全认证
提供用户资源访问安全认证机制,提供产品级以及设备级的不同粒度的密钥,并支持用户自定义密钥访问权限,最大限度保证用户设备以及应用层接入的安全性
03.
创建产品和注册设备
在 MQTT物联网套件 控制台,创建产品:充电桩
然后基于充电桩产品,注册一个设备,获取设备身份认证信息
设备接入
MQTT物联网套件支持标准 MQTT V3.1.1 版本,支持TLS加密,接入服务地址如下:
设备可通过MQTT CONNECT报文进行登录,CONNECT报文中三要素填写方法如下:
MQTT CONNECT 报文中,需要设置keepalive(即保活时间),keepalive支持范围为:10~1800秒,平台若在连续的 设置的keepalive的1.5倍 的时间内没有收到设备上行数据,则会设备断开连接。
// 设备身份
var productId = '534912'
var deviceName = 'cdz0001'
var key = 'MbTy1z3oGwk+JxQyNoE7CBhkFR+AbFnJbRTR7y68YLs='
var res = `products/${productId}/devices/${deviceName}`
// 通信主题
var pubTopic = `$sys/${productId}/${deviceName}/dp/post/json`
var subTopic = `$sys/${productId}/${deviceName}/#`
// 建立 MQTT 连接
var client = mqtt.connect(getOptions())
// 发布数据到云端
client.publish(pubTopic, jsonData, { qos: 1 });
// 订阅主题
client.subscribe(subTopic)
// 接收云端 CMD
client.on("message", function(topic, message) {
console.log(topic, JSON.parse(message))
})
设备运行效果
设备连接成功后,在云端可以查看到实时数据情况
04.
经过5天调研后,我们最终放弃了 OneNET 物联网平台作为充电桩业务底层IoT基础服务,因为面向企业物联网业务场景, OneNET 平台缺失的基础功能太多了。
设备接入方面 多语言 SDK 缺失,导致我们研发人员耗费了 1 天时间联调设备认证的token生成,极大的影响了研发效率。
业务核心链路上的规则引擎服务仅支持消息队列 MQ 和短信服务 SMS,缺少必要的数据库转存,很难适应复杂的数据处理需求。比如,云厂商AWS IoT Core的规则引擎支持 20+云产品组合,涵盖丰富的数据库、消息队列、HTTP流转、云监控、文件存储等。
设备运维场景中常见的固件升级、远程调试、配置更新、设备定位等基础设备管理服务均未找到。
物联网生态方面我们询问了充电桩领域多个友商均为使用过OneNET平台,也未能联系到适配OneNET 的硬件供应商和软件集成服务商。
最终,我们决定放弃中国移动 OneNET 物联网平台。
往期推荐
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...