华为云物联网平台(IoT 设备接入云服务)提供海量设备的接入和管理能力,将物理设备联接到云,支撑设备数据采集上云和云端下发命令给设备进行远程控制。设备可以通过固网、2G/3G/4G/5G、NB-IoT、Wifi等多种网络接入物联网平台,并使用LWM2M/CoAP、MQTT、HTTPS协议将业务数据上报到平台,平台也可以将控制命令下发给设备。业务应用通过调用物联网平台提供的API,实现设备数据采集、命令下发、设备管理等业务场景。
这一点和阿里云物联网平台类似,需要先在平台创建产品,实际对应一种产品,在产品下注册设备,实际对应一个具体的设备:
进入后往下拉一点,测试就使用基础版本:
创建一个产品:
这里协议就选择MQTT,数据结构为JSON方式方便后续查看和调试:
提示创建成功,点击查看详情来定义产品的模型,也就是定义这个产品需要上传的参数、数据类型和可以接收的参数以及数据类型:
这里就选择自定义:
给这个模型创建一个ID,写好备注,创建好的模型不限以一种产品,其他的产品也可以用:
属性选上可写:
暂不添加相应参数:
模型定义完成,里面的服务ID、属性名称、下发参数后面通信时会用上:
注册一台设备,:
提示创建成功,记录一下设备ID、设备密钥,然后保存并关闭:
如果要新增一个同一产品设备,直接按同样步骤注册设备即可,然后设备端就可以上线了,新创建没上线状态就是为激活,上线一次后就会变成在线或者离线:
设备要连接需要能通过网络模块连接上华为iot的服务器,然后通过MQTT协议进行设备鉴权确认上线,如果对MQTT不熟悉的可自行学习,这里就不增加篇幅了,先看在平台上查看需要用得上的域名和端口:
协议1端口 | 协议2端口 | 对应域名 |
---|---|---|
CoAP (5683) | CoAPS (5684) | af70f3d940.iot-coaps.cn-north-4.myhuaweicloud.com |
MQTT (1883) | MQTTS (8883) | af70f3d940.iot-mqtts.cn-north-4.myhuaweicloud.com |
HTTPS (443) | af70f3d940.iot-https.cn-north-4.myhuaweicloud.com |
域名或者IP都可以:
使用现成的测试工具来进行设备上线和数据收发等基础测试,打开软件进行参数配置:
点击Connect即可连接上线成功,成功后iot平台对应设备就会显示在线状态:
订阅和发布的Topic已经自动帮我们生成了:
设备上报属性数据Topic结构:
$oc/devices/{device_id}/sys/properties/report
订阅平台发布的所有Topic:
$oc/devices/{device_id}/sys/commands/#
{device_id}替换成自己设备的id
填写需要上报的内容,具体需要的字段结构查考官方文档描述:
发布后iot平台就可以看到发上来的数据:
平台下发数据(修改了一下命令名,之前是中文):
要订阅,否则下发会失败:
关于MQTT部分推荐可以看看这个解析视频。和协议详情。