合宙 Air780E模块 AT 指令 MQTT连接

news2024/9/25 19:16:00

固件说明

在这里插入图片描述
在这里插入图片描述

重启模块

//tx
AT+RESET

//rx
AT+RESET

OK
^boot.rom'v'!\n
RDY

^MODE: 17,17

+E_UTRAN Service

+CGEV: ME PDN ACT 1

+NITZ: 2024/07/10,08:33:44+0,0

在这里插入图片描述

查询模块版本信息

//tx
AT+CGMR

//rx
AT+CGMR

+CGMR: "AirM2M_780E_V1161_LTE_AT"

OK

在这里插入图片描述

基本流程

4G模块支持MQTT和MQTT SSl协议, MQTT应用的基本流程如下:

 1、如果要支持SSL,配置SSL参数

 2、通过TCP连接到MQTT服务器

 3、发送MQTT CONNECT到服务器,打开会话连接

 4、订阅或者发布消息     
 
 5、关闭连接

指令

发布消息示例

//1.查询PIN码锁状态 //查询sim卡是否正常
//tx
AT+CPIN? 
//rx
AT+CPIN? 

+CPIN: READY    

OK

//2.查询是否附着上数据网络,如果返回+CGATT: 0表示未附着上
//tx
AT+CGATT?
//rx
AT+CGATT?

+CGATT: 1       

OK


//3.设置 MQTT 相关参数
//tx
AT+MCONFIG="866289037465624","user","password"
//rx
AT+MCONFIG="866289037465624","user","password"

OK


//4.建立 TCP 连接
//tx
AT+MIPSTART="lbsmqtt.airm2m.com","1884"
//rx
AT+MIPSTART="lbsmqtt.airm2m.com","1884"

OK

CONNECT OK
或者如果已经连接的情况下,再次连接则返回
//rx
T+MIPSTART="lbsmqtt.airm2m.com","1884"

OK

ALREADY CONNECT

//5.客户端向服务器请求会话连接 keepalive 建议取值在 300s 以上
//tx 
AT+MCONNECT=1,600
//rx
AT+MCONNECT=1,600

OK

CONNACK OK
再次发送此指令,接收提示错误如下
//rx
AT+MCONNECT=1,600

+CME ERROR: 767

//6.订阅主题 可选
//tx
AT+MSUB="mqtt/sub_topic",0
//rx
AT+MSUB="mqtt/sub_topic",0

OK

SUBACK


//7. 发布消息 可选
//tx  qos=0
AT+MPUB="mqtt/pub_topic",0,0,"publish 0 payload"
//rx
AT+MPUB="mqtt/pub_topic",0,0,"publish 0 payload"

OK
//tx qos=1
AT+MPUB="mqtt/pub_topic",1,0,"publish 1 payload"
//rx
AT+MPUB="mqtt/pub_topic",1,0,"publish 1 payload"

OK

PUBACK
//tx qos=2
AT+MPUB="mqtt/pub_topic",2,0,"publish 2 payload"
//rx
AT+MPUB="mqtt/pub_topic",2,0,"publish 2 payload"

OK

PUBREC

PUBCOMP

//8. 模块先关闭MQTT连接
//tx
AT+MDISCONNECT  
//rx
AT+MDISCONNECT

OK


//9. 关闭TCP链接
 //tx
 AT+MIPCLOSE  
// rx
 AT+MIPCLOSE

OK
 

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这个过程中,注意事项如下:

 1、发送MIPSTART命令后,收到OK仅仅表示4G模块开始处理这条命令,并不表示TCP已经连接成功;只有收到CONNECT OK才是成功的应答(其余错误应答,参考AT手册)

 2、发送MCONNECT命令后,收到OK仅仅表示4G模块开始处理这条命令,并不表示MQTT已经连接成功;只有收到CONNACK OK才是成功的应答(其余错误应答,参考AT手册)

 3、发送MSUB命令后,收到OK仅仅表示4G模块开始处理这条命令,并不表示MQTT已经订阅成功;只有收到SUBACK才是成功的应答(其余错误应答,参考AT手册)

 4、发送MPUB命令后,如果QOS不是0,则收到OK仅仅表示4G模块开始处理这条命令,并不表示MQTT已经发布成功;只有收到PUBACK(QOS为1时)或者PUBCOMP(QOS为2时)才是成功的应答(其余错误应答,参考AT手册)

