物联网产品框架:传统设备使用通信模组连接云服务器(即上云)做数据收发
在之前的文章 物联网基础:EC20 连接阿里云进行数据收发 已经介绍过EC20模块并用AT指令测试EC20连接阿里云进行数据收发,本文将使用EC20 封装好的AT指令通过 MQTT 协议连接私有云服务器进行数据
1 准备工作
要连接私有云服务器,需有一个私有云服务器的mqtt客户端账号,笔者就用公司服务器的MQTT测试账号做演示,后续涉及到账号密码相关部分打码,望理解
服务器地址及mqtt相关信息:
2 MQTT工具连接服务器
使用MQTT工具 MQTTBox模拟务器,订阅设备的发布主题,即能接收到设备发送到服务器的数据,也能模拟向设备下发数据
安装MQTTBox,填写服务器及设备MQTT的相关信息即能连接上服务器
再订阅设备的发布主题,即可接收到设备往服务器发送的数据
扫描二维码关注公众号,回复:
12470188 查看本文章

3 连接测试
使用串口调试助手,选择 USB AT Port端口,并对串口调试助手做简单设置
3.1 AT指令连接云服务器
AT指令连接私有云服务器过程:
1)AT指令入网、模块测试
序号 | AT指令 | 指令解析 |
---|---|---|
1 | AT | 测试指令,若返回OK,则模块可正常通信 |
2 | AT+CPIN? | 检查SIM卡是否在位 |
3 | AT+CSQ | 查询信号质量 |
4 | AT+CREG? | 查询入网状态 |
5 | AT+CGATT=1 | 激活网络 |
6 | AT+CGATT? | 查询激活状态 |
7 | AT+CGPADDR | 获取PDP地址 |
2)AT指令连接服务器
注意:测试时需将服务器地址信息及MQTT账号信息替换成自己的账户信息
序号 | AT指令 | 指令解析 |
---|---|---|
1 | AT+QMTCFG=“recv/mode”,0,0,1 | 配置为接收模式 |
2 | AT+QMTOPEN=0,“IP”,Port | 连接服务器 |
3 | AT+QMTCONN=0,“Clientid”,“Username”,“Password” | 配置MQTT连接 |
3.2 发送数据
AT指令发送数据的过程如下:
序号 | AT指令 | 指令解析 |
---|---|---|
1 | AT+QMTPUB=0,0,0,0,“PubTopic” | 发布主题消息 |
2 | {params:{IndoorTemperature:55,mhumi:55}} | 发送的JSON数据 |
3 | 0x1a | 数据结束符 |
此时,可在MQTTBox数据接收区查看EC20往服务器发送的数据
3.3 接收数据
AT指令接收服务器数据指令如下:
EC20接收服务器下发的数据只需要订阅服务器的发布主题,即设备订阅主题:gt/test/gt_1 即能接收到服务器下发的数据
序号 | AT指令 | 指令解析 |
---|---|---|
1 | AT+QMTSUB=0,1,“gt/test/gt_1”,0 | 订阅服务器发布主题 |
使用MQTTBox工具模拟服务器下发数据
在本地串口调试助手数据接收区就能收到对应的数据
笔者知识有限,如果发现本文有错误的地方欢迎批评、指正,若本文对您有所帮助,点赞、在看也是笔者坚持的动力;扫码关注公众号,后台回复 EC20模块 获取EC20全套资料