赞
踩
网上方法繁多,各有各的不同,本文章为方便新手上手直接用最简单的点灯展示,关于ESP8266-01s的AT指令类就上网搜有很多这就不多讲了。新的模块是自带出厂固件,若是需要刷固件可参考上一篇文章51接ESP8266-01s模块通讯点灯
ESP-01S | Arduino |
VCC | 3.3V |
GND | GND |
EN | 3.3V |
TX | RX |
RX | TX |
注意Arduino烧录文件的时候需要拔掉TX和RX,不然会冲突无法烧录,烧录完成后插回去,然后按下复位键即可。
AT+CWMODE=2
AT+CWSAP="8266","123456789",1,3
AT+CIPMUX=1
AT+CIPSERVER=1,8080
AT指令部分
方法一
可像51单片机一样用USB转TTL接ESP82660-01s在用串口助手发送
AT+CWMODE=2
AT+CWSAP="8266","123456789",1,3
这两条即可,因前两条可不会被ESP82660-01s断电重置掉,后两条会被重置所以代码发即可。
方法二
上传完代码后可直接在Arduino串口这输入前两条代码,后两条按下复位键自动发送
因NL和CR模式的格式,所以会看到些乱码但是不影响正常发送出去的指令。
烧录
切记上传时需要吧RX和TX拔掉,上传成功后插回按下复位键即可。
代码
- #include <SoftwareSerial.h>
-
- SoftwareSerial mySerial(13,12); //(13(RX),12(TX))接ESP8266的(TX,RX)
- String comdata;
-
- void setup() {
- pinMode(11,OUTPUT);
-
- Serial.begin(9600);
- while (!Serial) {
-
- }
-
- Serial.println("Hello World");
- mySerial.begin(115200);
-
-
- mySerial.println("AT+CIPMUX=1");//向8266发送的指令
- delay(1000);
- mySerial.println("AT+CIPSERVER=1,8080");
- }
-
- void loop() {
-
- while (mySerial.available() > 0)
- {
- comdata += char(mySerial.read());
- delay(2);
- }
- if (comdata.length() > 0)
- {
- comdata.trim();
- Serial.println(comdata);
- if (comdata.endsWith("A")){
- digitalWrite(11,HIGH);
- Serial.println("Buzz ON");
- }
- if (comdata.endsWith("a")){
- digitalWrite(11,LOW);
- Serial.println("Buzz OFF");
- }
- comdata = "";
- }
- if (Serial.available()) {
- mySerial.write(Serial.read());
- }
- }
网络串口测试
可以看到网络串口这边发送的,Arduino串口这边可以看到信息,网络中的无线设备发送到ESP-01S的数据信息固定格式+IPD,<客户ID>,<信息长度>:<信息内容>。切记Arduino串口这边右下角要改为NL和CR模式,和波特率9600。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。