Hallo zusammen, ich verwende zwei Lora E32 433T20D zusammen mit einem CP2102 UART TTL-Konverter, um aussagekräftige Daten von meinem weit entfernten Arduino über den seriellen Anschluss zu senden. Es kann jedoch nichts gelesen werden, der Port öffnet sich, empfängt aber keine Daten. Ich habe mit 3 verschiedenen Programmiersprachen getestet, um den Code zu erhalten, und nichts!! Ich brauche dieses LoRa, um die Informationen zu empfangen und damit arbeiten zu können. Weiß jemand, was passiert sein könnte?
Arduino Uno R3 + 2x Lora E32 433T20D + CP2102
grundsätzlich sendet der Code im Moment nur, ich möchte, dass die Antwort über die serielle Schnittstelle übertragen wird, und ja, ich habe bereits einen anderen Code, der die serielle Schnittstelle abhört.
#include <SoftwareSerial.h> // Biblioteca de comunicação do módulo
#include <EBYTE.h> // Biblioteca do Kris
#define M0_LoRa 11
#define M1_LoRa 12
#define RX_LoRa 3 // Vai no TXD do módulo
#define TX_LoRa 2 // Vai no RXD do módulo
#define AUX_LoRa 4
SoftwareSerial lora(RX_LoRa, TX_LoRa); // Definição dos pinos para criar a comunicação serial
EBYTE LoRa(&lora, M0_LoRa, M1_LoRa, AUX_LoRa); // Criar objeto de Transmissão, passando na comunicação serial e pinos
void setup() {
Serial.begin(9600); // Definir taxa de trabalho em 9600
lora.begin(9600); // Inicializa o SoftwareSerial para LoRa
LoRa.init(); // Inicializa a comunicação LoRa
// LoRa.Reset(); // Reseta parâmetros para os de fábrica (se necessário)
LoRa.SetAirDataRate(ADR_1K); // Estabelece a taxa de dados de transmissão (exemplo 1K)
LoRa.SetAddress(1); // Estabelece o endereço do dispositivo
LoRa.SetChannel(23); // Estabelece o canal de comunicação
LoRa.SaveParameters(TEMPORARY); // Salva as configurações temporárias
LoRa.PrintParameters(); // Imprime as configurações atuais dos módulos
LoRa.SetMode(EBYTE_MODE_NORMAL); // Define o modo normal para o LoRa
}
void loop() {
if (Serial.available() > 0) {
String msg = Serial.readString(); // Lê a mensagem recebida via serial
// Verifica se a mensagem não está vazia
if (msg.length() > 0) {
lora.print(msg); // Envia a mensagem via LoRa
Serial.println("Mensagem enviada: " + msg); // Exibe no Serial Monitor a mensagem enviada
}
}
}
Antes de mais nada, vale dizer que eu nunca usei esse módulo. Mas, creio que há pedaços faltantes na descrição que você fez do seu projeto.
Supostamente, o sketch que você postou transmitiria a mensagem que você digitou no Monitor Serial da IDE do Arduino via um dos LoRas que está conectado aos pinos 2 e 3 de um Arduino (qual Arduino?).
Você não explica o que há do outro lado (o outro LoRa e...?) e não coloca o sketch do receptor.
Também não há detalhes sobre o que faz essa biblioteca EBYTE.
Sendo esse o seu primeiro post aqui, eu sugiro que você dê uma olhada no tópico Como obter o melhor desse Forum. Há dicas importantes lá sobre as informações que você precisa postar para que as pessoas possam efetivamente te ajudar.
Obrigado. Estou utilizando um arduino uno R3, um LoRa e32 está conectado à esse arduino, o outro LoRa e32 está direto no CP2102, já que tem o USB serial, imaginei que seria possível receber os dados da serial diretamente no notebook, pela porta. Não há outro arduino para esse outro Lora. Apenas o LoRa nesse conversor na porta USB do notebook. E sim o objetivo desse primeiro código é enviar mensagems por radiofrequencia para o outro dispotivo que está recebendo.
Essa é uma boa pergunta. Eu também acredito que dê para fazer, só que seria necessário entender bem mais a fundo os protocolos de comunicação do módulo LoRa e do próprio CP2102.
Por exemplo: a taxa de transferência do LoRa é 2.4Kbps e o tamanho do pacote trafegado deve ser até 58 bytes. Precisa "dizer" pro CP2102 operar dessa mesma forma? Como?
Outra pergunta: você conectou o M0 e o M1 do módulo ao GND, para operar no modo mais simples?
Eu tentaria ir pelo caminho mais comum e acrescentar um microcontrolador na parte receptora, a não ser que você tenha alguma razão muito forte para não fazer isso.
Caso você queira prosseguir sem o microcontrolador, talvez seja interessante refazer seu post em inglês na parte geral do Fórum. Como muito mais gente responde por lá, aumentam as chances de que alguém tenha o conhecimento necessário para te dizer como fazer.
Jetzt bist Du im deutschen Teil des Forums gelandet.
Jetzt verstehe ich Deine Schaltung nicht.
Arduino - LORA - LORA - Cp2101 - USB am PC?
Ein LORA ist keine Erweiterung des Seriellen Busses. Der LORA Standart verbietet eine kontinuierlicher Datenversand. Das Modul darf nur kurze Zeit mit großen Pausen senden.
Dann gib uns den Sketch und nicht ein Bild vom Sketch. Hier tippt keiner das Bild ab um den Sketch zu testen.
Der Code ist jetzt verfügbar. Vielen Dank für Ihre Aufmerksamkeit. Sie verstehen das Schema, Arduino – Lora – Lora – USB – PC.
Bedeutet dies, dass ich keine Daten vom anderen Lora empfangen und direkt seriell senden kann?
Gibt es eine Möglichkeit, diese (Daten) zu extrahieren? Erzwingen Sie, dass die empfangende Lora die Nachricht weiterleitet.
In meinem Projekt wären feststeckende Daten unbrauchbar, ich möchte mit diesen Daten auf dem PC arbeiten. Ich bin arbeitslos und habe nicht die Mittel, einen weiteren Arduino zu kaufen.
Sollte das allerdings nicht möglich sein, werde ich versuchen, einen anderen Arduino auszuleihen.
ebyte Bibliothek: GitHub - KrisKasprzak/EBYTE: Libraries to program and use UART-based EBYTE wireless data transceivers