Sadržaj:
- Korak 1: Opskrba
- Korak 2: LoRa čvor
- Korak 3: Povezivanje čvora i senzora
- Korak 4: Pošaljite podatke na pristupnik
- Korak 5: MakePython Lora
- Korak 6: LoRaWAN pristupnik
- Korak 7: Preuzmite kôd
- Korak 8: Primite podatke
- Korak 9: Upotrijebite ThingSpeak IoT
- Korak 10: Rezultat
Video: Lora Gateway temeljen na MicroPythonu ESP32: 10 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:33
Lora je posljednjih godina vrlo popularna. Bežični komunikacijski modul koji koristi ovu tehnologiju obično je jeftin (pomoću slobodnog spektra), malih dimenzija, energetski učinkovit i ima veliku komunikacijsku udaljenost, a uglavnom se koristi za međusobnu komunikaciju između IoT terminala ili razmjenu podataka s domaćinom. Na tržištu postoji mnogo LoRa modula, poput RFM96W, koji je opremljen SX1278 (kompatibilnim) čipom, koji je vrlo mali. Koristim ga s MakePython ESP32 kao pristupnikom.
Zatim ću koristiti dva LoRa čvora za slanje podataka o temperaturi i vlažnosti na pristupnik, a zatim ih prenijeti na Internet putem pristupnika. Ovdje ćete naučiti kako prenijeti udaljene podatke više LoRa čvorova u oblak putem pristupnika.
Korak 1: Opskrba
1*MakePython ESP32
MakePython ESP32 je ESP32 ploča s integriranim SSD1306 OLED zaslonom.
2*Radio Maduino LoRa
Maduino Lora Radio je IoT (Internet of Things) rješenje temeljeno na Atmelovom Atmega328P MCU -u i modulu Lora. To može biti pravi projekt za IoT projekte (osobito aplikacije dugog dometa, male snage)
2*DHT11
1*MakePython Lora
Korak 2: LoRa čvor
Ovo je shema radija Maduino Lora.
Arduino Lora Radio modul kao LoRa čvor, koristimo ga za slanje podataka o temperaturi i vlažnosti na pristupnik.
(Ovaj WiKi predstavlja kako se koristi Maduino Lora Radio i šalju i primaju podaci)
Korak 3: Povezivanje čvora i senzora
VCC i GND DHT11 spojeni su na 3V3 i GND u Maduinu, a DATA pin je spojen na D4 u Maduinu.
Čvor 0 je u parku, čvor 1 je u poslovnoj zgradi u blizini tvrtke, udaljeni su oko 2 kilometra, a onda dobivam njihove podatke o temperaturi i vlažnosti kod kuće
Korak 4: Pošaljite podatke na pristupnik
Preuzmite TransmitterDHT11.ino, otvorite ga na Arduino IDE.
Prilikom dodavanja čvora, prema tome izmijenite broj čvora. Na primjer, sada koristite 2 čvora, prvi čvor za izmjenu nodenum = 0 za pokretanje programa, drugi čvor za izmjenu nodenum = 1 za pokretanje programa, i tako dalje, možete dodati još čvora.
int16_t broj paketa = 0; // brojač paketa, povećavamo po xmission -u
int16_t nodenum = 0; // Izmjena broja čvora
Prikupite podatke i ispišite ih
Poruka niza = "#"+(Niz) nodenum+"Vlažnost:"+(Niz) vlažnost+"% Temperatura:"+(Niz) temperatura+"C"+"broj:"+(Niz) paketni broj; Serial.println (poruka); paketni broj ++;
Pošaljite poruku na rf95_server
uint8_t radioPacket [message.length ()+1];
message.toCharArray (radioPacket, message.length ()+1); radioPacket [message.length ()+1] = '\ 0'; rf95.send ((uint8_t *) radioPacket, message.length ()+1);
Otvorite serijski monitor, možete vidjeti prikupljene podatke o temperaturi i vlažnosti i poslati ih.
#0 Vlažnost: 6,00% Temperatura: 27,00C Broj: 0
Prijenos: Slanje na rf95_server Slanje … Čeka se završetak paketa … Čeka se odgovor … Nema odgovora, ima li slušatelja u blizini?
Ostavite to sa strane, sada moramo napraviti Lora Gateway.
Korak 5: MakePython Lora
Ovo je odgovarajući pin RFM96W modula i MakePython ESP32. Kako bih olakšao povezivanje s MakePythonom ESP32, napravio sam pločicu s modulom RFM96W. Da, na njemu se nalaze dva RFM96W koji mogu slati i primati podatke u isto vrijeme, ali sada mi treba samo jedan.
Korak 6: LoRaWAN pristupnik
LoRaWAN je širokopojasna mreža male snage koja se temelji na LoRa-i, a koja može pružiti jednu: nisku potrošnju energije, skalabilnost, visoku kvalitetu usluge i sigurnu bežičnu mrežu na velike udaljenosti.
Sastavite MakePython Lora i ESP32 kako biste napravili pristupnik koji može primati udaljene podatke i učitavati ih na Internet.
Korak 7: Preuzmite kôd
Preuzmite sve datoteke ‘xxx.py’ s WiKi i prenesite ih na ESP32.
Otvorite datoteku LoRaDuplexCallback.py. Morate napraviti neke prilagodbe kako bi se vaš ESP32 mogao povezati s mrežom i prenijeti podatke na poslužitelj.
Izmijenite API_KEY koji ste dobili u ThingSpeaku (kasnije ću predstaviti kako ga dobiti)
#https://thingspeak.com/channels/1047479
API_KEY = 'UBHIRHVV9THUJVUI'
Izmijenite SSID i PSW za povezivanje WiFi -ja
ssid = "Proizvođači"
pswd = "20160704"
Korak 8: Primite podatke
Pronađite funkciju on_receive (lora, korisni teret) u datoteci LoRaDuplexCallback.py, gdje možete reći ESP32 što učiniti nakon primitka podataka. Sljedeći kôd analizira i prikazuje primljene podatke o temperaturi i vlažnosti.
def on_receive (lora, korisni teret):
lora.blink_led () rssi = lora.packetRssi () try: length = len (korisni teret) -1 myStr = str ((korisni teret [4: dužina]), 'utf-8') length1 = myStr.find (':') myNum1 = myStr [(length1+1):(length1+6)] myNum2 = myStr [(length1+20):(length1+25)] print ("*** Primljena poruka *** / n {}". format (korisni teret)) ako je config_lora. IS_LORA_OLED: lora.show_packet (("{}". format (korisni teret [4: dužina])), rssi) ako je wlan.isconnected (): globalni msgCount ispis ('Slanje na mrežu …') čvor = int (str (korisni teret [5: 6], 'utf-8')) ako je čvor == 0: URL = "https://api.thingspeak.com/update?api_key="+API_KEY+"& polje1 = "+myNum1+" & field2 = "+myNum2 res = urequests.get (URL) print (res.text) elif node == 1: URL =" https://api.thingspeak.com/update?api_key= "+API_KEY+" & field3 = "+myNum1+" & field4 = "+myNum2 res = urequests.get (URL) print (res.text) osim iznimke kao e: print (e) print (" sa RSSI {} n ".format (rssi))
Procjenjujući broj za razlikovanje čvorova i učitavajući podatke na Internet putem URL -a, u svakom trenutku možemo nadzirati udaljene podatke različitih čvorova. Možete dodati još čvorova i napraviti slične izmjene u kodu.
ako je čvor == 0:
URL = "https://api.thingspeak.com/update?api_key="+API_KEY+"& field1 ="+myNum1+"& field2 ="+myNum2 res = urequests.get (URL) ispis (res.text)
Korak 9: Upotrijebite ThingSpeak IoT
Koraci:
- Registrirajte račun na https://thingspeak.com/. Ako ga već imate, prijavite se izravno.
- Pritisnite Novi kanal da biste stvorili novi ThingSpeak kanal.
- Unesite naziv, opis, odaberite polje 1. Zatim spremite kanal na dnu.
- Kliknite opciju API ključevi, kopirajte API ključ, koristit ćemo ga u programu.
Korak 10: Rezultat
Na ekranu možete vidjeti podatke čvora 0 i čvora 1, iako su udaljeni 2 kilometra.
Prijavite se na svoj ThingSpeak račun i kliknite na kanal koji ste stvorili, možete vidjeti učitane podatke o temperaturi i vlažnosti.
Graf polja1 i grafikona polja2 su podaci o vlažnosti i temperaturi čvora Lora 0, a grafikon polja 3 i grafikon polja4 su podaci o vlažnosti i temperaturi čvora Lora 1.
Preporučeni:
MuMo - LoRa Gateway: 25 koraka (sa slikama)
MuMo-LoRa Gateway: ### UPDATE 10-03-2021 // najnovije informacije/ažuriranja bit će dostupne na stranici github: https: //github.com/MoMu-Antwerp/MuMo Što je MuMo? MuMo je suradnja između razvoj proizvoda (odjel Sveučilišta u Antwerpenu) pod
Sustav vizualnog praćenja poljoprivrede temeljen na LoRa Iot - Dizajniranje prednje aplikacije pomoću Firebase & Angular: 10 koraka
Sustav vizualnog praćenja poljoprivrede temeljen na LoRa Iot | Dizajniranje frontalne aplikacije pomoću Firebase & Angular: U prethodnom poglavlju govorimo o tome kako senzori rade s loRa modulom za popunjavanje baze podataka Firebase u stvarnom vremenu, te smo vidjeli dijagram vrlo visoke razine kako cijeli naš projekt funkcionira. U ovom ćemo poglavlju govoriti o tome kako možemo
MQTT temeljen na MicroPythonu ESP32: 5 koraka
MQTT Na temelju MicroPythona ESP32: Volim držati kućne mačke. Nakon dana intenzivnog rada, mačka me može opustiti kad dođem kući. Nakon napornog treninga, ova mačka ima dobru naviku redovito jesti u " restoranu " svaki dan. No, nedavno moram putovati na nekoliko dana i
Space Invaders u Micropythonu na Micro: bit: 5 koraka
Space Invaders u Micropythonu na Micro -u: bit: U našim smo prethodnim člancima istraživali izradu igara na GameGo -u, prijenosnoj konzoli za igre na sreću koju je razvilo obrazovanje TinkerGen. Igre koje smo napravili podsjećale su na stare Nintendo igre. U današnjem ćemo članku napraviti korak unatrag do
Glazbeni generator temeljen na vremenu (Midi generator temeljen na ESP8266): 4 koraka (sa slikama)
Glazbeni generator temeljen na vremenu (Midi Generator temeljen na ESP8266): Bok, danas ću vam objasniti kako napraviti vlastiti mali glazbeni generator temeljen na vremenu. Baziran je na ESP8266, koji je poput Arduina, a reagira na temperaturu, kišu i intenzitet svjetla. Ne očekujte da će to učiniti cijele pjesme ili akorde