esp32 嵌入式linux,初体验乐鑫 ESP32 AT 指令-嵌入式系统-与非网
乐鑫 AT 固件初体验
初步体验 AT 指令下 TCP 数传,为了验证 AT 命令解析器。
前往乐鑫官网 下载最新版本 AT 固件和 AT 指令集手册。
硬件准备
本文使用乐鑫的 ESP-WROOM-32(ESP-WROOM-32 是 ESP32-WROOM-32 的曾用名)模块,4MB Flash,无 PSRAM。ESP32 系列模组和开发板参考该链接,这里有详细的对比介绍。
模块接线示意图如下:(图片来自乐鑫文档)
ESP32-WROOM-32 Series Hardware Connection
请在该链接里找到你的硬件对应的接线方式,连线必须准确无误!
选择 AT 固件
乐鑫的 AT 固件自 V2.0 之后就开始使用 ESP-AT(基于 ESP-IDF 或 ESP8266_RTOS_SDK 实现的软件工程)了,不再使用 NonOS 版本。如果你使用的是 ESP8266 模块,那么可以考虑是否可以平滑升级到新的版本。
各版本 AT 固件的差异参考该链接。
从该链接里选择对应你硬件的 AT 固件,这里我选择 ESP32 AT binaries / ESP32-WROOM-32 Series / v2.1.0.0 ESP32-WROOM-32_AT_Bin_V2.1.0.0.zip。
烧录 AT 固件
烧录过程主要参考乐鑫的官方文档,针对我的这个 ESP-WROOM-32 模块,有以下几个步骤:
下载 AT 固件到 PC 上(ESP32-WROOM-32_AT_Bin_V2.1.0.0.zip)
下载烧录工具
烧录工具支持 Windows 和 MAC/Linux 系统,在该链接里下载。
正确连接 ESP-WROOM-32 模块到 PC 上
ESP-WROOM-32 有两路串口,一路需要使用一个 USB-A 转 Micro-USB 的线,用于固件下载和日志查看;另外一路串口需要一个 USB 转 TTL 串口的模块,用于 AT 指令传输。
连线方式见前面的 硬件准备 章节。
打开烧录工具,烧录默认 AT 固件
选择默认 AT 固件,下载到 0x0 地址,并勾选 DoNotChgBin
然后选择对应的 串口 号,波特率使用默认的即可。最后点击 START 开始烧录。
确认烧录成功(发送 AT 和 AT+GMR 命令确认)
发 AT 指令返回 OK 标识 AT 服务已经正常启动,发 AT+GMR 查看 AT 固件信息是否跟你烧录的一致。
打开工具 flash_download_tool_v3.8.5.exe
选择 Developer Mode
选择芯片型号(本文里,我使用 ESP32 DownloadTool)
AT 指令测试 TCP Server 连接
确定 WiFi 模块即将连接的路由器
将 PC 接入该路由器,保证 WiFi 模块与路由器在同一个局域网下
PC 机开启 TCP Server
如上图所示,开启 TCP Server,ip:192.168.50.190 端口:8089。
AT 模块连接 AT 串口到 PC,并上电,确定 AT 功能正常
发送 AT 返回 OK。
设置 AT 模块为 STA 模式(STA 模式下才能连接路由器 AP 热点)
发送 AT+CWMODE=1 进入 STA 模式,1 为 STA,2 为 AP,3 为 AP+STA。
AT+CWMODE=1
OK
连接路由器
发送 AT+CWJAP="SSID","PWD" 连接路由器,SSID 为路由器 AP 热点名称,PWD 为路由器热点密码。示例如下:
AT+CWJAP="murphy","pwd_12345678"
WIFI CONNECTED
WIFI GOT IP
OK
查询模块 ip 地址,判断是否与 PC 在同一网段下
AT+CIFSR
+CIFSR:STAIP,"192.168.50.15"
+CIFSR:STAMAC,"30:ae:a4:04:75:f0"
OK
连接 TCP Server
AT+CIPSTART="TCP","192.168.50.190",8089
CONNECT
OK
如下图所示,连接成功:
模块发数据给 TCP Server
先发送 AT 命令 AT+CIPSEND=x,其中 x 表示要发送的数据长度,告诉 AT 解析器,我要发 x 字节的数据,你准备好接收!
AT 解析器成功识别之后返回下面信息:
OK
>
当看到 > 的时候,我们就可以发数据了,但一定要发送 x 字节数据,否则多余的数据会被丢掉,并返回 busy p...。
TCP Server 发数据给模块
TCP Server 直接发数据就可以,WiFi 模块收到后,显示 +IPD,x:data 格式的信息。其中 +IPD 表示 WiFi 模块收到了对端的数据,x 表示收到的数据长度,data 表示收到的数据内容。示例如下图所示:
模块透传发送数据
首先设置数传模式为透传模式,指令 AT+CIPMODE=1。1:透传模式;0:普通模式。他们的主要区别是在透传模式可以在 AT+CIPSEND 指令后一直发送数据(直到退出透传发送),而普通模式下每次发送数据必须使用 AT+CIPSEND=x 来指定数据长度。
AT+CIPMODE=1
OK
AT+CIPSEND
OK
>
这个时候就可以发送数据直达模块了。
模块退出透传发送
发送 +++ 后停顿 1 秒。使用串口工具一次性发送 +++ 而不是手动一个个发送,否则会导致误检测成数据。
这是 AT 指令的一个标准约定。
如果此时想切换成 普通数传模式,发送 AT+CIPMODE=0 指令。
为了更好的直观感受,录屏展示两种模式下的数传:
参考
这里给出了乐鑫官网的参考链接,需要阅读原始文档的童鞋移步这里。
乐鑫官方 ESP-AT 用户指南
包括 AT 固件下载,AT 指令集介绍,编译与开发。
https://docs.espressif.com/projects/esp-at/zh_CN/latest/Get_Started/index.html
乐鑫官方 ESP8266 AT 固件
https://docs.espressif.com/projects/esp-at/en/latest/AT_Binary_Lists/ESP8266_AT_binaries.htm
乐鑫工具下载
https://www.espressif.com/zh-hans/support/download/other-tool
esp32 嵌入式linux,初体验乐鑫 ESP32 AT 指令-嵌入式系统-与非网相关推荐
- 很多初接触乐鑫ESP32/ESP8266 模块时,都不清楚怎么为 ESP32、ESP8266 系列模组烧录固件呢?这里以启明云端WT8266-S5(ESP-12F)和ESP32-WROOM模块为例说明
WT8266-S5(ESP-12F)为例 ESP8266 芯片: ESP FLASH TOOL 是 Espressif 官方开发的烧录工具,用户可根据实际的编译方式和 Flash 的容量,将 SDK ...
- 乐鑫Esp32学习之旅27 带你在Windows10平台下用自带的Linux安装 ESP8266/ESP32 环境,再无需额外安装虚拟机了。
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 " ...
- 乐鑫Esp32学习之旅① 爬坑学习新旅程,虚拟机Linux环境搭建esp32环境,打印 “Hellow World”。(2021年6月已更新)
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 系列一:ESP32系列模组基础学习系列笔记 1. 爬坑学习新旅程,虚 ...
- 乐鑫Esp32学习之旅28 安信可 ESP32-Cam 摄像头开发板二次开发 C SDK编程,实现MQTT远程拍照传输到私有服务器。(附带源码)
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 " ...
- 乐鑫Esp32学习之旅② 巧用eclipes编辑器,官方教程在Windows下搭建esp32开发环境,打印 “Hello World”。
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 " ...
- 乐鑫Esp32学习之旅13 esp32 内置 dns 服务器,无需外网访问域名返回指定网页。(附带Demo)
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 " ...
- ESP32 入门笔记01:乐鑫ESP32-DevKitC开发板信息、开发环境搭建以及学资料准备
文章目录 一.ESP32-DevKitC 开发板介绍 二.ESP32 开发环境 1. Arduino IDE 1.1 开发环境搭建步骤 1.2 实验:使用 Arduino IDE 将代码上传到 ESP ...
- 乐鑫Esp32学习之旅11 入门 乐鑫esp-adf 音频框架开发,造一个蓝牙耳机,实现切换歌曲,获取歌曲信息等功能。(附带Demo)
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 " ...
- 乐鑫Esp32学习之旅28 分享在 esp32 SDK实现驱动 Flash W25Q32 的封装,扩大容量存储更多的资源。(开源源码工程)。
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 系列一:ESP32系列模组基础学习系列笔记 1. 爬坑学习新旅程,虚 ...
最新文章
- python input和print,Python基础——输出[print()]与输入[input()]
- 通信系统计算机仿真上机实验报告,昆明理工大学计算机仿真实验.docx
- 20080826 - Delphi 2009 来了
- TCP与UDP的区别(未完成,待补充)
- OpenWRT开发之——对C++的支持(解决库依赖问题)
- Spark Scala当中reduceByKey的用法
- linux bash -,linux bash 总结
- Microsoft .NET 框架常见问题
- Hibernate(1)——简介
- 架构整洁之道 (Clean Architecture )与领域模型与领域驱动设计(DDD)
- 文本挖掘之情感分析在网络视频弹幕的应用 ——以《都挺好》弹幕数据为例
- Linux裸机开发详解
- 初识人工智能AI(基本概念)
- 去中心化应用程序 (dApps) 发展现状及趋势回顾
- 山西省忻州市水泥厂能耗监测系统的设计与应用
- 【Linux】scp命令基本使用
- 游戏产业迎新机遇,KuPlay平台助力多元化发展
- 插入排序超详细讲解C语言
- JS获取指定特殊字符之间的字符
- 关于git提交报错Please tell me who you are.
热门文章
- python 桌面提醒_使用Python获取桌面通知
- 识别物体是否存在_【科学实践Vol.1】带你玩转“人脸识别”
- c语言通过指针变量输出10个元素,C语言程序设计第2版指针程序设计(10页)-原创力文档...
- [2020-ECCV]PIPAL-a Large-Scale Image Quality Assessment Dataset for Perceptual Image Restoration论文简析
- (2021) 20 [虚拟化] 进程调度
- 计算机二级循环队列知识点,考点!计算机二级考试公共基础知识冲刺复习笔记:栈、队列和循环队列...
- python中用函数设计栈的括号匹配问题_数据结构和算法(Python版):利用栈(Stack)实现括号的匹配问题...
- 云服务器重装系统后卡顿,云服务器Windows重装系统须知
- pppoe linux 配置文件,linux PPPOE服务端配置
- Rabbit and Grass【博弈】