当前位置:   article > 正文

Arduino与ESP8266-01s模块通讯点灯_esp01s点灯代码

esp01s点灯代码

前言

           网上方法繁多,各有各的不同,本文章为方便新手上手直接用最简单的点灯展示,关于ESP8266-01s的AT指令类就上网搜有很多这就不多讲了。新的模块是自带出厂固件,若是需要刷固件可参考上一篇文章51接ESP8266-01s模块通讯点灯

接线

ESP-01SArduino
VCC3.3V
GNDGND
EN3.3V
TXRX
RXTX

二、ESP8266-01S接Arduino

         注意Arduino烧录文件的时候需要拔掉TX和RX,不然会冲突无法烧录,烧录完成后插回去,然后按下复位键即可。

三、所用到AT指令

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拔掉,上传成功后插回按下复位键即可。

 代码

  1. #include <SoftwareSerial.h>
  2. SoftwareSerial mySerial(13,12); //(13(RX),12(TX))接ESP8266的(TX,RX)
  3. String comdata;
  4. void setup() {
  5. pinMode(11,OUTPUT);
  6. Serial.begin(9600);
  7. while (!Serial) {
  8. }
  9. Serial.println("Hello World");
  10. mySerial.begin(115200);
  11. mySerial.println("AT+CIPMUX=1");//8266发送的指令
  12. delay(1000);
  13. mySerial.println("AT+CIPSERVER=1,8080");
  14. }
  15. void loop() {
  16. while (mySerial.available() > 0)
  17. {
  18. comdata += char(mySerial.read());
  19. delay(2);
  20. }
  21. if (comdata.length() > 0)
  22. {
  23. comdata.trim();
  24. Serial.println(comdata);
  25. if (comdata.endsWith("A")){
  26. digitalWrite(11,HIGH);
  27. Serial.println("Buzz ON");
  28. }
  29. if (comdata.endsWith("a")){
  30. digitalWrite(11,LOW);
  31. Serial.println("Buzz OFF");
  32. }
  33. comdata = "";
  34. }
  35. if (Serial.available()) {
  36. mySerial.write(Serial.read());
  37. }
  38. }

网络串口测试

 可以看到网络串口这边发送的,Arduino串口这边可以看到信息,网络中的无线设备发送到ESP-01S的数据信息固定格式+IPD,<客户ID>,<信息长度>:<信息内容>。切记Arduino串口这边右下角要改为NL和CR模式,和波特率9600。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号