WiFi-реле Arduino UNO + ESP8266 от LC Technology

У меня есть Arduino Uno, и недавно я приобрел WiFi-реле ESP8266 от LC Technology. Я пытался найти информацию об этом в сети, но все ответы/предложенные решения мне не помогли. Позвольте мне кратко объяснить проблему.

Я подключил этот модуль к Arduino очень простым способом:

  • TX -> контакт 7
  • RX -> контакт 6
  • 5В -> ВХ+
  • ЗЕМЛЯ -> ВХОД -

Простой код:

#include "Arduino.h"
#include <SoftwareSerial.h>

#define TxPin 7
#define RxPin 6

SoftwareSerial ESPrelay(RxPin, TxPin);

void setup() {
    Serial.begin(9600);
    ESPrelay.begin(9600);

    readRx();

    ESPrelay.println("AT");
    readRx();
}

void loop() {
    Serial.println(ESPrelay.read());
    // this above is constant -1
}

void readRx() {
    String msg = "";
    while (ESPrelay.available()) {
        char rxByte = ESPrelay.read();
        msg += rxByte;
    }
    Serial.println(msg);
    delay(500);
}

Я вижу точку доступа Wi-Fi, созданную модулем, поэтому думаю, что сам модуль работает нормально — связь между Arduino и модулем несколько нарушена.

Я попробовал все разные AT-команды, но ни одна из них, похоже, не дала эффекта (пробовал переключать режимы и подключаться к домашнему WiFI, но безуспешно), а также никакого ответа. Может ли кто-нибудь попытаться помочь мне решить эту проблему?

Я пробовал менять 9600 на 115200 при общении, но и тут не получилось.

, 👍0

Обсуждение

Вы удалили ESP-01 из платы реле?, @Juraj

Нет, я не..., @pagenoare

и как ты его тогда подключил?, @Juraj

https://imgur.com/a/xoNjI62 - слева: 1) IN+ -> 5V 2) IN- -> GND 3) RXD -> контакт 6 4) TXD -> контакт 7, @pagenoare

подключайте все к контактному разъему, а не к винтовым клеммам. клеммы IN предназначены для питания катушки реле., @Juraj

Я сейчас сделал, и ничего не изменилось. По-прежнему 0 ответов на команды AT и AT+RST., @pagenoare

вам следует подключить RX к TX. Передача на 6 и прием на 7, @Juraj

так наоборот, чем то, что у меня было? Извините, немного запутался. Я попробовал подключить его наоборот, но все равно ничего... Готовы ли вы зайти в чат Discord? Может быть проще/быстрее общаться..., @pagenoare

вызовите read readRx в цикле(). добавьте задержку перед отправкой «AT» в настройке, чтобы дать esp8266 время для загрузки, @Juraj

Раньше у меня было настроено 115200, поэтому я ничего не видел. Сменил обратно на 9600 и вижу ответ от модуля!, @pagenoare


1 ответ


Лучший ответ:

0

Последовательное соединение требует подключения контакта передачи TX к контакту приема RX. Последовательные контакты вашего программного обеспечения — это контакт 6 RX и контакт 7 TX. Таким образом, ваша проводка должна быть такой: esp8266 TX к контакту 6 Uno и esp8266 RX к контакту 7 Uno.

Подключите питание 5 В и заземление к контактному разъему, а не к винтовым клеммам. Клеммы IN предназначены для питания катушки реле.

Вызов read readRx() в цикле(). Добавьте задержку перед отправкой «AT» в настройках, чтобы дать esp8266 время загрузиться.

,