Taula de continguts:
- Subministraments
- Pas 1: Especificacions dels dispositius
- Pas 2: tipus de transmissió
- Pas 3: mode de dispositiu
- Pas 4: Dispositiu de cablejat
- Pas 5: configuració
- Pas 6: Resultat de la configuració
- Pas 7: envieu un missatge
- Pas 8: escut per a Arduino
- Pas 9: biblioteca
Vídeo: Comunicació simple Arduino LoRa (més de 5 km): 9 passos
2025 Autora: John Day | [email protected]. Última modificació: 2025-01-10 13:46
Anem a provar E32-TTL-100 amb la meva biblioteca. És un mòdul de transceptor sense fils, funciona a 410 441 MHz (o 868 MHz o 915 MHz) basat en el RFIC SX1278 original de SEMTECH, hi ha transmissió transparent disponible, nivell TTL. El mòdul adopta la tecnologia d’espectre estès LORA.
Subministraments
- Arduino UNO
- Dispositius LoRa e32
Opcional
- Escut LoRa Mischianti Arduino (codi obert)
- Escut WeMos LoRa de Mischianti (codi obert)
Pas 1: Especificacions dels dispositius
El mòdul compta amb l'algorisme de correcció d'errors FEC Forward, que garanteix la seva alta eficiència de codificació i un bon rendiment de correcció. En cas d’interferència sobtada, pot corregir els paquets de dades interferits automàticament, de manera que la fiabilitat i el rang de transmissió es millorin corresponentment. Però sense FEC, aquests paquets només es poden deixar caure. I amb el rigorós xifratge i desxifratge, la intercepció de dades es fa inútil. La funció de compressió de dades pot disminuir el temps de transmissió i la probabilitat de ser interferència, alhora que millora la fiabilitat i l'eficiència de la transmissió.
- Mida del mòdul: 21 * 36 mm
- Tipus d'antena: SMA-K (impedància de 50Ω)
- Distància de transmissió: 3000 m (màx.)
- Potència màxima: 2 dB (100 mW)
- Tarifes d’aire: 2,4 Kbps (6 nivells opcionals: 0,3, 1,2, 2,4, 4,8, 9,6, 19,2 kbps)
- Longitud d’emissió: 512ByteReceive
- longitud: 512 bytes
- Interfície de comunicació: UART - 8N1, 8E1, 8O1,
- Vuit tipus de velocitat de transmissió UART, de 1200 a 115200bps (per defecte: 9600)
- Suport RSSI: no (processament intel·ligent integrat)
Pas 2: tipus de transmissió
Transmissió transparent: es pot considerar com un "mode de demostració"; per defecte, podeu enviar missatges a tots els dispositius de la mateixa adreça i canal configurats.
Transmissió fixa
Aquest tipus de transmissió es pot especificar una adreça i un canal on voleu enviar el missatge. Podeu enviar un missatge a:
- Dispositiu especificat amb una adreça predeterminada baixa, alta direcció i canal.
- Emetre missatges a un conjunt de dispositius de canal Mode normal Simplement envieu un missatge.
Pas 3: mode de dispositiu
Mode normal: simplement envieu un missatge.
Mode de despertador i estalvi d’energia
Com podeu imaginar, si un dispositiu està en mode de despertador, pot "activar" un o més dispositius que estiguin en mode d'estalvi d'energia amb una comunicació de preàmbul.
Programa / mode de repòs
Amb aquesta configuració podeu canviar la configuració del vostre dispositiu.
Pas 4: Dispositiu de cablejat
Aquí l’esquema de connexió del dispositiu, es tracta d’una connexió totalment connectada, amb la gestió dels pins M0 i M1, que permet canviar la modalitat del dispositiu, de manera que podeu canviar a la configuració o despertar amb el programa, la biblioteca us ajudarà en tot això. operació.
Pas 5: configuració
Existeix una ordre especificada per configurar i obtenir la configuració
configuració nul·la () {Serial.begin (9600); retard (500); // Inicieu tots els pins i UART e32ttl100.begin (); ResponseStructContainer c; c = e32ttl100.getConfiguration (); // És important obtenir el punter de configuració abans de qualsevol altra operació Configuració de la configuració = * (Configuració *) c.data; Serial.println (c.status.getResponseDescription ()); Serial.println (c.status.code); printParameters (configuració); ResponseStructContainer cMi; cMi = e32ttl100.getModuleInformation (); // És important obtenir el punter d'informació abans de qualsevol altra operació ModuleInformation mi = * (ModuleInformation *) cMi.data; Serial.println (cMi.status.getResponseDescription ()); Serial.println (cMi.status.code); printModuleInformation (mi); }
Pas 6: Resultat de la configuració
I el resultat esdevé
Comenceu l'èxit 1 ---------------------------------------- HEAD BIN: 11000000 192 C0 AddH BIN: 0 AddL BIN: 0 Chan BIN: 23 -> 433MHz SpeedParityBit BIN: 0 -> 8N1 (per defecte) SpeedUARTDataRate BIN: 11 -> 9600bps (per defecte) SpeedAirDataRate BIN: 10 -> 2.4kbps (per defecte) Opció Trans BIN: 0 - > Transmissió transparent (predeterminat) OptionPullup BIN: 1 -> TXD, RXD, AUX són push-pulls / pull-ups OptionWakeup BIN: 0 -> 250ms (predeterminat) OptionFEC BIN: 1 -> Activa l’interruptor de correcció d’errors (predeterminat) OptionPower BIN: 0 -> 20dBm (predeterminat) ---------------------------------------- Èxit 1 ---------------------------------------- HEAD BIN: 11000011 195 C3 Model núm.: 32 Versió: 44 Funcions: 14 ----------------------------------------
Pas 7: envieu un missatge
Aquí teniu un esbós senzill per enviar un missatge a tots els dispositius connectats al canal
void loop () {// Si hi ha alguna cosa disponible si (e32ttl100.available ()> 1) {// llegiu el missatge de cadena ResponseContainer rc = e32ttl100.receiveMessage (); // S'ha produït un error d'impressió si (rc.status.code! = 1) {rc.status.getResponseDescription (); } else {// Imprimeix les dades rebudes Serial.println (rc.data); }} if (Serial.available ()) {Entrada de cadena = Serial.readString (); e32ttl100.sendMessage (entrada); }}
Pas 8: escut per a Arduino
Crec també un escut per a Arduino que es fa molt útil per prototipar.
I el publico com a projecte de codi obert aquí
www.pcbway.com/project/shareproject/LoRa_E32_Series_device_Arduino_shield.html
Pas 9: biblioteca
Dipòsit de GitHub
Fòrum de suport
Documentació addicional