Однонаправленная связь между NodeMCU и Arduino выплевывает мусор
Я отправляю данные с ESP8266 (NodeMCU) на Arduino, используя последовательный порт и скорость 9600 бод с обеих сторон. Поскольку он однонаправленный и от NodeMCU к Arduino, я не использую регулятор напряжения и подключил tx (Software Serial) NodeMcu к Rx Arduino. Я подключил usb nodeMCU к компьютеру. Я сделал то же самое для питания Arduino.
Вот пример кода на NodeMCU:
#define Arduino_RX 4 // D2
#define Arduino_TX 5 // D1
SoftwareSerial ArduinoSerial(Arduino_RX, Arduino_TX); // Прием | Передача
void setup() {
Serial.begin(115200);
ArduinoSerial.begin(9600);
delay(10);
// Подключаемся к сети Wi-Fi
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
WiFi.config(ip, gateway, subnet);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
// Запускаем сервер
server.begin();
Serial.println("Server started");
}
void loop()
{
ArduinoSerial.println("hi");
Serial.println("hi");
delay(1);
}
Код на Arduino
#define ESP8266_RX 2
#define ESP8266_TX 3
#include <SoftwareSerial.h>
SoftwareSerial ESPserial(ESP8266_RX, ESP8266_TX); // RX | TX
void setup() {
// put your setup code here, to run once:
Serial.begin(9600); // communication with the host computer
ESPserial.begin(9600);
Serial.println("Ready");
}
void loop() {
if ( ESPserial.available() ) {
Serial.write( ESPserial.read() );
}
}
@Nikhil, 👍2
Обсуждение1 ответ
▲ 1
https://www.pjrc.com/teensy/td_libs_AltSoftSerial.html
Заземляете ли вы их через USB-порт компьютера? Попробуйте также подключить их GND.
Внешнее питание также может быть проблемой, я не знаю об энергопотреблении ESP, когда они что-то делают с Wi-Fi.
,
@dBm
Смотрите также:
- Какие входные контакты я могу использовать на ESP8266 NodeMCU
- ESP8266 не может подключиться к брокеру MQTT
- Wemos D1 не работает с MH-Z19B (датчик CO2)
- Ошибка программного сброса wdt на NodeMCU (ESP8266)
- Отправьте несколько значений из Arduino Uno в nodeMCU, используя последовательный порт.
- NODEMCU 1.0 HX711 Тензодатчик читает странный текст
- Как защитить ссылку/URL-адрес формы ESP-12E для управления светодиодом
- Ультразвуковой датчик (HC-SR04), регистрирующий случайное расстояние
Спасибо Вам за Ваш вопрос. Не могли бы вы отредактировать его и действительно прояснить свой вопрос. Например, что вы ожидаете получить и что на самом деле получаете?, @sa_leinad
Программный серийный номер не всегда хорошо работает на 9600. Попробуйте 56k. Также учтите, что esp составляет 3,3 В, а Arduino — 5 В., @Visual Micro
многие модули ESP8266 по умолчанию имеют скорость 74880 бод, @Jaromanda X
Пробовал со всеми возможными скоростями безрезультатно. Стоит отметить, что это сработало пару дней назад, и недавно я начал видеть мусор., @Nikhil
Почему бы вам не попробовать использовать выводы Rx и Tx по умолчанию на nodeMCU. или в коде Arduino, почему бы не изменить скорость передачи данных на 115200., @rahul0201
Вы пытались увеличить задержку на ESP, чтобы у него была возможность очистить буфер перед отправкой дополнительных данных?, @Code Gorilla