MPUB命令中,payload 包含 " 时数据如何发送?

消息中内嵌的双引号请用\22 表达;控制字符 \r(0x0D)请用\0D 表达;控制字符\n(0x0A) 请用\0A 表达 如果是 MCU 发消息,请用\\22,\\0D,\\0A 来 表达,即\需要转义成\\

参考
https://doc.openluat.com/wiki/37?wiki_page_id=4501#_20
https://doc.openluat.com/article/4985
https://doc.openluat.com/article/4922

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1920404.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

5 MySql

5 MySql 一、简介二、SQL语言2.1 导入外部SQL文件2.2 显示表结构2.3 与创建数据库相关的语句2.4 与表相关的语句2.5 操作表中的数据2.6 7种基本的sql查询 三、SQL的注意点3.1 与集合函数相关3.2 SQL语句的书写与执行过程 四、约束 constraint4.1 作用4.2 功能分类4.3 自增 五、…

读人工智能全传10深度思维

1. 深度思维 1.1. DeepMind 1.1.1. 深度思维 1.1.2. 2014年的员工不足25人 1.1.3. 深度思维公司公开宣称其任务是解决智能问题 1.1.4. 2014年谷歌收购DeepMind,人工智能突然成了新闻热点,以及商业热点 1.1.4.1. 收购报价高达4亿英镑 1.1.4.2. 深度…

差分约束——AcWing 362. 区间

差分约束 定义 差分约束系统是一种在计算机科学和运筹学中用于解决特定类型优化问题的工具。它主要用于处理一类线性不等式组,这些不等式描述了变量之间的相对大小关系,而不是直接的绝对值大小。差分约束系统通常用于路径寻找、调度、资源分配等问题。…

maven私有镜像仓库nexus部署使用

maven私有镜像仓库nexus部署使用 1、Nexus部署 #查找镜像 docker search sonatype/nexus3 #拉取镜像 docker pull sonatype/nexus3 #持久化目录 mkdir -p /data/nexus/data chmod 777 -R /data/nexus/data #启动服务 docker run -d --name nexus3 -p 8081:8081 --restart alw…

javaweb基础知识入门

javaweb 1.基本概念 1.1前言 web开发: web,网页的意思,www.baidu.com 静态web html,css 提供给所有人看的数据始终不会发生变化! 动态web 淘宝...等几乎是所有的网站 提供给所有人看的数据始终会发生变化&#…

mac生成.dmg压缩镜像文件

mac生成.dmg压缩镜像文件 背景准备内容步骤1,找一个文件夹2,制作application替身1,终端方式2,黄金右手方式 3,.app文件放入文件夹4,制作.dmg压缩镜像文件5,安装.dmg 总结 背景 为绕开App Store…

头歌资源库(27)特别的数

一、 问题描述 编程输出一个特别的数,该数是一个由1~9组成的9位数,每个数字只能出现一次,且这个9位数由高位到低位前i位能被i整除。 二、算法思想 创建一个长度为9的数组,用于存放1~9这9个数字。使用回溯算法,从第…

Visual Studio 2019 (VS2019) 中使用 CMake 配置 OpenCV 库(快捷版)

2024.07.11 测试有效 最近需要用一下 opencv 处理图像,简单配置了一下Cmake下的 opencv 库。 没有编译 opencv ,也不知道他们为什么要自己编译 opencv 。 一、下载并安装 OpenCV 1.前往 OpenCV 官方网站 下载适用于您的系统的 OpenCV 安装包。 2.点击直接…

在分布式环境中,怎样保证 PostgreSQL 数据的一致性和完整性?

文章目录 在分布式环境中保证 PostgreSQL 数据的一致性和完整性一、数据一致性和完整性的重要性二、分布式环境对数据一致性和完整性的挑战(一)网络延迟和故障(二)并发操作(三)数据分区和复制 三、保证 Pos…

PFH点特征直方图

