前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >中移动M5311模块使用手册(TCP,MQTT)

中移动M5311模块使用手册(TCP,MQTT)

作者头像
杨奉武
发布2021-12-01 14:54:51
2.8K0
发布2021-12-01 14:54:51
举报
文章被收录于专栏:知识分享

资料下载: https://gitee.com/yang456/learn-m5311.git 模块链接: https://item.taobao.com/item.htm?ft=t&id=645162253935

实物图(以最新版为准)

引脚说明

5V: 模组5V供电引脚

G: GND

VBAT: 3.1V ~ 4.2V供电引脚

RST: 复位模组引脚(拉低复位)

TX: 模组串口通信发送数据引脚

RX: 模组串口通信接收数据引脚

PSM: 模组休眠唤醒引脚

PWR: 模组开关机引脚

手机卡安装示意图

注意缺口方向

测试AT(使用串口模块测试)

1,串口模块连接示意图

2,把PWR引脚和GND引脚连接在一起约1S时间,然后去掉连接

模组开机以后打印如下

2,打开资料里面的数据手册

超过20s不和模组进行AT指令通信,模组就会进入睡眠模式.

进入睡眠模式以后需要把PSM引脚接到低电平进行唤醒

3,一般在测试时,先发送指令设置模组不主动休眠

AT+SM=LOCK

测试连接TCP服务器

1.安装好手机卡和天线

2.给模组重新开机

每次安装好手机卡以后复位模组让模组重新启动,

正常情况下等待3S左右模组会显示已经识别到SIM卡

等待10S左右模组注册上网络以后会显示模组的IP地址

3.依次发送以下指令

控制模组开机

AT

AT+SM=LOCK

AT+CPIN?

AT+CEREG?

AT+CGACT?

模块根据指令回复如下方可进行下面的步骤

4.连接TCP服务器

例如连接IP地址为 47.92.31.46 端口号为 10002的TCP服务器

模组总共有5路socket(0-4)使用,下面是使用socket0连接通信

AT+IPSTART=0,"TCP","47.92.31.46",10002

4.使用socket0发送数据给服务器

发送字符串 发送 stringdata

AT+IPSEND=0,0,"stringdata"

发送16进制数据 发送 0x01 0x02 0x55 0xff

AT+IPSEND=0,4,"010255ff"

5.socket0接收数据

模组默认是不主动把接收的数据通过串口发送出来的.......

1.数据标识+透传的数据 模式接收数据

AT+IPRCFG=1,0,0

模组接收字符串数据(string)如下

+IPRD: 0,6, 是数据标识, string是接收的数据(最后有个换行哈,是模组自己添加的)

模组接收16进制数据(0x01 0x02 0x03)如下

+IPRD: 0,3, 是数据标识, 后面不是乱码哈,是因为字符串显示后面是16进制的 010203

(数据最后有个换行哈,是模组自己添加的)

2.透传的数据 模式接收数据

AT+IPRCFG=1,1,0

模组接收字符串数据(string)如下

注意,并不是完全透彻的数据 (模组在数据的开头和结尾都加了换行)

模组接收16进制数据(0x01 0x02 0x03)如下

注意,并不是完全透彻的数据 (模组在数据的开头和结尾都加了换行)

6.模组做的有点问题!!!

测试发现上面的主动输出不好使: 如果模组不发送数据给服务器,服务器主动发送数据给模组.

服务器发送数据给模组以后等40S再发送,模组虽然接收到数据,但是不主动输出.......

如果想获取数据,需要让模组发送数据给服务器一下,缓存数据就主动出来了.

大家伙可以设置手动查询模式,然后数据接收方式可以是透传模式

AT+IPRCFG=1,1,0

查询参考

测试连接MQTT服务器

1.安装好手机卡和天线

2.给模组重新开机

每次安装好手机卡以后复位模组让模组重新启动,

正常情况下等待3S左右模组会显示已经识别到SIM卡

等待10S左右模组注册上网络以后会显示模组的IP地址

3.依次发送以下指令

控制模组开机

AT

AT+SM=LOCK

AT+CPIN?

AT+CEREG?

AT+CGACT?

模块根据指令回复如下方可进行下面的步骤

4.配置连接的MQTT服务器参数

MQTT服务器IP地址:47.92.31.46

MQTT服务器端口号:1883

MQTT客户端ClientID: 000000 (一般使用模组的IMEI代替,确保唯一)

MQTT客户端心跳时间: 60 (秒)

MQTT服务器用户名:yang

MQTT服务器密码:11223344

让MQTT服务器清除session信息: 1 (不清除的话服务器就记录这个客户端的信息了,以前这个客户端订阅的主题也记录了,再次连接不需要再订阅就可以)

不使用SSL加密通信: 0

AT+MQTTCFG=47.92.31.46,1883,000000,60,yang,11223344,1,0

5.连接MQTT服务器

AT+MQTTOPEN=1,1,0

6.订阅主题

假设订阅 222222

AT+MQTTSUB=222222,1,0

7.接收消息

接收字符串 "qqqqqq"

接收16进制 "0x01 0x02 0x03"

