中国移动 OneNET 物联网平台从入门到「放弃」

8624aada0dfc85b4c7dcfe06e152bc13.png

01.

OneNET 物联网平台

中国移动 OneNET定位为 PaaS 服务,即在物联网应用和真实设备之间搭建高效、稳定、安全的应用平台:面向设备,适配多种网络环境和常见传输协议,提供各类硬件终端的快速接入方案和设备管理服务;面向应用层,提供丰富的API和数据分发能力以满足各类行业应用系统的开发需求,使物联网企业可以更加专注于自身应用的开发,从而缩短物联网系统的形成周期,降低企业研发、运营和运维成本。

bc75a73d47ead8451405fcb4e5582e22.jpeg

02.

MQTT 物联网套件

MQTT 物联网套件

MQTT物联网套件为物联网开发者提供高效、稳定、安全的平台服务,具有设备接入、设备管理、数据存储、状态同步、消息分发等功能,支持用户通过规则引擎对接OneNET增值服务,灵活地实现服务的扩展。

b0a47cd95fbdc16e1478a7b434e90dcc.png

设备接入
提供高安全性、高稳定性的MQTT协议接入服务,保障设备连接可靠

设备管理
针对不同的使用场景,提供关于设备的包括生命周期管理、在线状态监测、在线调试、数据管理等功能在内的丰富的设备管理功能;支持设备同步命令、设备镜像等功能,便于用户可以自由实现设备通信与设备状态同步

业务API
套件提供开放的、丰富的、基于HTTP/HTTPS的API接口,用户可以使用API进行设备管理,数据查询,设备命令交互等操作,在API的基础上,根据自己的个性化需求指定搭建上层应用

规则引擎
支持基于SQL的消息处理与分发能力,便于用户进行套件中消息的自定义处理与后续服务扩展

安全认证
提供用户资源访问安全认证机制,提供产品级以及设备级的不同粒度的密钥,并支持用户自定义密钥访问权限,最大限度保证用户设备以及应用层接入的安全性

03.

OneNET 入门实战

创建产品和注册设备

在 MQTT物联网套件 控制台,创建产品:充电桩

668524c442370c63778b0ebda6766cf1.png

然后基于充电桩产品,注册一个设备,获取设备身份认证信息

e9d4ead12bfb94571f9f8f6616b45658.png

设备接入

MQTT物联网套件支持标准 MQTT V3.1.1 版本,支持TLS加密,接入服务地址如下:

d06fb35be51954ff350afb294d64840e.png

设备可通过MQTT CONNECT报文进行登录,CONNECT报文中三要素填写方法如下:

8a3898c47723de74bc80e9d6fefea17b.png

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))
})

设备运行效果

设备连接成功后,在云端可以查看到实时数据情况

30f2a961641d16eba8e790ffa147fefb.png

04.

我们为什么放弃了 OneNET

经过5天调研后,我们最终放弃了 OneNET 物联网平台作为充电桩业务底层IoT基础服务,因为面向企业物联网业务场景, OneNET 平台缺失的基础功能太多了,消息不支持二进制和字符串,强制JSON。

ce3d2dcfb8a4d76ad63156398eefc632.png

设备接入方面 多语言 SDK 缺失,导致我们研发人员耗费了 1 天时间联调设备认证的token生成,极大的影响了研发效率。

业务核心链路上的规则引擎服务仅支持消息队列 MQ 和短信服务 SMS,缺少必要的数据库转存,很难适应复杂的数据处理需求。比如,云厂商AWS IoT Core的规则引擎支持 20+云产品组合,涵盖丰富的数据库、消息队列、HTTP流转、云监控、文件存储等。

设备运维场景中常见的固件升级、远程调试、配置更新设备定位等基础设备管理服务均未找到。

物联网生态方面我们询问了充电桩领域多个友商均为使用过OneNET平台,也未能联系到适配OneNET 的硬件供应商和软件集成服务商

最终,我们决定放弃中国移动 OneNET 物联网平台。

往期推荐

☞ 中国云计算第一股关停 IoT云服务

☞ 2022年IoT平台趋势:私有化部署

☞ 5个值得分享的物联网创业失败教训

☞ 2021年4G通信模组企业排行

☞ 国内 4 大 IoT物联网平台选型对比

☞ 云厂商的 [IoT物联网平台] 不香了吗?

d27b1d4a0010098daa3a3174bc901bc2.png

9e1f180f5c4e2531855eb53cb4f92c07.gif

73587206b3e9729de49b80e1193419cf.gif

e52f220fa8ff8ed3af07f54587719f61.gif

e2b4cc59c76dcbe5fd3c81464093f65a.gif

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
物联网项目实战开发是一个复杂而有挑战性的任务,使用stm32 w5500以太网rj45进行数据上传至onenet物联网平台是其中的一种常见方案。下面是一个基于该方案的代码示例: ```C #include <SPI.h> #include <Ethernet.h> byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; // MAC地址 IPAddress ip(192, 168, 1, 10); // 设备IP地址 EthernetClient client; void setup() { Ethernet.begin(mac, ip); Serial.begin(9600); delay(1000); } void loop() { if (client.connect("api.heclouds.com", 80)) { // 连接onenet物联网平台 String data = "data"; // 上传的数据,可根据需求自定义 client.println("POST /devices/{设备ID}/datapoints?type=3 HTTP/1.1"); // 替换为自己的设备ID client.println("Host: api.heclouds.com"); client.println("api-key: {API鉴权KEY}"); // 替换为自己的API鉴权KEY client.println("Content-Type: application/json"); String requestBody = "{\"datastreams\": [{\"id\": \"data\",\"datapoints\":[{\"value\": \"" + data + "\"}]}]}"; client.print("Content-Length: "); client.println(requestBody.length()); client.println(); client.println(requestBody); delay(1000); client.stop(); } else { Serial.println("无法连接到onenet物联网平台"); } delay(5000); // 每隔5秒上传一次数据,可根据需求调整 } ``` 以上代码通过使用Ethernet库进行以太网通信,设备连接到onenet物联网平台(API地址为api.heclouds.com)。在`loop()`函数中,首先与平台进行连接,然后构造要上传的数据,通过POST请求将数据上传至onenet物联网平台。需要替换的部分包括设备ID和API鉴权KEY,确保与onenet平台的配置一致。 这段代码是一个基础框架,可以根据具体需求进行进一步的开发和扩展。希望这能帮助到你。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值