【MQTT学习】ESP8266 AT指令连接阿里云

2023-10-29

前段时间使用Mqtt-fx工具测试了一下基于mqtt的阿里云连接测试,学习的目的就是将整个流程转移到都硬件设备上,为了更深度的学习,这里使用ESP8266模块和USB串口工具进行测试。在开始前需要用到几个软件工具,一个是mqttfx,一个是网络抓包工具Wireshark,

首打开Wireshark并监听阿里云1883端口的网络数据,再使用mqttfx进行正常的登录服务器、断开服务器、发送消息、接收消息等等并抓去报文。

以上包含有链接、链接应答、心跳包、心跳包应答、订阅消息、发布消息报文,基本上就是最简单的所有通信过程了。而这些报文都是基于TCP的,从报文里面的Hex数据以及MQTT手册里面进一步的去分析,可以将报文和协议全部对应上,下面贴上我笔记上的一部分内容:

协议倒不是很复杂,就是比较多,刚开始入门就难以理解。

接下来就是把这些报文通过今天的主角ESP8266去实现了。

下面是我用ESP8266连接阿里云的步骤:

确保ESP8266是乐鑫官方AT固件,这个不多说,如果不懂自行百度;

1.发送“+++”     目的是让ESP8266退出透传;

2.AT+RESTORE 让模块恢复出厂设置,因为这样是最权威和干脆利落的;

3.AT  判断模块的好坏及工作状态,正常就会回复OK;

4.ATE0       关闭回显,这个没什么好说的;

5.AT+CWMODE_CUR=1 设置为station模式;

6.AT+CWJAP_CUR="ssid","password"   连接热点,需要根据自己的热点更改;

7.AT+CIPSTART="TCP","a1ugBNniFGU.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883连接TCP;

8.AT+CIPMODE=1 设置传输模式为透传模式;

9.AT+CIPSEND 告诉模块开始传输数据,收到模块的‘>’就证明可以了;

10.登录MQTT

11.发送心跳包

12.发送消息

13.接收消息

 

以上就是ESP8266模块连接阿里云、和阿里云通信的所有步骤。

这里登录MQTT、发送心跳包、发消息内容都是要根据MQTT协议来的。一个字节都不能错。除此之外登录MQTT的报文内容还要根据阿里云的一机一密来计算。再有就是步骤7到步骤10是有时间限制的。我测试的时候是10s,也就是说通过TCP连接上阿里云服务器后,如果10s内没有通过MQTT登录,阿里云会自动的把你踢下去。除此之外就是MQTT的协议了。这个一定要耐心并细心的啃了。我在这上面花了也不少时间。

 

By Urien 2019年6月13日 13:13:26

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【MQTT学习】ESP8266 AT指令连接阿里云 的相关文章

