Obsah:

Jednoduché Arduino LoRa Communciation (více než 5 km): 9 kroků
Jednoduché Arduino LoRa Communciation (více než 5 km): 9 kroků

Video: Jednoduché Arduino LoRa Communciation (více než 5 km): 9 kroků

Video: Jednoduché Arduino LoRa Communciation (více než 5 km): 9 kroků
Video: Learn Arduino in 30 Minutes: Examples and projects 2024, Listopad
Anonim
Jednoduché Arduino LoRa Communciation (více než 5 km)
Jednoduché Arduino LoRa Communciation (více než 5 km)

Budeme testovat E32-TTL-100 s mojí knihovnou. Jedná se o bezdrátový transceiverový modul, který pracuje na frekvenci 410 441 MHz (nebo 868 MHz nebo 915 MHz) na základě původního RFIC SX1278 od společnosti SEMTECH, k dispozici je transparentní přenos, úroveň TTL. Modul využívá technologii LORA s rozšířeným spektrem.

Zásoby

  • Arduino UNO
  • Zařízení LoRa e32

Volitelný

  • Mischianti Arduino LoRa štít (otevřený zdroj)
  • Mischianti WeMos LoRa štít (otevřený zdroj)

Krok 1: Specifikace zařízení

Modul je vybaven algoritmem FEC Forward Error Correction, který zajišťuje vysokou účinnost kódování a dobrý výkon korekce. V případě náhlého rušení může automaticky opravit rušené datové pakety, takže se odpovídajícím způsobem zlepší spolehlivost a rozsah přenosu. Ale bez FEC lze tyto datové pakety pouze zahodit. A díky přísnému šifrování a dešifrování je zachycování dat zbytečné. Funkce komprese dat může snížit dobu přenosu a pravděpodobnost rušení a zároveň zlepšit spolehlivost a účinnost přenosu.

  • Velikost modulu: 21*36 mm
  • Typ antény: SMA-K (impedance 50Ω)
  • Přenosová vzdálenost: 3000 m (max.)
  • Maximální výkon: 2 dB (100 mW)
  • Přenosové rychlosti: 2,4 Kbps (6 volitelných úrovní (0,3, 1,2, 2,4, 4,8, 9,6, 19,2 kbps)
  • Délka emise: 512ByteReceive
  • délka: 512 Bajtů
  • Komunikační rozhraní: UART - 8N1, 8E1, 8O1,
  • Osm druhů přenosové rychlosti UART od 1200 do 115200bps (výchozí: 9600)
  • Podpora RSSI: Ne (integrované inteligentní zpracování)

Krok 2: Typ přenosu

Typ převodovky
Typ převodovky

Transparentní přenos To lze považovat za „demo režim“, ve výchozím nastavení můžete odeslat zprávu na všechna zařízení se stejnou konfigurovanou adresou a kanálem.

Opravený přenos

Tento typ přenosu můžete zadat adresu a kanál, kam chcete zprávu odeslat. Zprávu můžete poslat na:

  • Určené zařízení s předem určenou nízkou adresou, vysokou adresou a kanálem.
  • Odeslat zprávu do sady zařízení kanálu Normální režim Jednoduše odešlete zprávu.

Krok 3: Režim zařízení

Normální režim Jednoduše odešlete zprávu.

Režim probuzení a úsporný režim

Jak můžete zamýšlet, pokud je zařízení v režimu probuzení, může „probudit“jedno nebo více zařízení, která jsou v úsporném režimu, s preambulovou komunikací.

Program/režim spánku

Pomocí této konfigurace můžete změnit konfiguraci vašeho zařízení.

Krok 4: Zapojení zařízení

Elektroinstalační zařízení
Elektroinstalační zařízení
Elektroinstalační zařízení
Elektroinstalační zařízení

Zde je schéma připojení zařízení, toto je plně připojeno, se správou pinů M0 a M1 umožňuje změnu modality zařízení, takže můžete přepnout na konfiguraci nebo režim probuzení s programem, knihovna vám v tom všem pomůže úkon.

Krok 5: Konfigurace

Konfigurace
Konfigurace

Existující zadaný příkaz k nastavení a získání konfigurace

neplatné nastavení () {Serial.begin (9600); zpoždění (500); // Spuštění všech pinů a UART e32ttl100.begin (); ResponseStructContainer c; c = e32ttl100.getConfiguration (); // Je důležité získat ukazatel konfigurace před všemi ostatními operacemi Konfigurace konfigurace = *(Konfigurace *) c.data; Serial.println (c.status.getResponseDescription ()); Serial.println (c.status.code); printParameters (konfigurace); ResponseStructContainer cMi; cMi = e32ttl100.getModuleInformation (); // Je důležité získat ukazatel informací před všemi ostatními operacemi ModuleInformation mi = *(ModuleInformation *) cMi.data; Serial.println (cMi.status.getResponseDescription ()); Serial.println (cMi.status.code); printModuleInformation (mi); }

Krok 6: Výsledek konfigurace

A výsledkem je

Začněte úspěch 1 ---------------------------------------- HLAVNÍ KOŠ: 11000000 192 C0 AddH BIN: 0 AddL BIN: 0 Chan BIN: 23 -> 433 MHz SpeedParityBit BIN: 0 -> 8N1 (výchozí) SpeedUARTDataRate BIN: 11 -> 9600bps (výchozí) SpeedAirDataRate BIN: 10 -> 2,4 kbps (výchozí) OptionTrans BIN: 0 - > Transparentní přenos (výchozí) OptionPullup BIN: 1 -> TXD, RXD, AUX are push -pulls/pull -up OptionWakeup BIN: 0 -> 250ms (default) OptionFEC BIN: 1 -> Turn Forward Error Correction Switch (Default) OptionPower BIN: 0-> 20dBm (výchozí) ---------------------------------------- Úspěch 1 ---------------------------------------- HLAVNÍ KOŠ: 11000011 195 C3 Model č.: 32 Verze: 44 Vlastnosti: 14 ----------------------------------------

Krok 7: Odeslání zprávy

Poslat zprávu
Poslat zprávu

Zde jednoduchý náčrt pro odeslání zprávy na všechna zařízení připojená k kanálu

void loop () {// Pokud je něco k dispozici, pokud (e32ttl100.available ()> 1) {// přečtěte si řetězcovou zprávu ResponseContainer rc = e32ttl100.receiveMessage (); // Něco se pokazí chyba tisku if (rc.status.code! = 1) {rc.status.getResponseDescription (); } else {// Tisk přijatých dat Serial.println (rc.data); }} if (Serial.available ()) {String input = Serial.readString (); e32ttl100.sendMessage (vstup); }}

Krok 8: Štít pro Arduino

Štít pro Arduino
Štít pro Arduino

Vytvářím také štít pro Arduino, který se stal velmi užitečným pro prototypování.

A tady to vydávám jako open source projekt

www.pcbway.com/project/shareproject/LoRa_E32_Series_device_Arduino_shield.html

Krok 9: Knihovna

Knihovna
Knihovna

Úložiště GitHub

Fórum podpory

Další dokumentace

Doporučuje: