Проблема с передачей RA-02 LoRa
esp8266
lora
я подключил 2 модуля RA-02 к своему ESP8266 s. Оба они способны передавать и принимать данные друг от друга. а также esp8266 s представлены как точки доступа к любому клиенту, который хочет подключиться к ним. затем esp отправит полученные данные со своего RA-02 клиенту. Но когда я посылаю строку с одного конца, на другой стороне нет приема. я вижу на последовательном мониторе, что передача прошла успешно, но я ничего не могу получить с другой стороны.
Вот код:
#include <ESP8266WiFi.h>
#include <ArduinoWiFiServer.h>
#include <SPI.h>
#include <LoRa.h>
#ifndef STASSID
#define STASSID "ESP_SD-192-168-1-184-3434"
#define STAPSK "hta-1401"
#endif
#define ss 15
#define rst 16
#define dio0 4
const char* ssid = STASSID;
const char* password = STAPSK;
String s;
String str="";
ArduinoWiFiServer server(3434);
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void setup() {
Serial.begin(57600);
Serial.println();
LoRa.setPins(ss, rst, dio0);
if (!LoRa.begin(433E6)){
Serial.println("Starting LoRa failed!");
return;
}else{
Serial.println("LoRa started successfully");
}
IPAddress local_IP(192, 168, 1, 184);
IPAddress gateway(192, 168, 1, 1);
IPAddress subnet(255, 255, 0, 0);
if (!WiFi.softAPConfig(local_IP, gateway, subnet))
Serial.println("config failed");
WiFi.mode(WIFI_AP);
WiFi.softAP(ssid, password, 1, false);
server.begin();
IPAddress ip = WiFi.softAPIP();
Serial.println();
Serial.println(ip);
}
///////////////////////////////////////////////////////////////////////////////////////////
void loop() {
WiFiClient client = server.available();
if (client) {
s = client.readStringUntil('\n');
s.trim();
Serial.println(s);
}
if(s.length() != 0){
LoRa.beginPacket();
LoRa.print(s);
LoRa.endPacket();
s.remove(0);
Serial.println("Done");
}
int packetSize = LoRa.parsePacket();
if (packetSize == 0){
return;
}
byte loraRead[packetSize];
int count = 0;
Serial.println("Receiving packet...");
while(LoRa.available()){
str += static_cast<char>(LoRa.read());
Serial.println(str);
}
server.println(str);
server.flush();
str.remove(0);
}
я пробовал разные контакты, используя println вместо print при отправке, но безрезультатно.
@Arad, 👍0
0
Смотрите также:
- Как передать AT-команды Лоре из UART ESP32?
- Как читать и записывать EEPROM в ESP8266
- Как сделать выводы Tx и Rx на ESP-8266-01 в выводах GPIO?
- Как навсегда изменить скорость передачи данных ESP8266 (12e)?
- Как заставить 5-вольтовое реле работать с NodeMCU
- Как исправить: Invalid conversion from 'const char*' to 'char*' [-fpermissive]
- ESP8266 не подключается к Wi-Fi
- AT-команда не отвечает на последовательный монитор