Arduino 自动初始化ESP8266为透传模式
来源:互联网 发布:上海华测导航待遇知乎 编辑:程序博客网 时间:2024/06/06 01:47
通过上篇可以把esp8266设置成透传模式,但掉电后esp8266会退出透传模式,需要重新初始化,这样arduino和esp8266结合使用时,每次重启后都要通过电脑重新设置esp8266进入透传模式,这里通过把AT指令写进arduino程序中来实现上电自动初始化esp8266。上代码。
#include <SoftwareSerial.h>boolean firstTime = true;String returnStr = "";SoftwareSerial mySerial(13, 12); // RX, TXvoid setup() { // Open serial communications and wait for port to open: Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for native USB port only } Serial.println("Goodnight moon!"); // set the data rate for the SoftwareSerial port mySerial.begin(9600);//set esp8266 boud 9600} void loop() { // run over and over while(firstTime){ mySerial.println("test"); delay(800); while(mySerial.available() > 0){ returnStr += char(mySerial.read()); delay(2); } if(returnStr.length() < 1){ firstTime = false; break; } returnStr = ""; mySerial.println("AT+RST"); while(true){//wait for ok while(mySerial.available() > 0){ returnStr += char(mySerial.read()); delay(2); } if(returnStr.lastIndexOf("invalid") != -1){ Serial.println(returnStr); break; } } returnStr = ""; mySerial.println("AT+CIPMODE=1"); while(true){//wait for ok while(mySerial.available() > 0){ returnStr += char(mySerial.read()); delay(2); } if(returnStr.lastIndexOf("OK") != -1){ Serial.println(returnStr); break; } } returnStr = ""; mySerial.println("AT+CWJAP=\"Chen302lab\",\"au302lab\""); while(true){//wait for ok while(mySerial.available() > 0){ returnStr += char(mySerial.read()); delay(2); } if(returnStr.lastIndexOf("OK") != -1){ Serial.println(returnStr); break; } } returnStr = ""; mySerial.println("AT+CIPMUX=0"); while(true){//wait for ok while(mySerial.available() > 0){ returnStr += char(mySerial.read()); delay(2); } if(returnStr.lastIndexOf("OK") != -1){ Serial.println(returnStr); break; } } returnStr = ""; mySerial.println("AT+CIPSTART=\"TCP\",\"192.168.1.114\",8080"); while(true){//wait for ok while(mySerial.available() > 0){ returnStr += char(mySerial.read()); delay(2); } if(returnStr.lastIndexOf("OK") != -1){ Serial.println(returnStr); break; } } returnStr = ""; mySerial.println("AT+CIPSEND"); while(true){//wait for ok while(mySerial.available() > 0){ returnStr += char(mySerial.read()); delay(2); } if(returnStr.lastIndexOf("OK") != -1){ Serial.println(returnStr); break; } } firstTime = false; }// if (mySerial.available()) Serial.write(mySerial.read()); if (Serial.available()) { mySerial.write(Serial.read()); } }
这里把esp8266波特率设置为9600,esp8266短时间掉电不会退出透传模式,所以通过发送字符串test测试是否退出透传模式,如果退出了就会返回error,在透传模式时不会有返回。
0 0
- Arduino 自动初始化ESP8266为透传模式
- arduino esp8266透传代码
- Arduino ESP8266 做Station模式连接路由器&服务器。基础模型
- arduino安装ESP8266 Arduino core
- 【arduino】通过Esp8266-01模块实现的WiFi通信(4)关于透传
- Arduino IDE for ESP8266
- ESP8266 、station模式、 单连接透传模式 、基本指令
- 使用AT指令配置ESP8266开启透传模式
- ESP8266-01 使用 Arduino IDE
- ESP8266真会是Arduino Killer么?
- arduino esp8266 接线和代码、
- Arduino ESP8266编程深入要点
- 使用arduino安装esp8266环境
- ESP8266 Android 与 Arduino 通信
- Arduino IDE for ESP8266教程
- 基于esp8266的开发导航帖arduino ide for esp8266
- Arduino uno R3 + ESP8266-01 测试例程
- Arduino - ESP8266 Wifi 模块 之 设置
- partent()、partents()、closeset()区别
- MYSQL远程访问,授权IP等常用命令
- android屏幕监听,手机是否处于锁屏状态,在锁屏之上弹出Toast.makeText消息
- c#解析Json文件实例学习
- iOS核心动画keypath
- Arduino 自动初始化ESP8266为透传模式
- 剑指-二进制相加进位
- MVP与MVC
- c#解析EXCEL文件实例复习
- CCF-201403-2-窗口
- Android Studio提交库至Bintray jCenter从入门到放弃
- 基于接口的对象实例,泛型
- 与adb相关的问题,比如掉线问题、Android Studio 提示Session 'app':Error Installing APK、找不到设备
- Kaldi学习笔记 -- 构建字典FST脚本 -- prepare_lang.sh 关键内容解析