Taula de continguts:

Comunicació simple Arduino LoRa (més de 5 km): 9 passos
Comunicació simple Arduino LoRa (més de 5 km): 9 passos

Vídeo: Comunicació simple Arduino LoRa (més de 5 km): 9 passos

Vídeo: Comunicació simple Arduino LoRa (més de 5 km): 9 passos
Vídeo: Raspberry Pi Pico W LoRa Gateway for Sensors Monitoring using Ubidots IoT Platform 2024, De novembre
Anonim
Comunicació Arduino LoRa simple (més de 5 km)
Comunicació Arduino LoRa simple (més de 5 km)

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ó

Tipus de transmissió
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

Dispositiu de cablejat
Dispositiu de cablejat
Dispositiu de cablejat
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ó

Configuració
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

Enviar missatge
Enviar 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

Escut per Arduino
Escut per 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

Biblioteca
Biblioteca

Dipòsit de GitHub

Fòrum de suport

Documentació addicional

Recomanat: