惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
Stack Overflow Blog
Stack Overflow Blog
人人都是产品经理
人人都是产品经理
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
Vercel News
Vercel News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Y
Y Combinator Blog
The Cloudflare Blog
Last Week in AI
Last Week in AI
B
Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
V
Visual Studio Blog
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
Google DeepMind News
Google DeepMind News
D
DataBreaches.Net
博客园 - 司徒正美
B
Blog RSS Feed
Microsoft Azure Blog
Microsoft Azure Blog
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
L
LangChain Blog

博客园 - ejiyuan

vLLM + MTP + DFlash 部署测试 ChatGPT(codex) 第三方LLM配置 AI Search By PostgreSQL Jetson Orin Nano 刷机、Docker GPU 环境与大语言模型部署实践(Ollama / vLLM) linux 系统相关工具和命令 arduino首选项 ESXi安装openwrt idea 如何使用Let's Encrypt和Nginx为您的网站提供免费的SSL/TLS证书 docker 安装 onlyoffice docker使用alpine构建jdk21镜像 Minio服务搭建与应用 frp内网穿透 基于Docker 的redis cluster部署 docker 部署mongoDB集群与读写分离 MariaDB MaxScale实现mysql8读写分离 ESP8266引脚的说明 ESP8266 超声波测距模块HC-SR04 树莓派PICO Wifi 无线网卡 esp82666接线图 树莓派PICO读取温度传感器 树莓派使用python+继电器控制220V灯泡 docker的/var/lib/docker目录迁移
Arduino uno r3 使用 ESP8266 UART-WiFi 透传模块
ejiyuan · 2021-11-21 · via 博客园 - ejiyuan

一、所需硬件材料

1.ESP8266:01s某宝上3、5块钱

2.杜邦线:某宝几块钱一组40P,这里只需要三根,用于连接 树莓派与继电器

  

3.烧录器

二、ESP8266 AT固件烧录

ESP8266主要有两种固件,一种是AT固件(一般出厂自带)实现UART-WiFi 透传模块,一种是IoT固件,即我们自己编写通过IDE烧录的固件,如果ESP8266中包含这种固件无法通过AT命令实现透传,需要从新烧录AT固件。

0,软件准备:

1,连接烧录器:

如果是ESP01s 直接插入烧录器,然后插入电脑usb接口;如果是12E/F按阵脚对应接线,注意GPIO0、REST必须接,模块CH_PC接烧录器EN(网上说需要接10k电阻,我没接)

 2,软件烧录

  • 在出现的窗口中, 选择SPIDownload标签页(默认是这一页)
  • 在固件选择栏中, 勾选需要写入的行, 文件和地址分别为
  •   boot_v1.7.bin 0x00000
  •   user1.1024.new.2.bin 0x01000
  •   esp_init_data_default_v08.bin 0xfc000
  •   blank.bin 0x7e000
  •   blank.bin 0xfe000
  • 检查下面的参数配置: CrystalFreq 26M, SPI SPEED是40MHz, SPI MODE是DIO, FLASH SIZE是8Mbit
  • 界面右下方, 选择正确的COM口, 波特率使用默认的115200
  • 点击START

三、连接到Arduino uno 到ESP8266

1,连线图

2、代码

const int tx = 1;
const int rx = 0;
void setup() {
  pinMode(rx,INPUT_PULLUP);
  pinMode(tx,INPUT_PULLUP); 
}

void loop() {

}

以上连接的Arduino上的0和1是硬串口,也可使用软串口比如设置arduino上的8号口为rx,9号口为tx。就需要把ESP8266 的rx连接到Arduino的9号口上,模块的tx连接Arduino的8号口上,代码如下:

#include <SoftwareSerial.h>
SoftwareSerial mySerial(8, 9); // RX, TX
void setup() {
  Serial.begin(9600);
  mySerial.begin(9600);
  delay(1000);
  Serial.println("Goodnight  moon2");
  mySerial.println("AT+GMR");
}
void loop() {
  while (mySerial.available()) {
    Serial.write(mySerial.read());
  }
}

3、调试,打开串口工具

 4,使用AT命令透传

 

四、AT 常用命令

AT+RST //重启模块
AT+GMR //查看版本信息
AT+CIOBAUD=9600 //修改波特率
AT+CWMODE? //查询工作模式 1.Station (客户端模式)2.AP (接入点模式)3.Station+AP (两种模式共存)
AT+CWMODE=1 //设置模组为STA模式。
AT+CWLAP //查询附近 WIFI
AT+CWJAP="wifi名称","wifi密码" //连接路由器的 WIFI
AT+CIFSR //查看路由器分配给模组的IP地址,例如 192.168.43.103
AT+CIPMUX=0 //设置单连接
AT+CIPMODE=1 //设置透传模式
AT+CIPSTART="TCP","192.168.43.104",8899 //建立的TCP服务器
AT+CIPSEND //开始发送数据
>      //进入发送模式
abc     //发送数据
+++     //注意退出透传,直接发送。取消发送新行

五、参考