ESP-01S使用AT指令连接阿里云
ESP-01S使用AT指令连接阿里云
烧录MQTT AT固件
出厂的ESP-01S是基本的AT指令固件,没有MQTT的,所以无法通过MQTT指令与云平台通信,需要烧录固件(如果测试到有MQTT相关的指令,则不用重新烧录固件)
固件烧录教程:https://docs.ai-thinker.com/esp_download
需要按照教程将ESP-01S的IO0引脚接到VCC,才处于下载模式
我使用的烧录工具是乐鑫官方的:https://www.espressif.com.cn/zh-hans/support/download/other-tools
MQTT固件:https://docs.ai-thinker.com/%E5%9B%BA%E4%BB%B6%E6%B1%87%E6%80%BB
因为ESP-01S的Flash只有8Mbit,也就是1MByte,所以要我选择了下面这个固件,适用于1MB flash的模组
点击开始后将ESP-01S重新上电,开始烧录固件
固件烧录成功后测试AT指令,查看固件版本,正常则可以连接阿里云
MQTT AT指令
乐鑫MQTT AT指令集:https://docs.espressif.com/projects/esp-at/zh_CN/release-v2.2.0.0_esp8266/AT_Command_Set/MQTT_AT_Commands.html
先取出设备的三元组,生成阿里云连接参数
1.AT+RST
重启设备
2.AT+CWMODE=1
设置为Station模式
3.AT+CIPSNTPCFG=1,8,“ntp1.aliyun.com”
开启SNTP服务器,8时域,SNTP服务器为阿里云域名
4.AT+CWJAP=“WIFI名称”,“密码”
连接WiFi
5.AT+MQTTUSERCFG=0,1,“NULL”,“ESP8266-1&hiyfcAbCXmq”,“DF3D6D0554E0C7B3F4A0BF7DBB2030C659CC64E4”,0,0,“”
配置用户名和密码
6.AT+MQTTCLIENTID=0,“esp8266|securemode=3\,signmethod=hmacsha1\,timestamp=100|”
配置ClientId
注意:需要在每个逗号前面加上\
如:esp8266|securemode=3,signmethod=hmacsha1,timestamp=100| 改为 esp8266|securemode=3\,signmethod=hmacsha1\,timestamp=100|
7.AT+MQTTCONN=0,“hiyfcAbCXmq.iot-as-mqtt.cn-shanghai.aliyuncs.com”,1883,1
连接MQTT Broker
ESP-01S AT指令回复情况
AT+RSTOK
AT+CWMODE=1OK
AT+CIPSNTPCFG=1,8,"ntp1.aliyun.com"OK
AT+CWJAP="WIFI名称","密码"
WIFI CONNECTED
WIFI GOT IPOK
AT+MQTTUSERCFG=0,1,"NULL","ESP8266-1&hiyfcAbCXmq","DF3D6D0554E0C7B3F4A0BF7DBB2030C659CC64E4",0,0,""OK
AT+MQTTCLIENTID=0,"esp8266|securemode=3\,signmethod=hmacsha1\,timestamp=100|"OK
AT+MQTTCONN=0,"hiyfcAbCXmq.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883,1
+MQTTCONNECTED:0,1,"hiyfcAbCXmq.iot-as-mqtt.cn-shanghai.aliyuncs.com","1883","",1OK
发送到这一步就可以看到阿里云的设备显示在线了
订阅Topic,阿里云发送数据到ESP-01S
在阿里云复制订阅权限的Topic
发送AT指令,订阅Topic
AT+MQTTSUB=0,"/hiyfcAbCXmq/ESP8266-1/user/get",1
在设备已订阅Topic列表中点击发布消息
ESP-01S收到数据
发布Topic,ESP-01S发送数据到阿里云
发送AT指令,发布MQTT消息
其中 ESP-01S to aliyun 是发送的数据
AT+MQTTPUB=0,"/hiyfcAbCXmq/ESP8266-1/user/update","ESP-01S to aliyun",1,0
在阿里云平台查看设备到云消息
断开MQTT连接
发送下面AT指令即可断开MQTT连接
AT+MQTTCLEAN=0
相关文章:
ESP-01S使用AT指令连接阿里云
ESP-01S使用AT指令连接阿里云 烧录MQTT AT固件 出厂的ESP-01S是基本的AT指令固件,没有MQTT的,所以无法通过MQTT指令与云平台通信,需要烧录固件(如果测试到有MQTT相关的指令,则不用重新烧录固件) 固件烧录…...
【Kafka】【三】安装Kafka服务器
Kafka基本知识 Kafka介绍 Kafka是最初由Linkedin公司开发,是⼀个分布式、⽀持分区的(partition)、多副本的 (replica),基于zookeeper协调的分布式消息系统,它的最⼤的特性就是可以实时的处理 …...
关于适配器模式,我遗漏了什么
近期有些tasks需要 重构or适配 老的代码。 与其向上面堆💩,不如优雅的去解决。 首先我的问题在于,错误的把 堆屎的操作 ,当作了适配器模式的操作。 比如原函数入参,需要更改某个属性,把这种操作外包一层…...
SQL Serve 日志体系结构
SQL Server 事务日志记录着 undo 及 redo 日志,为了保证数据库在崩溃后恢复,或者在正常数据库操作期间进行回滚,保证数据库事务完整性和持久化。如果没有事务日志记录,数据库在事务上将不一致,并且在数据库崩溃后可能导…...
【C++1】函数重载,类和对象,引用,string类,vector容器,类继承和多态,/socket,进程信号,public,ooci
文章目录1.函数重载:writetofile(),Ctrue和false,C0和非02.类和对象:vprintf2.1 构造函数:对成员变量初始化2.2 析构函数:一个类只有一个,不允许被重载3.引用:C中&取地址&#x…...
asio网络编程 tcp、udp、rpc
轻量级的tcp/udp/rpc库,简化socket程序编写。 同时,RPC部分也提供了方便易用的功能。 仓库地址 https://github.com/shuai132/asio_net asio_net a Tiny Async TCP/UDP/RPC library based on ASIO and RpcCore Features 简化TCP、UDP相关程序的编写…...
双目测距------双目相机V1.0,将双目相机采集到任意一点的深度数据进行串口传输(带源码)
Depth2Uart 双目测距------双目相机V1.0,将双目相机采集到任意一点的深度数据进行串口传输 一、项目说明/Overview 所实现的功能:基于Intel Realsense官方提供的SDK,双目深度相机能获取到相机任何一个像素点距离前方障碍物的距离࿰…...
jetson nano(ubuntu)安装Cmake
文章目录安装环境一.命令行安装二.Cmake源码编译安装安装环境 jetson nano 系统:4.6.1 一.命令行安装 sudo apt install cmake这种直接安装cmake的方式,其实安装的版本都太老了,这种方式不推荐 二.Cmake源码编译安装 更新一下系统软件 su…...
图的基本介绍和表示方式
图的基本介绍 为什么要有图这个基本数据结构? 我们还学习过线性表(数组、队列、链表和栈)和树,但是我们可以发现,线性表局限于一个直接前驱(就是只能有唯一一个前面的结点)和一个直接后继的(…...
本周大新闻|传微软解散工业元宇宙团队,MIT研发垂直堆叠全彩Micro LED
本周大新闻,AR方面,消息称微软解散工业元宇宙团队;德国AR公司Gixel GmbH亮相;Brilliant推出单片式附加形态AR眼镜;MIT研发垂直堆叠全彩Micro LED;谷歌XR串流正式上线。VR方面,索尼发布了PS VR2的…...
SpringMVC:拦截器(12)
拦截器1. 拦截器概念2. 拦截器入门案例2.1 环境准备2.2 拦截器开发步骤1: 创建拦截器类步骤2: 配置拦截器类步骤3: SpringMVC添加SpringMvcSupport包扫描和interceptor包扫描步骤4: 简化SpringMvcSupport的编写5 测试3. 拦截器参数解析(了解)3.1 前置处理…...
计算机网络3:HTTP1.0和HTTP1.1的区别
目录1. HTTP是什么2.HTTP1.0和HTTP1.1的区别3.名词解释(1)If-Modified-Since(IMS)、Expires(2)If-None-Match,Etag(3)If-Unmodified-Since1. HTTP是什么 超文本传输协议…...
Urho3D 编辑器说明
Urho3D编辑器是一个脚本应用程序,可以与Urho3D播放器应用程序一起运行。要开始,请执行以下任意命令:(在bin目录中)Editor.bat、Editor.sh或Urho3DPlayer Scripts/Editor.as Urho3D播放器应用程序支持的所有命令行选项…...
C++类基础(十一)
运算符重载(二) ● 对称运算符通常定义为非成员函数以支持首个操作数的类型转换 struct Str {int val 0;Str(int input): val(input){}auto operator(Str x){std::cout << "auto operator(Str x)\n";return Str(val x.val);} }; int …...
Windows安装系列:SVN Server服务
一、下载与安装 1、下载VisualSVN-Server-5.1.1-x64.msi 地址:Download | VisualSVN Server 2、找到最新版本SVN 5.1.1,直接双击它,弹出如下安装界面 3、点击Next 4、勾选我接受, 点击"Next" 5、默认选项,…...
快速傅里叶算法(FFT)快在哪里?
目录 前言 1、DFT算法 2、FFT算法 2.1 分类 2.2 以基2 DIT(时间抽取) FFT 算法为例 2.2.1 一次分解 2.2.2 多次分解 参考 前言 对信号分析的过程中,为了能换一个角度观察问题,很多时候需要把时域信号波形变换到频域进行分…...
利用Markdown写学术论文资料汇总贴
1是最详细的,重点看! Markdown 写作,Pandoc 转换:我的纯文本学术写作流程 2补充一些细节,也可以看看。 用Markdown写作学术论文 3写得和上面差不多,如果上面两篇有什么问题还没解决,可以看看…...
MySQL 高级查询
目录1.左关联2.右关联3.子查询4.联合查询5.分组查询1.左关联 MySQL中的左关联(Left Join)是一种基于共同列的连接操作, 它将左侧表中的所有行与右侧表中匹配的行结合在一起, 如果右侧表中没有匹配的行,则结果集中右侧…...
JavaSE学习day4_01 循环for,while,do...while
1. 循环高级 1.1 无限循环 for、while、do...while都有无限循环的写法。 最为常用的是while格式的。 因为无限循环是不知道循环次数的,所以用while格式的 代码示例: while(true){} 1.2 跳转控制语句(掌握) 跳转控制语句&…...
C/C++中的static关键字
概述在C/C中都有static关键字的使用,可以分别修饰变量和函数,分为静态变量【静态成员】、静态成员函数。2. static用法概况静态变量的作用范围在一个文件内,程序开始时分配空间,结束时释放空间,默认初始化为0ÿ…...
67 自注意力【动手学深度学习v2】
67 自注意力【动手学深度学习v2】 深度学习学习笔记 学习视频:https://www.bilibili.com/video/BV19o4y1m7mo/?spm_id_fromautoNext&vd_source75dce036dc8244310435eaf03de4e330 给定长为n 的序列,每个xi为长为d的向量,自注意力将xi 既当…...
电子学会2022年12月青少年软件编程(图形化)等级考试试卷(二级)答案解析
青少年软件编程(图形化)等级考试试卷(二级) 一、单选题(共25题,共50分) 1. 一个骰子,从3个不同角度看过去的点数如图所示,请问5的对面是什么点数?( ) …...
关于链表中插入结点的操作……
服了,好久没敲链表了,这都忘了 newnode->next cur->next; cur->next newnode; newnode->next cur->next; cur->next newnode; newnode->next cur->next; cur->next newnode; newnode->next cur->next; cur-…...
【项目精选】百货中心供应链管理系统
点击下载源码 近年来,随着计算机技术的发展,以及信息化时代下企业对效率的需求,计算机技术与通信技术已经被越来越多地应用到各行各业中去。百货中心作为物流产业链中重要的一环,为了应对新兴消费方式的冲击,从供货到销…...
Qt优秀开源项目之十六:SQLite数据库管理系统—SQLiteStudio
首先,感谢CSDN官方认可 SQLiteStudio是一款开源、跨平台(Windows、Linux和MacOS)的SQLite数据库管理系统。 github地址:https://github.com/pawelsalawa/sqlitestudio 官网:https://sqlitestudio.pl/ 特性很多…...
Python __doc__属性:查看文档
在使用 dir() 函数和 __all__ 变量的基础上,虽然我们能知晓指定模块(或包)中所有可用的成员(变量、函数和类),比如:import string print(string.__all__)程序执行结果为:[ascii_lett…...
电子科技大学操作系统期末复习笔记(一):操作系统概述
目录 前言 操作系统概述 操作系统的目标与功能 操作系统的定义 目标 功能 操作系统的历史 单用户系统 简单批处理系统 多道批处理系统 分时系统 个人电脑 → 分布式系统 → 互联网时代 → 移动计算时代 → ...... 实时系统 操作系统的基本特征 并发 共享 虚拟…...
[实践篇]13.20 Qnx进程管理slm学习笔记(三)
【QNX Hypervisor 2.2用户手册】目录(完结) 4.2 模块 我们可以将组件组合成一个模块。模块中的进程可以组成一个子系统,也可以用于建立一组系统状态,例如基本操作和各种更高级别操作。注意,必须命名模块,以便可以在内部引用它们。而且每个模块必须描述成一个元素,形势如…...
冰冰学习笔记:多线程
欢迎各位大佬光临本文章!!! 还请各位大佬提出宝贵的意见,如发现文章错误请联系冰冰,冰冰一定会虚心接受,及时改正。 本系列文章为冰冰学习编程的学习笔记,如果对您也有帮助,还请各位…...
补充一些前端面试题
javascript有哪些库指路>js中的库uniapp和vue有什么区别什么是uniappuni-app(uni,读you ni,是统一的意思)是一个使用Vue.js开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web&#…...
建站城/站长素材官网免费
一. 硬件环境1.1. ubuntu 16.04 PC作为mysql服务器二. 安装mysql2.1. 依次输入这三条命令sudo apt-get install mysql-serversudo apt install mysql-clientsudo apt install libmysqlclient-dev2.2. 检验是否安装mysql成功sudo netstat -tap | grep mysql三. mysql配置3.1. 实…...
网站建设没有图片/嘉兴百度seo
一、list转字符串命令:.join(list)其中,引号中是字符之间的分割符,如“,”,“;”,“\t”等等如:list [1, 2, 3, 4, 5].join(list) 结果即为:12345,.join(list) 结果即为:1,2,3,4,5二…...
外国人做的篆字网站/重庆seo整站优化系统
问题描述:列表页进入详情页,或者tab页切换,然后再返回列表页,希望能切换到之前滚动位置解决问题思路:切换到其他页面前记录位置,返回列表页的时候返回位置。这就需要借助vue-router的beforeRouteEnter和beforeRouteLeave这两个钩子…...
阳曲网站建设推荐咨询/免费的seo网站
原文链接:http://blog.csdn.net/only_wan/article/details/52975760 mvn 创建时在generating project in interactive mode卡住了,怎么解决? 从图中可以看出,为啥卡在generating project in interactive mode, 因为请求…...
太原市做网站好的科技公司/沈阳seo排名公司
一、我喜欢的句子: 1、我想陪你走过剩下的桥。此桥,名,奈何。 2、“为啥要有桥?”“因为路走到头了。” 3、人生如戏,笑着活下去。 4、“那些奔流之下的暗河,静默,固执,汹涌不停的感…...
西安建设企业网站/怎么样引流加微信
flowplayerFlowplayer修复Chrome的Z-index 我发现2个解决z-index修复的解决方案。 1 Flowplayer配置 改变这个: $f(options.id, options.url, 对此: $f(options.id,{src: options.url,wmode: options.wmode}, 2使用JS设置参数 $(object).prepend(…...