Отправка AT команд на модули Reyax RYLR890 LoRa через дополнительный последовательный порт не работает

Я настраиваю модуль LoRa (передатчик) с помощью nodemcu (ESP8266). Модуль (Reyax RYLR896) принимает AT-команды по последовательному интерфейсу. Я создал дополнительный последовательный порт с помощью контактов D7 и D8 на nodemcu с помощью SoftwareSerial.h в Arduino IDE, чтобы попытаться настроить передатчик в следующем примере.

Я закодировал скетч ниже, чтобы прочитать команду AT из собственного последовательного интерфейса, передать ее модулю LoRa через дополнительный последовательный порт, прочитать ответ и распечатать его в последовательном мониторе. Модуль LoRa должен отвечать "+OK" на AT-команду типа "AT" или данными для команды типа "AT+ADDRESS". Однако ответа я не получаю. До сих пор я пробовал:

  1. Эксперименты с различными скоростями передачи (9600 и 115200)
  2. Жесткое кодирование ПО команде(командам)
  3. Использование read/write и ReadString/print.

Строка, отправленная через последовательный монитор, считывается правильно, но второй блок if никогда не вводится.

#include <SoftwareSerial.h>

#define Rx D7
#define Tx D8

SoftwareSerial LoRaSerial(Rx, Tx);

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  while (!Serial) {
    ; // Дождитесь готовности собственного последовательного интерфейса.
  }
  Serial.println("Native serial interface ready!");

  LoRaSerial.begin(9600); //  Также пробовал 115200
  LoRaSerial.println("LoRa serial interface ready!");
}

void loop() {
  // put your main code here, to run repeatedly:
  if (Serial.available()) {
    String serial_command = Serial.readString();
    Serial.print(serial_command);
    LoRaSerial.print("AT\r\n"); // жестко закодировано для тестирования
  }
  delay(200);
  if (LoRaSerial.available()) {
    String LoRa_response = LoRaSerial.readString();
    Serial.print("Done!");
    Serial.print(LoRa_response);
  }
}

Модуль совершенно новый, и я пробовал с двумя разными. Любая помощь приветствуется!

Соединения заключаются в следующем: Узел

mcu <> RYLR896

  • GND <> GND
  • D7 (Rx) <> TX
  • D8 (Tx) <> RX
  • 3V3 <> VDD

ПЕРВЫЙ на RYLR896 не подключен.

, 👍1

Обсуждение

проводка? RX к TX и земле?, @Juraj

@juraj проверил соединения и добавил пик для ясности. Спасибо., @Sun Bee

Я считаю, что RYLR896 по умолчанию находится на уровне 115200., @hcheung

Кто-нибудь решил эту проблему выше?У меня такая же схема, как и выше, и я вообще не получаю никакого ответа на команду AT. Кто-нибудь знает простой способ проверить, работает ли Reyax rylr896, дав ему команду AT?, @Ace


3 ответа


0

Для того чтобы протестировать AT-команды для модуля Reyax Rylr 896, необходимо соединить rxd модуля lora с rx(D7) nodemcu и txd модуля lora с tx(D8) nodemcu.

,

0

Подключите свой RX к RX и TX к TX и наслаждайтесь.

,

Это точно такой же ответ, как и от @Seetharam, но с меньшим количеством деталей. Кажется немного излишним., @StarCat


0
  1. Экспериментируя с различными скоростями передачи данных в бодах (9600 и 115200)

Имейте в виду, что максимальная скорость передачи данных RX в бодах составляет 57600 с программным обеспечением на Arduino. Дополнительные сведения см. в разделе Ограничения программного обеспечения для получения дополнительной информации.

,