我踩了所有ESP8266的坑,现在来个最终总结

2023-05-16

STM32+ESP8266 协议接入IOT平台【必成功】

  • 1.移植到STM32前先检查你的esp8266能不能用
    • 1.1 大概率你手里的esp8266是官方固件——刷MQTT固件
    • 1.2 ESP8266 MQTT固件 AT指令列表:
  • 2.移植esp8266驱动 & mqtt驱动

出门左转是上一篇esp8266+stm32的笔记,那个是用官方固件,反正我是连不上~

1.移植到STM32前先检查你的esp8266能不能用

1.1 大概率你手里的esp8266是官方固件——刷MQTT固件

warring:esp01s只有 1MB flash 无法刷MQTT固件库,MQTT固件库需要4MB (32Mbit)【扔了买新的吧】

刷固件步骤:
①去安信可下载固件

在这里插入图片描述

②下载烧录工具:网上自找:

ESPFlashDownloadTool
在这里插入图片描述

③esp8266接线:
用usb转ttl 烧录就行~~

在这里插入图片描述

④注意:

  • 波特率一定要正确115200
  • 先擦除,再烧
  • 一直提示同步上电———>建议vcc与io0 都接到单片机上,当显示等待同步上电时一起拔掉vcc与io0 1秒后接回去即可完美解决

1.2 ESP8266 MQTT固件 AT指令列表:

  • AT+MQTTUSERCFG : 设置MQTT用户配置
  • AT+MQTTCONNCFG : 设置MQTT连接的配置
  • AT+MQTTCONN : 连接到MQTT代理
  • AT+MQTTPUB : 以字符串形式发布MQTT数据
  • AT+MQTTPUBRAW : 以二进制形式发布MQTT消息
  • AT+MQTTSUB : 订阅MQTT主题
  • AT+MQTTUNSUB : 取消订阅MQTT主题
  • AT+MQTTCLEAN : 关闭MQTT连接

AT指令 连接阿里云步骤
clientId第二个参数注意每个逗号后加分隔符
c语言加 \

AT
AT+CWJAP="TP-LINK_103","15508574848"  
AT+CWMODE=1
AT+CIPSNTPCFG=1,8,"ntp1.aliyun.com"
AT+MQTTUSERCFG=0,1,"My_pc|securemode=3\,signmethod=hmacsha1\,timestamp=789|","My_pc&a1jkTV6zoib","3d58dcc2c812aa597d6dd2116e0dc774a9a4b03b",0,0,""
AT+MQTTCONN=0,"a1jkTV6zoib.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883,1

AT+MQTTCLEAN=0  //关闭 先别关

AT指令 订阅阿里云topic

AT+MQTTSUB=0,"/a1jkTV6zoib/My_pc/user/hxy_01",1
AT+MQTTPUB=0,"/a1jkTV6zoib/My_pc/user/hxy_01","hxy_ok",1,0

如果你的阿里云显示在线了~~~恭喜你的esp8266能用,可以用于stm32了

2.移植esp8266驱动 & mqtt驱动

相当于把at 指令封装到一个个函数里——通过usart传给esp8266

【转义符\】
【阿里云命令超过120app会报错 解决===》】

-----待更新

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