PFH特征描述子原理 该算法通过参数化查询关键点与其周围邻域点之间的空间差异,形成一个多维度直方图,从而实现对该点的邻域几何属性的描述。 该方法具有以下三个优势: (1)刚性变换不变性,即不受旋转、平移变换的影响; (2)采样一致性,即改变采样密度,特征保…

【高中数学/指数函数、对数函数、正弦函数】求 y=2^x+x,y=log2_x+x,y=2*sinX+x 的零点位置大小关系

【问题】 已知函数f(x)2^xx,g(x)log2_xx,h(x)2*sinXx 的零点分别是a,b,c,则a、b、c的大小顺序是? 【解答】 粗览三个函数,h(x)2*sinXx的零点是最好解决的,明显x0时h(x)0,因此c在原点的位置; 对于f(x)2^xx&#xff…

css预编译器--sass

Sass Sass 提供了 变量(variables)、嵌套规则(nested rules)、 混合(mixins)、 函数(functions),目前我使用最多的还是变量和嵌套规则,貌似目前css也支持嵌套…

kafka发送消息流程

配置props.put(ProducerConfig.PARTITIONER_CLASS_CONFIG, RoundRobinPartitioner.class); public Map<String,Object> producerConfigs(){Map<String,Object> props new HashMap<>();props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,bootstrapServers…

代码随想录算法训练营Day36||动态规划part04

494.目标和&#xff1a;本题的方法主要用来解决------装满容量为x的背包&#xff0c;有几种方法。 可以先理解二维数组的思路&#xff1a;感觉b站一个评论写得很清晰&#xff0c;借用一下。 这题最难理解的地方在于如何初始化数组&#xff0c;为什么dp[0]1&#xff1b;我试图自…

【C++BFS】690. 员工的重要性

本文涉及知识点 CBFS算法 LeetCode690. 员工的重要性 你有一个保存员工信息的数据结构&#xff0c;它包含了员工唯一的 id &#xff0c;重要度和直系下属的 id 。 给定一个员工数组 employees&#xff0c;其中&#xff1a; employees[i].id 是第 i 个员工的 ID。 employees[…

企业数据治理做完了,如何让业务部门用起来

引言&#xff1a;企业数据治理完成后&#xff0c;确保业务部门能够充分利用这些数据并融入日常运营中&#xff0c;是实现数据价值最大化的关键步骤。以下是一些策略和建议&#xff0c;帮助推动业务部门使用数据治理成果&#xff1a; 一、管理层面推广 高层应用示范&#xff1…

kafka与zookeeper的SSL认证教程

作者 乐维社区&#xff08;forum.lwops.cn&#xff09;许远 在构建现代的分布式系统时&#xff0c;确保数据传输的安全性至关重要。Apache Kafka 和 Zookeeper 作为流行的分布式消息队列和协调服务&#xff0c;提供了SSL&#xff08;Secure Sockets Layer&#xff09;认证机制&…

在 PostgreSQL 里如何实现数据的缓存失效策略的优化?

文章目录 《在 PostgreSQL 中优化数据缓存失效策略》一、理解 PostgreSQL 中的数据缓存二、常见的数据缓存失效策略三、优化数据缓存失效策略的方法&#xff08;一&#xff09;合理调整共享缓冲区大小&#xff08;二&#xff09;使用 PostgreSQL 的缓存统计信息&#xff08;三&…

SSE(Server-Send-Event)服务端推送数据技术

SSE&#xff08;Server-Send-Event&#xff09;服务端推送数据技术 大家是否遇到过服务端需要主动传输数据到客户端的情况&#xff0c;目前有三种解决方案。 客户端轮询更新数据。服务端与客户端建立 Socket 连接双向通信服务端与客户建立 SSE 连接单向通信 几种方案的比较&…

实变函数精解【3】

文章目录 点集求导集 闭集参考文献 点集 求导集 例1 E { 1 / n 1 / m : n , m ∈ N } 1. lim ⁡ n → ∞ ( 1 / n 1 / m ) 1 / m 2. lim ⁡ n , m → ∞ ( 1 / n 1 / m ) 0 3. E ′ { 0 , 1 , 1 / 2 , 1 / 3 , . . . . } E\{1/n1/m:n,m \in N\} \\1.\lim_{n \rightar…