随机推荐

  • date-fns 周助手函数

    date fns 周助手函数 getISOWeek 描述 获取ISO标准的周数 参数说明 接收一个Date对象或者一个表示日期的字符串 date 一个Date对象或者一个表示日期的字符串 表示要获取ISO标准的周数的日期 返回值说明 返回一
  • 神经辐射场 (NeRF) 概念

    神经辐射场 NeRF 概念 理论介绍 NeRF模型以其基本形式将三维场景表示为由神经网络近似的辐射场 辐射场描述了场景中每个点和每个观看方向的颜色和体积密度 这写为 F x
  • IDEA创建Servlet(Web)项目完整教程-2021

    使用2020版IDEA创建Servlet 使用2020版IDEA创建一个完整的Web项目的整个过程分为四步 第一步 创建一个普通的Java项目 1 打开IDEA 选择菜单File gt New gt Project 2 选择Java 以及自
  • 新中国成立以来的历次暴富机会

    之所以想写这个东西 是因为中国正处于一个快速转型的过程 各个社会阶层的变迁动荡很大 在这种动荡的变迁语境下 由于缺乏统一的价值观和文化继承 八仙过海各显神通 有些人抓住了这些机遇 一夜暴富 有些人含辛茹苦 至今尚不得温饱 抚今追昔 希望对未
  • Vue+elementUI<el-input> 输入框手机号校验

    1 手机号是否正确校验
  • python 机器视觉测量_用Opencv python实现精密测量

    实际上 我正在使用OpenCV和Python开发一个机器视觉项目 目标 项目的目标是以高精度测量组件的尺寸 主要硬件 巴斯勒5MP照相机 aca 2500 14gm 一个红色背光灯 100毫米x 100毫米 我的组件大小约为60毫米 实验
  • 173. 矩阵距离(多源点的最短路径问题)

    给定一个N行M列的01矩阵A A i j 与 A k l 之间的曼哈顿距离定义为 dist A i j A k l i k j l 输出一个N行M列的整数矩阵B 其中 B i j min1 x N 1 y M A x y 1dist A i
  • Windows系统解压zip文件之后乱码的问题的原因和解决方法

    我昨天用7zip压缩了一个压缩包给我同事 他那边显示的是乱码 像下面这样 具体的原因是 7zip压缩zip格式的文件的时候 对文件名默认使用的是Windows系统的默认编码 我的系统的默认编码是936 可以使用chcp命令查看 而我同事的系
  • 关于java中对象的循环引用问题

    在C 中使用过智能指针的同学们应该都清楚智能指针对C 中内存管理带来的极大便利 但是也会引入一些头疼的问题 比如智能指针带来的循环引用的问题 这个问题在之前的项目中一直没有很好的解决 最近参与到android的项目开发 对java的内存的管
  • 【Flink】Flink 启动报错 DirectoryNotEmptyException Could not close resource

    美图 1 背景 windows下开发Flink程序 启动的时候报错如下 下次再次启动的时候就不报错了 org apache flink util FlinkException Could not close resource at org
  • docker-compose部署微服务

    服务器中安装docker compose 首先就是将要部署的服务打成jar包 然后传到服务器上 并在其同级目录下创建一个Dockerfile文件 内容主体 FROM anapsix alpine java 8 server jre unli
  • 驱动程序如何支持非阻塞读写操作

    1 应用层指定非阻塞模式 fd open dev xxx O RDONLY O NONBLOCK 在open打开设备节点时 指定打开方式为非阻塞打开 O NONBLOCK 2 驱动代码感知当前操作方式 struct file unsigne
  • css3transform rotate,CSS3详解:transform [旋转rotate、扭曲skew、缩放scale和移动translate以及矩阵变形matrix]...

    CSS3详解 transform 旋转rotate 扭曲skew 缩放scale和移动translate以及矩阵变形matrix transform的属性包括 rotate skew scale translate x y 分别还有x y之
  • Vue懒加载使用全教程(收藏加关注)简单易学

    Lazyload 是 Vue 指令 使用前需要对指令进行注册 import createApp from vue import App from App vue import router from router import store
  • npm发包中一些操作备忘

    1 npm发布相关命令 发布 npm publish 发布beta版 npm publish tag beta 取消发布 npm unpublish force 2 lerna发布相关命令 发布 lerna publish 其他的的官方文档
  • centos7 L2TP/ipsec 搭建

    背景 公司需要通内网 故此部署vpn 流程 1 安装所需要的包 这次部署使用的是腾讯云机器centos7 3 centos7 使用libreswan代替了以往的openswan yum install y make gcc gmp deve
  • 使用Postman如何在接口测试前将请求的参数进行自定义处理

    1 前言 当我们使用 Postman 进行接口测试时 对于简单的不需要处理的接口 直接请求即可 但是对于需要处理的接口 如需要转码 替换值等 则就麻烦一些 一般我们都是先手动把修改好的值拷贝到请求里再进行请求接口 这也是大多数测试人员进行接
  • 传播智客J2EE学习线路图

    第一步 JavaSE部分 第1阶段 Java基础知识 gt gt 计算机基础知识 gt gt Java开发环境的搭建和应用 gt gt 进制转换 gt gt 有符号数据表示法 原码 反码 补码 gt gt Java语法基础 关键字 标识符
  • SmartIDE v0.1.16 已经发布 - 支持阿里&蚂蚁开源的国产 IDE OpenSumi

    SmartIDE v0 1 16 Build 3137 已经在2022年4月19日发布到稳定版通道 我们在这个版本中增加了阿里和蚂蚁发布的国产IDE OpenSumi的支持 以及其他一些改进 SmartIDE 从 Sprint 11 v0
  • 【MQTT学习】ESP8266 AT指令连接阿里云

    前段时间使用Mqtt fx工具测试了一下基于mqtt的阿里云连接测试 学习的目的就是将整个流程转移到都硬件设备上 为了更深度的学习 这里使用ESP8266模块和USB串口工具进行测试 在开始前需要用到几个软件工具 一个是mqttfx 一个是