阿里云和中移物联网M5311的MQTT通讯

我的BILIBILI链接   https://www.bilibili.com/read/cv5476993

模块简介

中移物联网M5311就是这个样子的

特点

选择模块注意事项:这个模块分两个版本CM和LV

CM:单频标压--只能用中国移动

LV:多频低压--三大运营商都能用

我所用的测试板子是

淘宝链接:https://item.taobao.com/item.htm?spm=a230r.1.14.29.16202010ygMswi&id=613393784018&ns=1&abbucket=17#detail

使用MQTT连接阿里云

  • 准备

首先需要在阿里云开通物联网,新建产品和设备,详见阿里云文档

连接需要准备一下几个参数

产品名称(ProductKey):在阿里云控制台的设备管理里面的产品可以看到

连接地址:${产品ProductKey}. iot-as-mqtt.cn-shanghai.aliyuncs.com

连接端口号:1883

ClientID:${clientId}|securemode=3,signmethod=hmacsha1|
UserName:${YourDeviceName}&${YourPrductKey}
Password:这个密码需要使用签名工具计算出来,链接:https://help.aliyun.com/document_detail/116333.html?spm=5176.11065259.1996646101.searchclickresult.5ba741a0T1JclE

  • 开始连接

    USB转串口模块连接好M5311和你的电脑,然后打开串口工具

    使用MQTTCFG命令来设置参数

    AT+MQTTCFG="a1EZnSXXXXX.iot-as-mqtt.cn-shanghai.aliyuncs.co
    m",1883,"test001|securemode=3,signmethod=hmacsha1|",60,"NB_192& a1EZnSXXXXX
    ","6BCA70F7E36D7C7068F8D7E6F4B6222A3C3E9198",1

    使用MQTTOPEN命令打开连接

    AT+MQTTOPEN=1,1,0,0,0

    使用MQTTPUB命令发送数据

    AT+MQTTPUB="/sys/ a1EZnSXXXXX/NB_192/thing/event/property/post",1,1,0,0,"{pa
    rams:{CurrentTemperature:51.8,RelativeHumidity:37,LightLuxValue:56}}"

    使用MQTTSUB订阅主题

    AT+MQTTSUB="dev/gsm/u",2

    订阅好了之后服务器发送数据设备就可以接收到命令了

注意事项

M5311提供了休眠模式,因为M5311是NB-Iot模块,所以他有DRX、eDRx、PSM三个模式

DRX虽然叫做“不连续接收”,但是对硬件产品来讲,是“连续接收”随时都可以收到数据。相当于随时在监听,所以功耗最高。(DRX待机功耗1mA左右)

eDRX就是把网络先开一会、再停一会。 开的时候能收到数据,停的时候收不到数据。停的时间从几十秒到几个小时,可以配置。(eDRX 5分钟间隔的待机功耗在0.2mA左右)

PSM相当于把eDRX开关网络的频率放的更低,低至几天打开一次网络。同样,打开网络的时候能收到数据,不打开网络的时候收不到数据。(PSM模式下,待机功耗只有微安级别,此时才能做到“一节电池用5年”。)

所以如果你想实时接收到数据,你必须关闭eDRx、PSM

AT+SM=UNLOCK_FOREVER

AT+CPSMS=0

AT+CEDRXS=0,5

M5311模块的电流很低,不像M6315需要2A的电流才能成功启动,M5311只需要电脑USB供电就能启动起来

猜你喜欢

转载自blog.csdn.net/qq_33259323/article/details/105337036