学习目标:
基本操作和使用
学习内容:
ATI 模块版本信息
Quectel
BC28
Revision:BC28JAR01A11 A11
OK
AT+CIMI 卡状态
46xx4xxxxxx8xx5
OK
AT+CGATT? 模块是够激活PDP,能否上网
+CGATT:1 状态值为1
OK
AT+CSQ 信号质量 22
+CSQ:22,99
OK
AT+CGSN=1 获取IMEI唯一序列号
+CGSN: 8**************
OK
AT+CGPADDR 获取到该模块的IP地址
+CGPADDR:0,1**.8*.2**.**
OK
AT+QMTCFG=“ALIAUTH”,0,“h8orxxxxxvN”,“T0-TEST”,“e237ea868a9c0xxxxxxxxd5b860”//配置阿里云
//这里的ALIAUTH不变,其他3个参数分为是“三要素”,这里我是阿里云物联网平台(新版),依次是ProductKey、DeviceName、DeviceSecret。
OK
AT+QMTOPEN=0,“iot-as-mqtt.cn-shanghai.aliyuncs.com”,1883
//不用变化
OK
AT+QMTCONN=0,“clientExample” // 连接设备 这里还可以改为 AT+QMTCONN=0,“设备名称”
OK
+QMTCON 0,0,0
AT+QMTSUB=0,1,“/h8orxxxNai1/NB-IOT/user/get”,0 //订阅,可以不发
AT+QMTPUB=0,0,0,0,“/sys/h8oxxxoNai1/NB-IOT/thing/event/property/post” //先发连接符,这里的分别是ProductKey、DeviceName。后面post意义就是属性上报业务
{params:{IndoorTemperature:27}} // 不用回车新行 ,这里的IndoorTemperature为阿里云物联网平台项目对应自己设置的属性Identifier,亦是所谓的标识符,后跟自己上报的值;
紧接着再次发送
1A //此处勾选HEX发送
!!!!!!!!!!!!!!!要注意的是以上除了明显标注的地方之外,其他执行语句如果是用串口助手则要勾选发送新行。代码里体现的话就是假加 \r\n
后面的1A则是以HEX发送,即是如图所示:
而这个在代码里体现的话则是如下:void UART3_send_byte(char data) { while(USART_GetFlagStatus(USART2, USART_FLAG_TXE) == RESET); USART_SendData(USART2, data); } ,然后使用这个方法:UART3_send_byte(0X1A); //我这里测试的时候是使用串口3向NB-IOT模块发送的
以上就是完成一次数据的上报,不懂的小伙伴们可以在评论区咨询!