前言
我使用的是Arduino UNO的软串口开发ESP8266(见实物连接图),并不是直接使用串口转TTL模块在Arduino IDE开发。ESP8266型号为01。
Arduino带USB转TTL模块,这个实验是把Arduino当成USB转TTL来用的,大家手里有USB转TTL,可以直接调试。一般情况ESP8266里面自带AT固件,大家可以直接用。我这里是把代码烧进Arduino,通过Arduino的软串口转发AT指令给ESP8266,并且将ESP8266响应的字符串回传给PC的串口,显示在串口监视器上。
一、引脚说明
ESP8266 | Arduino |
---|---|
VCC | 3.3V(不能接5V) |
GDN | GND |
CH_PD | 3.3V(最好接个电阻) |
RX | 3(自定义) |
TX | 2(自定义) |
实物连接图(Arduino+Esp8266+DHT11)
二、代码
AT指令使用说明书
链接:https://pan.baidu.com/s/1o9hT2wp3J7jveoP7DtBIpw
提取码:3qto
复制这段内容后打开百度网盘手机App,操作更方便哦
#include<SoftwareSerial.h>
SoftwareSerial espSerial(2,3);//RX,TX,接线要反着接
void setup() {
Serial.begin(9600); //串口波特率
espSerial.begin(115200);// esp8266 01波特率
}
void loop() {
/*Serial.available()判断串口的缓冲区有无数据,
当Serial.available()>0时,说明串口接收到了数据,可以读取*/
if(Serial.available())
{
espSerial.write(Serial.read());
}
if(espSerial.available())
{
Serial.write(espSerial.read());
}
}
三、AT指令调试
1、设置Wifi模式(AP+STA):
AT+CWMODE=3
响应:OK
2、重启一下:
AT+RST
响应:OK
3、连接路由器
AT+CWJAP="ssid","password" //你家Wifi的账号密码
响应:OK
4、客户端连接服务器
AT+CIPSTART="TCP","192.168.1.11",8080
响应:OK
5、发送消息
AT+CIPSEND=4 // 发送四个字节,字节数可按需任定
响应:OK
>DGFY // 输入要发送的四个字节内容,无需回车。
>响应:SEND OK
6、如果连接本机的网络调试助手(连不上服务器)出问题,例如
AT+CIPSTART=4,"TCP","192.168.1.201",8080
ERROR
4,CLOSED
这个好像一直都是防火墙的问题,可以试试在虚拟机上装网络调试助手。详情请移步Esp8266无法连接服务器
四、软件分享
1、网络调试助手(win)
链接:https://pan.baidu.com/s/1PA4MAABFbJJY22-kWN4yKg
提取码:9mz9
2、串口调试助手(win)
链接:https://pan.baidu.com/s/1sOeW6xONDYCXKrZbSWDzNw
提取码:5nsh