SIM7028 NB-IOT HAT携手Aliyun IoT
来自Waveshare Wiki
序言:
MQTT是基于二进制消息的发布/订阅编程模式的消息协议;由于规范很简单,非常适合需要低功耗和网络带宽有限的IoT场景,比如:智能家居、智慧城市和医疗医护;深受广大童鞋的青睐和喜爱。下面我们以SIM7028 NB-IoT HAT为例实现和阿里云的MQTT通信。
准备工作
硬件准备
软件准备
通信步骤
1.硬件连接
- 将SIM7028 NB-IoT HAT接上天线、nano nbiot卡
- 将SIM7028 NB-IoT HAT的跳线帽接至A口,使用Type-C连接windows电脑
2.阿里云物联网平台功能配置
注册登录
- 首先注册登录到阿里云物联网平台,选择华东2(上海)节点
创建产品
- 创建新产品,根据下图所示填写相关信息
- 创建完产品进入产品功能定义,定义一个自定义功能来承接需要上传的数据信息,这里创建一个字符串类型的测试功能属性
- 这里一定要发布上线,不然可能会没有效果
创建设备
- 选择创建的产品下创建设备,这里创建了一个名为7028_raspi的设备
- 新建好的设备是未激活状态,只有接入之后才会显示是在线/离线
- 在设备详情页查看MQTT连接参数,后续SIM7028 NB-IoT HAT连接需要用到。
在使用时要对应要更改为自己的MQTT连接参数,此连接参数只对测试账号的设备有用 "clientId":"a1c5wcCxNLh.7028_raspi|securemode=2,signmethod=hmacsha256,timestamp=1693275393802|" "username":"7028_raspi&a1c5wcCxNLh" "mqttHostUrl":"a1c5wcCxNLh.iot-as-mqtt.cn-shanghai.aliyuncs.com" "passwd":"093aef27165c79ad6b7f1371a2d0ac74ed32582a9f068bf9ee850a5085b1f4f1" "port":1883
- 查看此产品的物模型上报TOPIC
这里的物模型通信Topic是设置的物模型属性的topic
/sys/a1c5wcCxNLh/${deviceName}/thing/event/property/post
在使用时要对应把此topic中的${deviceName}换成自己的设备名称,例如
我建立的设备名称为7028_raspi,所以对应的topic应该为: /sys/a1c5wcCxNLh/7028_raspi/thing/event/property/post
至此阿里云物联网平台功能设置结束
3.通过MQTT和阿里云平台通信
指令及指令解析
AT+CMQTTSTART // 开启MQTT服务
// 申请ClientID,格式为AT+CMQTTACCQ=0,"$(clientid)",0 这里的$(clientid)填入阿里云MQTT连接参数 AT+CMQTTACCQ=0,"a1c5wcCxNLh.7028_raspi|securemode=2,signmethod=hmacsha256,timestamp=1692872147157|",0
// 连接MQTT服务器,格式为AT+CMQTTCONNECT=0,tcp://$(mqttHostUrl):$(port),2000,0,"$(username)","$(passwd)" 这里的$xxxx填入阿里云MQTT连接参数 AT+CMQTTCONNECT=0,tcp://a1c5wcCxNLh.iot-as-mqtt.cn-shanghai.aliyuncs.com:1883,2000,0,"7028_raspi&a1c5wcCxNLh","575302c7cc51dacd0c53b7a5ade3c55552821c68b74ddec006e3ec106fbb613e"
AT+CMQTTTOPIC=0,53 // 输入发布的主题,这里的53为topic的字符长度,要按需更改 键入/sys/a1c5wcCxNLh/7028_raspi/thing/event/property/post
AT+CMQTTPAYLOAD=0,51 // 输入消息体,这里的51为消息体的字符长度,要按需更改 键入{"id":"waveshare","params":{"test":"test message"}}
这里的格式参考阿里云物模型数据上传格式 其要求为:
AT+CMQTTPUB=0,0,60 // 发布消息