Пытаюсь отправить данные на сервер, но AT+CIPSEND работает неправильно.
Отправка данных на сервер (thingspeak.com/184.106.153.14) с помощью AT-команд на последовательном мониторе работает нормально, но всякий раз, когда я загружаю эскиз, следующее всегда возвращает false if(Serial.find( ">" ) )
. Я не уверен, что AT+CIPSEND
работает неправильно или что-то в этом роде. Я использую Arduino с ESP8266. Любая помощь будет оценена по достоинству. Заранее спасибо. Вот мой код.
#include <SoftwareSerial.h>
SoftwareSerial softSerial(2, 3); // RX, TX
#define SSID "myssid"
#define PASS "Mypass"
#define IP "184.106.153.149" // ThingSpeak
void setup()
{
uint32_t baud = 9600;
Serial.begin(baud);
softSerial.begin(baud);
connectWiFi();
}
void loop()
{
updateTS();
}
void updateTS()
{
String cmd = "AT+CIPSTART=\"TCP\",\"";// Настройка TCP-соединения
cmd += IP;
cmd += "\",80";
sendDebug(cmd);
delay(2000);
String url = "GET /update?key=P55Z0BDASNQBFQKT&field1=15&field2=25\r\n\r\n"; //значение жесткого кода 15 и 25
String stringLength="AT+CIPSEND=";
stringLength +=String(url.length( ));
Serial.println(stringLength);
//задержка(10000); Я даже пытался задержаться на несколько секунд.
//Здесь происходит сбой, он переходит к закрытию соединения
if(Serial.find( ">" ) )
{
softSerial.print(">");
softSerial.print(cmds);
Serial.print(cmds);
}
else
{
sendDebug( "AT+CIPCLOSE" );//закрываем TCP-соединение
}
}
void sendDebug(String cmd)
{
softSerial.print("SEND: ");
softSerial.println(cmd);
Serial.println(cmd);
}
boolean connectWiFi()
{
Serial.println("AT+CWMODE=1");
delay(2000);
String cmd="AT+CWJAP=\""; // Присоединяемся к точке доступа
cmd+=SSID;
cmd+="\",\"";
cmd+=PASS;
cmd+="\"";
sendDebug(cmd);
delay(5000);
if(Serial.find("OK"))
{
softSerial.println("RECEIVED: OK");
return true;
}
else
{
softSerial.println("RECEIVED: Error");
return false;
}
}
@sparks, 👍1
0
Смотрите также:
- AT-команда не отвечает на последовательный монитор
- Отправка данных Arduino в MySQL с помощью phpMyAdmin и XAMPP на Windows10
- Arduino выводит значения мусора на serial monitor с ESP8266
- ошибка: espcomm_upload_mem failed при загрузке скетча
- фатальная ошибка ESP8266WiFi.h: Такого файла или каталога нет
- Как подключить Wi-Fi Shield ESP-12E-ESP8266-UART-WIFI-Wireless-Shield к Arduino
- Получить данные с сайта с помощью ESP8266 с помощью AT-команд
- Захват изображений с OV7670 (без FIFO) с использованием Arduino Uno?