注意哈后面不是乱码哈,是因为字符串显示后面是16进制的 010203

可以使用16进制看下

8.发送消息

主题:topic

消息等级: 0

不让服务器记录消息: 0

不是重新上报的消息: 0

传输字符串,该数为0

消息: qqqqq

AT+MQTTPUB="topic",0,0,0,0,"qqqqq"

主题:topic

消息等级: 0

不让服务器记录消息: 0

不是重新上报的消息: 0

传输3个16进制数据,该数为3

消息: 0x01 0x02 0x03

AT+MQTTPUB="topic",0,0,0,3,"010203"

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-09-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 资料下载: https://gitee.com/yang456/learn-m5311.git 模块链接: https://item.taobao.com/item.htm?ft=t&id=645162253935
  • 实物图(以最新版为准)
  • 引脚说明
    • 5V: 模组5V供电引脚
      • G: GND
        • VBAT: 3.1V ~ 4.2V供电引脚
          • RST: 复位模组引脚(拉低复位)
            • TX: 模组串口通信发送数据引脚
              • RX: 模组串口通信接收数据引脚
                • PSM: 模组休眠唤醒引脚
                  • PWR: 模组开关机引脚
                  • 手机卡安装示意图
                    • 注意缺口方向
                    • 测试AT(使用串口模块测试)
                      • 1,串口模块连接示意图
                        • 2,把PWR引脚和GND引脚连接在一起约1S时间,然后去掉连接
                          • 模组开机以后打印如下
                        • 2,打开资料里面的数据手册
                          • 超过20s不和模组进行AT指令通信,模组就会进入睡眠模式.
                          • 进入睡眠模式以后需要把PSM引脚接到低电平进行唤醒
                        • 3,一般在测试时,先发送指令设置模组不主动休眠
                          • AT+SM=LOCK
                          • 测试连接TCP服务器
                            • 1.安装好手机卡和天线
                              • 2.给模组重新开机
                                • 每次安装好手机卡以后复位模组让模组重新启动,
                                • 正常情况下等待3S左右模组会显示已经识别到SIM卡
                                • 等待10S左右模组注册上网络以后会显示模组的IP地址
                              • 3.依次发送以下指令
                                • 控制模组开机
                                • AT
                                • AT+SM=LOCK
                                • AT+CPIN?
                                • AT+CEREG?
                                • AT+CGACT?
                                • 模块根据指令回复如下方可进行下面的步骤
                              • 4.连接TCP服务器
                                • 例如连接IP地址为 47.92.31.46 端口号为 10002的TCP服务器
                                • 模组总共有5路socket(0-4)使用,下面是使用socket0连接通信
                              • 4.使用socket0发送数据给服务器
                                • 发送字符串 发送 stringdata
                                • 发送16进制数据 发送 0x01 0x02 0x55 0xff
                              • 5.socket0接收数据
                                • 模组默认是不主动把接收的数据通过串口发送出来的.......
                                • 1.数据标识+透传的数据 模式接收数据
                                • 2.透传的数据 模式接收数据
                              • 6.模组做的有点问题!!!
                                • 测试发现上面的主动输出不好使: 如果模组不发送数据给服务器,服务器主动发送数据给模组.
                                • 服务器发送数据给模组以后等40S再发送,模组虽然接收到数据,但是不主动输出.......
                                • 如果想获取数据,需要让模组发送数据给服务器一下,缓存数据就主动出来了.
                                • 大家伙可以设置手动查询模式,然后数据接收方式可以是透传模式
                                • AT+IPRCFG=1,1,0
                                • 查询参考
                            • 测试连接MQTT服务器
                              • 1.安装好手机卡和天线
                                • 2.给模组重新开机
                                  • 每次安装好手机卡以后复位模组让模组重新启动,
                                  • 正常情况下等待3S左右模组会显示已经识别到SIM卡
                                  • 等待10S左右模组注册上网络以后会显示模组的IP地址
                                • 3.依次发送以下指令
                                  • 控制模组开机
                                  • AT
                                  • AT+SM=LOCK
                                  • AT+CPIN?
                                  • AT+CEREG?
                                  • AT+CGACT?
                                  • 模块根据指令回复如下方可进行下面的步骤
                                • 4.配置连接的MQTT服务器参数
                                  • MQTT服务器IP地址:47.92.31.46
                                  • MQTT服务器端口号:1883
                                  • MQTT客户端ClientID: 000000 (一般使用模组的IMEI代替,确保唯一)
                                  • MQTT客户端心跳时间: 60 (秒)
                                  • MQTT服务器用户名:yang
                                  • MQTT服务器密码:11223344
                                  • 让MQTT服务器清除session信息: 1 (不清除的话服务器就记录这个客户端的信息了,以前这个客户端订阅的主题也记录了,再次连接不需要再订阅就可以)
                                  • 不使用SSL加密通信: 0
                                • 5.连接MQTT服务器
                                  • 6.订阅主题
                                    • 假设订阅 222222
                                  • 7.接收消息
                                    • 8.发送消息
                                    领券
                                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档