ESP8266 01 модуль Wi-Fi
У меня странная проблема: я пытаюсь подключиться к esp8266 01 с помощью Arduino Uno, когда я пытаюсь отправить команды из последовательного порта, это не работает, но если я отправлю их в функцию на этапе настройки, это сработает
>#include <SoftwareSerial.h>
SoftwareSerial esp8266(2, 3);
void setup()
{
Serial.begin(9600);
esp8266.begin(9600);
delay(1000);
//sendData("AT", 1000);
//sendData("AT+CWMODE=1", 1000);
}
void loop() {
// put your main code here, to run repeatedly:
if(esp8266.available()) // check if the esp is sending a message
{
while(esp8266.available())
{
// The esp has data so display its output to the serial window
char c = esp8266.read(); // read the next character.
Serial.write(c);
}
}
if(Serial.available())
{
delay(1000);
String command="";
while(Serial.available()) // read the command character by character
{
command+=(char)Serial.read();
}
esp8266.println(command); // send the read character to the esp8266
}
}
void sendData(String command, const int timeout) {
String response = "";
esp8266.println(command);
long int time = millis();
while ((time + timeout) > millis())
while (esp8266.available()) {
char c = esp8266.read();
response += c;
}
Serial.println(response);
}
@Ali El-Boghdady, 👍0
Обсуждение1 ответ
Лучший ответ:
Я использую ваш код в качестве тестового эскиза и не буду комментировать то, как ужасно вы читаете последовательный ввод.
Прошивка AT требует \r\n в качестве завершающего символа команды. Вы можете установить их в Serial Monitor как опцию LN & CR, но затем используйте print
, чтобы отправить команду на esp8266.
Или установите в последовательном мониторе «Без окончания строки» и позвольте набросать println
для отправки команды. println
добавляет \r\n к напечатанной строке.
Если у вас была установлена только «Новая строка» в Serial Monitor и вы использовали println
, результирующая команда была для прошивки AT, нарушающей «AT\n\r\n».
Я не знаю, как правильно читать последовательный ввод. Можете ли вы продемонстрировать, как я взял код из Интернета?, @Ali El-Boghdady
Я исправил эту проблему, теперь я отправляю AT-команды, и они хорошо реагируют, теперь моя проблема заключается в подключении к точке доступа., @Ali El-Boghdady
- 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?
попробуйте напечатать обратно в последовательный порт переменную
command
, @Jurajя сделал, команда была в порядке, только AT-команда отвечает занято... затем ошибка, @Ali El-Boghdady
у вас есть CR/LF в последовательном мониторе? затем замените
println(команда)
наprint(команда)
, @Jurajизвините, я не знаю о CR/LF. я попробовал распечатать, но он просто отвечает с ошибкой, @Ali El-Boghdady
в Serial Monitor одной из настроек является окончание строки. ЛН и ЧР, @Juraj
ох, я нашел, что он настроен на новую строку, @Ali El-Boghdady
Для прошивки AT требуется \r\n (CR/LF). println добавляет это. поэтому вам нужно установить его в Serial Monitor или не устанавливать в Serial Monitor и использовать println. (\n\r\n было худшей комбинацией), @Juraj
я изменил настройки на NL и CR, и теперь все работает... спасибо, чувак, @Ali El-Boghdady
ну... появляется еще одна проблема... AT+CWJAP="SSID", "пароль" не работают... это я пробовал с функцией отправки данных и последовательным монитором, я не знаю, в чем проблема, хотя это AT+ CWLAP работает, @Ali El-Boghdady
у тебя есть пробел после запятой? вы все еще печатаете команду? оно полное?, @Juraj
AT+CWJAP="ssid", "пароль" именно так я и написал, @Ali El-Boghdady
убрать пробел после запятой, @Juraj
пробовал это и многие другие способы, я пробовал пробелы после и перед запятой и удалял все пробелы... ничего не работает, @Ali El-Boghdady
ты сначала отправил CWMODE?, @Juraj
омг....наконец-то это связано..большое спасибо, вы молодцы, @Ali El-Boghdady
да, я сделал, но моя проблема была в пробеле раньше = я думаю, @Ali El-Boghdady
я хотел сделать это с самого начала, но я не могу, чтобы вы добавляли комментарии, а не ответы, добавляйте ответ, чтобы я мог проголосовать за него, @Ali El-Boghdady