我踩了所有ESP8266的坑,现在来个最终总结 的相关文章

  • C语言系列(三):基本数据类型与表达式

    计算机中的数据不单是简单的数字 xff0c 所有计算机处理的信息 xff0c 包括文字 声音 图像等都是以一定的数据形式存储的 xff0c 数据在内存中保存 xff0c 存放的情况由数据类型决定 C语言的数据类型 基本类型 xff1a 整型
  • C语言系列(四): 分支结构程序设计

    选择结构是程序设计3种基本结构之一 xff0c 通过判定给定的条件是否成立选择需要执行的操作 C语言提供了条件语句 if语句和switch语句 用以实现选择结构的程序设计 xff0c 条件通常用关系表达式或逻辑表达式表示 C语言提供3种逻辑
  • C语言系列(五):循环结构程序设计

    循环结构是结构化程序设计的基本结构之一 xff0c C语言提供了三种循环结构语句 while语句 xff0c do while语句和for语句 for语句在C语言系列 xff08 二 xff09 xff1a 用C语言编写程序已经讲解 xff
  • C语言系列(六):函数与预编译处理

    模块化程序设计方法 在程序设计与开发中 xff0c 随着解决问题的复杂化 xff0c 编写程序的代码也更加复杂 一方面 xff0c 大量的程序语句会使程序的逻辑结构产生混乱 xff0c 给程序的编写 阅读和维护带来困难 xff1b 另一方面
  • Linux驱动开发经典面试简答题

    1 Linux设备中字符设备与设备有什么主要的区别 xff1f 请分别举例一些实际的设备说出它们是哪一类设备 字符设备 xff1a 字符设备是个能够像字节流 xff08 类似文件 xff09 一样被访问的设备 xff0c 由字符设备驱动程序
  • CMake中cmake_host_system_information的使用

    CMake中的cmake host system information命令用于查询各种主机系统信息 xff0c 其格式如下 xff1a cmake host system information RESULT lt variable gt
  • 一文知晓嵌入式Linux

    嵌入式Linux是什么 嵌入式Linux跟桌面Linux一样 xff0c 是一个操作系统 从单片机走过来的童鞋往往习惯于直接控制寄存器 xff0c 事必躬亲 xff0c 从零开始实现想要的功能 而在嵌入式Linux的世界里 xff0c 我们
  • 修改i.mx6ull Linux内核 启动logo

    1 制作Linux内核需要的开机logo xff08 ppm格式 xff09 1 1在Ubuntu系统上安装netpdm工具 命令如下 xff1a span class token macro property sudo apt get i
  • keil5编译错误error: #5: cannot open source input file “core_cm3.h“: No such file or directory

    用Keil vision5编译时出现 xff1a error 5 cannot open source input file core cm3 h No such file or directory 可能是MDK版本太新了 xff0c 我装
  • IPv6基础详解

    IPv6 由于internet规模的扩大 xff0c IPv4地址空间已经消耗殆尽 xff0c IETF在90年代提出了下一代互联网协议IPv6 xff0c IPv6支持几乎无限的地址空间 xff0c 并且配置更加简单 xff0c IPv6
  • Pycharm中debug使用学习

    1 运行环境 1 1 运行 xff1a 先确认项目运行环境 点击右下角python查看 向任务中添加环境 xff0c 一般加入anaconda的环境 xff0c 配置方便 切换到自己所需环境 添加运行环境 初次搭建 xff0c 哔哩哔哩中新
  • 对项目的梳理、流程和总结

    过程 我在制作 中国汽车技术研究中心 的一个演讲PPT前 xff0c 也已经有第一版的基础了 xff0c 不过 xff0c 第一版的PPT客户并不满意 xff0c 因为这个风格不是客户想要的 xff0c 所以客户对第一版的PPT并不是很满意
  • 【ROS】xxx is neither a launch file in package xxx nor is xxx a launch file name……解决

    在ros中新增加一个功能包时 xff0c 如果没有处理得当的话 xff0c 在执行时很有可能报如下错误 xff1a xxx is neither a launch file in package xxx nor is xxx a launc
  • FreeRTOS——流和消息缓冲区

    FreeRTOS 基础系列文章 基本对象 FreeRTOS 任务 FreeRTOS 队列 FreeRTOS 信号量 FreeRTOS 互斥量 FreeRTOS 任务通知 FreeRTOS 流和消息缓冲区 FreeRTOS 软件定时器 Fre
  • FreeRTOS——静态与动态内存分配

    FreeRTOS 基础系列文章 基本对象 FreeRTOS 任务 FreeRTOS 队列 FreeRTOS 信号量 FreeRTOS 互斥量 FreeRTOS 任务通知 FreeRTOS 流和消息缓冲区 FreeRTOS 软件定时器 Fre
  • CAS 6.5.5项目初始化搭建运行

    一 项目背景介绍 公司项目重构 xff0c 决定使用CAS中央认证系统 在GitHub上找到最新的稳定版本6 5 5 CAS项目在5 x版本的运行环境是jdk8 xff0c 使用maven做的项目管理 6 x使用的是jdk11作为运行环境
  • GoogleTest中gMock的使用

    GoogleTest中的gMock是一个库 xff0c 用于创建mock类并使用它们 当你编写原型或测试 prototype or test 时 xff0c 完全依赖真实对象通常是不可行或不明智的 not feasible or wise
  • 基于Autoware制作高精地图(一)

    基于Autoware制作高精地图 xff08 一 xff09 开始进入正题 xff0c 也是最近在忙的一件事 xff0c 制作高精地图 高精地图的制作大概分为以下四个流程 xff08 不一定完全正确 xff09 xff1a 1 构建点云地图
  • Ubuntu sh文件编写,开多终端,自动读取密码

    Ubuntu sh文件编写 xff0c 开多终端 xff0c 自动读取密码 开启多个终端自动读取密码 在最近的项目调试中经常需要开多个终端启动多个launch xff0c 这样的操作多了难免会感到烦躁并且时间一长再回去使用一些功能包的时候就
  • 控制理论——自动控制原理若干概念

    1 对自动控制系统的基本要求 稳定性 被控量因扰动偏离期望值后 xff0c 经过过渡过程可以恢复到原来的期望值状态 快速性 包含两方面 xff1a 过渡过程的时间 最大超调量 xff08 震荡幅度 xff09 准确性 指稳态误差 xff1a

随机推荐