一、前期准备
- 产品和设备之间关系:产品包含设备。先创建一个产品,再在产品里添加设备。 一个产品可以有多个设备。

- 每个产品都有topic列表,如订阅topic和发布topic。通过更换topic中的devicename来使用某个设备订阅或发布内容。
- 使用mqtt时要先创建设备,配置好设备相关信息,再使用topic进行通信。
- mqtt.fx下载。
二、阿里云配置
-
进入官网。

-
点击控制台。

-
支付宝扫码登录。

-
搜索:物联网平台。


-
点击公共实例。

6.进入到物联网平台

三、创建产品
- 创建产品。

- 配置产品信息。

四、定义物模型属性
- 点击前往功能定义。

- 编辑草稿。

- 添加自定义功能。



- 点击发布。
五、添加设备
- 添加设备


- 保存设备证书信息

复制后的内容如下:
{
"productkey": "a1xco1lukm9",
"devicename": "device0",
"devicesecret": "8bd059eeb76d0bc9a9acf2b8ea740872"
}
- 添加完成

六、使用mqtt.fx模拟一个客户端接入物联网平台
- 打开mqtt.fx。

- 创建新的mqtt。

- 查看mqtt连接参数。
在物联网平台的设备处,mqtt连接参数可以直接查看下表参数进行配置。


- 将参数填入到新建的mqtt对应位置进行配置。profile name与之前添加的设备名要一致,如这里填device0。

(4)点击ok即可。
- 连接设备。

连接后发现我们之前在物联网平台创建的设备变为在线状态。

七、mqtt通信
-
基本通信流程。

-
通过产品找到通信topic。



-
使用topic进行通信。
(1)订阅/读取物联网平台设置的值。
① 使用订阅topic进行订阅。

② 使用物联网平台进行在线调试。


③ 接收到物联网平台下发的数据。

(2)设备给物联网平台发布消息。
① 使用属性上报的发布功能的topic:/sys/a1xco1lukm9/device0/thing/event/property/post。注:备名记得替换。
如:发送hello world。

② 在物联网平台上查看接收到的消息内容。



③通过发送json格式的内容,修改物联网平台上的值。
我们可以通过复制订阅时返回的json数据,进行修改。修改完成后进行发布。如:{"method":"thing.service.property.set","id":"1070847078","params":{"ev_temp":20,"ev_temp2":30},"version":"1.0.0"}
将上述内容修改如下:

发布后,物联网平台数据更改如下:

八、补充:配置mqtt的另一种方法
- 配置mqtt的另一种方法:通过网页计算参数。配置mqtt教程。
利用之前复制的信息完成配置。
{
"productkey": "a1xco1lukm9",
"devicename": "device0",
"devicesecret": "8bd059eeb76d0bc9a9acf2b8ea740872"
}
(1)下载网页计算工具。

(2)填写内容计算账号、密码。

(3)将上述结果填入新建的mqtt。

① profile name: 之前添加设备的名字,如 device0。
② profile type:mqtt broker。
③ broker address: a1***.iot-as-mqtt.cn-shanghai.aliyuncs.com。将productkey 的 a1xco1lukm9 替换a1***。
如: a1xco1lukm9.iot-as-mqtt.cn-shanghai.aliyuncs.com
④ broker port:固定为 1883。
⑤ client id:a1***.device1|securemode=2,signmethod=hmacsha1,timestamp=2524608000000|。将productkey 的 a1xco1lukm9替换a1***.device1。其中signmethod为加密算法类型。
如:a1xco1lukm9|securemode=2,signmethod=hmacsha1,timestamp=2524608000000|
(4)点击ok。
发表评论