Отправка 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". Однако ответа я не получаю. До сих пор я пробовал:
- Эксперименты с различными скоростями передачи (9600 и 115200)
- Жесткое кодирование ПО команде(командам)
- Использование 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 не подключен.
@Sun Bee, 👍1
Обсуждение3 ответа
Для того чтобы протестировать AT-команды для модуля Reyax Rylr 896, необходимо соединить rxd модуля lora с rx(D7) nodemcu и txd модуля lora с tx(D8) nodemcu.
Подключите свой RX к RX и TX к TX и наслаждайтесь.
Это точно такой же ответ, как и от @Seetharam, но с меньшим количеством деталей. Кажется немного излишним., @StarCat
- Экспериментируя с различными скоростями передачи данных в бодах (9600 и 115200)
Имейте в виду, что максимальная скорость передачи данных RX в бодах составляет 57600 с программным обеспечением на Arduino. Дополнительные сведения см. в разделе Ограничения программного обеспечения для получения дополнительной информации.
- Как заставить 5-вольтовое реле работать с NodeMCU
- ESP8266 не подключается к Wi-Fi
- Разница между этими двумя платами NodeMCU?
- NodeMCU - использовать кнопку flash в качестве входного сигнала в loop()
- Как определить размер Flash?
- Как изменить имя модуля ESP8266-12E по умолчанию
- Простой запрос GET с ESP8266HTTPClient
- В ESP-12E NodeMCU, какой выход PIN A0?
проводка? RX к TX и земле?, @Juraj
@juraj проверил соединения и добавил пик для ясности. Спасибо., @Sun Bee
Я считаю, что RYLR896 по умолчанию находится на уровне 115200., @hcheung
Кто-нибудь решил эту проблему выше?У меня такая же схема, как и выше, и я вообще не получаю никакого ответа на команду AT. Кто-нибудь знает простой способ проверить, работает ли Reyax rylr896, дав ему команду AT?, @Ace