我正在開發一個基於Arduino的項目。當我通過串行監視器手動發送AT命令時,我得到正確的響應,但是當我通過代碼嘗試相同的命令時,ESP8266會返回垃圾值。我附上了這兩個響應圖片,並上傳了所用的程序。ESP8266返回垃圾值
#include <SoftwareSerial.h>
// We'll use a software serial interface to connect to ESP8266
SoftwareSerial ESP8266 (2,3);
//rx=2 connected to 3 of arduino. tx=3 connected to 2 of arduino
const char SSID_ESP[]="xxxxxxxx";
const char SSID_KEY[]="xxxxxxxx";
void setup() {
Serial.begin(115200);
ESP8266.begin(115200);
// Change this to the baudrate used by ESP8266
delay(1000); // Let the module self-initialize
ESP8266.println("AT");
delay(1000);
while (ESP8266.available()) Serial.write(ESP8266.read());
delay(1000);
ESP8266.println("AT+CWJAP");
ESP8266.println(SSID_ESP);
ESP8266.println("\",\"");
ESP8266.println(SSID_KEY);
ESP8266.println("\"\r\n");
delay(1000);
while(ESP8266.available()) Serial.write(ESP8266.read());
delay(2000);
ESP8266.println("AT+CWMODE=3");
delay(1000);
while(ESP8266.available()) Serial.write(ESP8266.read());
delay(1000);
ESP8266.println("AT+CIPMUX=0");
delay(1000);
while(ESP8266.available()) Serial.write(ESP8266.read());
delay(1000);
ESP8266.println("AT+CIPSTART=\"TCP\",\"api.thingspeak.com\",80");
delay(4000);
while (ESP8266.available()) {
Serial.write(ESP8266.read());
}
}
void loop() {}
如果我的答案幫助解決了您的問題,您可以將它作爲接受的答案@Rohit Rajapure –