Не удается установить соединение с помощью ESP8266 и Arduino uno
Я использую Arduino Uno Rev3 с ESP8266 для подключения к сети и отправки некоторых данных через TCP-сокеты. Я использую следующий код для установления соединения
boolean connectWifi() {
String cmd = "AT+CWJAP="";
cmd += SSID;
cmd += "","";
cmd += PASS;
cmd += """;
Serial.flush();
Serial.println(cmd);
delay(5000);
if(Serial.find("OK")) {
Serial.println("Connected");
return true;
} else {
Serial.println("Not connected");
return false;
}
}
Но каждый раз, когда я вызываю эту функцию внутри цикла arduino (), я получаю "не подключен".
Я уже пытался подключиться напрямую с последовательного монитора, работающего с пустым кодом на Arduino, и эта команда AT работала очень хорошо. У кого-то есть хоть какое-то представление о том, что такое неправильно?
Соединения:
(используется, когда мне нужно отправить команды прямо из кода arduino)
Arduino ------------ ESP8266
3.3 В --------------------- vcc
gnd ---------------------- gnd
3.3 В ------------------- CH_PD
TX ------------------------ RX
RX ------------------------ TX
(используется, когда мне нужно отправить команды прямо с последовательного монитора arduino)
Arduino ------------ ESP8266
3.3 В --------------------- vcc
gnd ---------------------- gnd
3.3 В ------------------- CH_PD
TX ------------------------ TX
RX ------------------------ RX
3 ответов:
Я только что загрузил пустой файл.bin в ESP, и все работало нормально. Там был какой-то пример кода, конфликтующего с Ардуино.
Вам потребуется больше энергии, чтобы заставить его работать должным образом. Может быть, это поможет:
Http://makezine.com/2015/04/01/installing-building-arduino-sketch-5-microcontroller/
(проверьте: построить делитель напряжения из резисторов , из статьи)
У меня также есть та же проблема, попробуйте код ниже, может быть, это работает (esp должен быть подключен к контактам arduino, кроме rx и tx, я использую pin-код 7 и pin-код 8)
#include <SoftwareSerial.h> SoftwareSerial esp(7, 8);// TX, RX void setup() { esp.begin(115200); Serial.begin(9600); } void loop() { //put your code here }
Comments