Sisukord:
- Samm: tarvikud
- 2. samm: LoRa sõlm
- Samm: sõlme ja anduri ühendus
- Samm: saatke andmed lüüsile
- Samm: MakePython Lora
- 6. samm: LoRaWAN -i lüüs
- Samm: laadige kood alla
- 8. samm: andmete vastuvõtmine
- Samm: kasutage ThingSpeak IoT -d
- 10. samm: tulemus
Video: Lora Gateway, mis põhineb MicroPython ESP32 -l: 10 sammu (koos piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
Lora on viimastel aastatel olnud väga populaarne. Seda tehnoloogiat kasutav traadita side moodul on tavaliselt odav (kasutades vaba spektrit), väikese suurusega, energiasäästlik ja pika sidekaugusega ning seda kasutatakse peamiselt IoT-terminalide vastastikuseks suhtluseks või andmevahetuseks hostiga. Turul on palju LoRa mooduleid, näiteks RFM96W, mis on varustatud kiibiga SX1278 (ühilduv), mis on väga väike. Ma kasutan seda koos MakePython ESP32 -ga lüüsina.
Järgmisena kasutan kahte LoRa sõlme, et saata temperatuuri ja niiskuse andmed lüüsile ning seejärel üles laadida need lüüsi kaudu Internetti. Siit saate teada, kuidas mitme LoRa sõlme kaugandmeid pilve kaudu lüüsi kaudu üles laadida.
Samm: tarvikud
1*MakePython ESP32
MakePython ESP32 on ESP32 plaat, millel on integreeritud SSD1306 OLED -ekraan.
2*Maduino LoRa raadio
Maduino Lora raadio on asjade Interneti (asjade internet) lahendus, mis põhineb Atmeli Atmega328P MCU ja Lora moodulil. See võib olla tõeline projekt asjade Interneti-projektide jaoks (eriti pikamaa, väikese energiatarbega rakendus)
2*DHT11
1*MakePython Lora
2. samm: LoRa sõlm
See on Maduino Lora raadio skeem.
Arduino Lora raadio moodul LoRa sõlmena, kasutame seda temperatuuri ja niiskuse andmete saatmiseks lüüsile.
(See WiKi tutvustab Maduino Lora raadio kasutamist ning andmete saatmist ja vastuvõtmist)
Samm: sõlme ja anduri ühendus
DHT11 VCC ja GND on ühendatud Maduino 3V3 ja GND -ga ning DATA pin on ühendatud Maduino D4 -ga.
Sõlm 0 on pargis, sõlm 1 asub ettevõtte lähedal asuvas büroohoones, nende vahe on umbes 2 kilomeetrit ja siis saan nende temperatuuri ja niiskuse andmed kodus kätte
Samm: saatke andmed lüüsile
Laadige alla TransmitterDHT11.ino, avage see Arduino IDE kaudu.
Sõlme lisamisel muutke sõlme numbrit vastavalt. Näiteks kasutage nüüd 2 sõlme, esimest sõlme, et muuta programmi käivitamiseks nodenum = 0, teist sõlme, et muuta programmi käivitamiseks nodenum = 1, ja nii edasi, saate lisada rohkem sõlme.
int16_t paketi number = 0; // pakettide loendur, suurendame iga xmissiooni kohta
int16_t nodenum = 0; // Muuda sõlme numbrit
Koguge andmed ja printige need
Stringiteade = "#"+(String) nodenum+"Niiskus:"+(String) niiskus+"% Temperatuur:"+(String) temperatuur+"C"+"num:"+(String) pakettnumber; Serial.println (sõnum); pakettnumber ++;
Saada sõnum aadressile 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);
Avage jadamonitor, näete kogutud temperatuuri ja niiskuse andmeid ning saatke need välja.
#0 Niiskus: 6.00% Temperatuur: 27.00C number: 0
Edasta: saadetakse aadressile rf95_server Saadetakse … Oodatakse paketi valmimist … Vastust oodates … Vastust pole, kas kuulajaid on ümberringi?
Pange see kõrvale, nüüd peame tegema Lora värava.
Samm: MakePython Lora
See on RFM96W mooduli ja MakePython ESP32 vastav tihvt. MakePython ESP32 -ga ühenduse loomise hõlbustamiseks valmistasin RFM96W mooduliga trükkplaadi. Jah, sellel on kaks RFM96W, mis saavad korraga andmeid saata ja vastu võtta, kuid nüüd on mul vaja ainult ühte.
6. samm: LoRaWAN -i lüüs
LoRaWAN on LoRa-l põhinev väikese võimsusega laivõrk, mis võib pakkuda ühte järgmistest: madal energiatarve, mastaapsus, kõrge teenuse kvaliteet ja turvaline kaugliinide traadita võrk.
Pange MakePython Lora ja ESP32 kokku, et luua lüüs, mis saab kaugandmeid vastu võtta ja Internetti üles laadida.
Samm: laadige kood alla
Laadige WiKi -lt alla kõik xxx.py -failid ja laadige need üles ESP32 -sse.
Avage fail LoRaDuplexCallback.py. Peate tegema mõningaid kohandusi, et teie ESP32 saaks võrguga ühenduse luua ja andmeid serverisse üles laadida.
Muutke ThingSpeakis saadud API_KEY (tutvustan selle hankimist hiljem)
#https://thingspeak.com/channels/1047479
API_KEY = 'UBHIRHVV9THUJVUI'
WiFi ühendamiseks muutke SSID -d ja PSW -d
ssid = "Makerfabs"
pswd = "20160704"
8. samm: andmete vastuvõtmine
Leidke failist LoRaDuplexCallback.py funktsioon on_reieve (lora, payload), kus saate ESP32 -le öelda, mida teha pärast andmete saamist. Järgmine kood analüüsib ja kuvab vastuvõetud temperatuuri ja niiskuse andmeid.
def on_recept (lora, kasulik koormus):
lora.blink_led () rssi = lora.packetRssi () proovige: pikkus = len (kasulik koormus) -1 myStr = str ((kasulik koormus [4: pikkus]), 'utf-8') pikkus1 = myStr.find (':') myNum1 = myStr [(pikkus1+1):(pikkus1+6)] myNum2 = myStr [(pikkus1+20):(pikkus1+25)] print ("*** Vastuvõetud sõnum *** / n {}". format (payload)) if config_lora. IS_LORA_OLED: lora.show_packet (("" {} ". format (payload [4: length])), rssi) if wlan.isconnected (): global msgCount print ('Saadetakse võrku …') node = int (str (kasulik koormus [5: 6], 'utf-8'))) kui sõlm == 0: URL = "https://api.thingspeak.com/update?api_key="+API_KEY+"& field1 = "+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), välja arvatud erand kui e: print (e) print (" koos RSSI -ga {} n ".format (rssi))
Otsustades sõlmede eristamise numbrit ja laadides andmed Internetti üles URL -i kaudu, saame igal ajal jälgida erinevate sõlmede kaugandmeid. Saate lisada rohkem sõlme ja teha samasuguseid muudatusi koodis.
kui sõlm == 0:
URL = "https://api.thingspeak.com/update?api_key="+API_KEY+"& field1 ="+myNum1+"& field2 ="+myNum2 res = urequests.get (URL) print (res.text)
Samm: kasutage ThingSpeak IoT -d
Sammud:
- Registreerige konto saidil https://thingspeak.com/. Kui teil see juba on, logige otse sisse.
- Uue ThingSpeaki kanali loomiseks klõpsake nuppu Uus kanal.
- Sisendi nimi, Kirjeldus, Vali väli 1. Seejärel salvestage kanal allservas.
- Klõpsake suvandil API võtmed, kopeerige API võti, me kasutame seda programmis.
10. samm: tulemus
Ekraanil näete sõlme 0 ja sõlme 1 andmeid, kuigi nende vahe on 2 kilomeetrit.
Logige sisse oma ThingSpeaki kontole ja klõpsake loodud kanalil, näete üleslaaditud temperatuuri ja niiskuse andmeid.
Field1 graafik ja field2 graafikud on Lora sõlme 0 niiskuse ja temperatuuri andmed ning field3 graafik ja field4 graafik on Lora sõlme 1 niiskuse ja temperatuuri andmed.
Soovitan:
Apple HomeKiti WiFi-õhukuivati, mis põhineb ESP8266-l?: 6 sammu (koos piltidega)
Apple HomeKiti WiFi-õhukuivati põhineb ESP8266-l?: Kahjuks on seal ainult üks või kaks õhukuivatit, mis toetavad Apple HomeKiti, kuid neil on tõesti kõrged hinnad (300 dollarit+). Nii et olen otsustanud teha oma WiFi-toega Apple HomeKiti õhukuivati juba olemasoleva odava põhjal? Ma
PWM reguleeritud ventilaator, mis põhineb Raspberry Pi protsessori temperatuuril: 4 sammu (koos piltidega)
PWM -i reguleeritud ventilaator, mis põhineb Raspberry Pi protsessori temperatuuril: paljudel Raspberry Pi juhtumitel on väike 5 V ventilaator, mis aitab CPU jahutada. Kuid need ventilaatorid on tavaliselt üsna mürarikkad ja paljud inimesed ühendavad selle müra vähendamiseks 3V3 pistikuga. Nende ventilaatorite võimsus on tavaliselt 200 mA, mis on üsna hea
Odav IoT õhukvaliteedi monitor, mis põhineb RaspberryPi 4: 15 sammuga (koos piltidega)
Odav IoT õhukvaliteedi monitor, mis põhineb RaspberryPi 4-l: Santiagos, Tšiilis talvisel keskkonnahädaolukorras on privileeg elada ühes maailma ilusamas riigis, kuid kahjuks pole see kõik roosid. Tšiili kannatab talvehooajal palju õhu saastumise tõttu
IoT kasside söötja, mis kasutab osakeste footonit, mis on integreeritud Alexa, SmartThingsi, IFTTT ja Google'i arvutustabelitega: 7 sammu (koos piltidega)
IoT kassisöötja, mis kasutab osakeste footonit, mis on integreeritud Alexa, SmartThingsi, IFTTT ja Google'i arvutustabelitega: automaatse kassisöötja vajadus on iseenesestmõistetav. Kassid (meie kassi nimi on Bella) võivad olla näljasena ebameeldivad ja kui teie kass on nagu minu, sööb see kausi iga kord kuivana. Vajasin viisi, kuidas väljastada kontrollitud kogus toitu automaatselt
Smart Power Strip, mis põhineb Beaglebone Blackil ja OpenHABil: 7 sammu (koos piltidega)
Smart Power Strip põhineb Beaglebone Blackil ja OpenHABil: !!!!! Võrguga (110/220V) mängimine on ohtlik, palun olge VÄGA VÄGA ettevaatlik !!!!! Olemas on mõned nutikad voolukonstruktsioonid, mis põhinevad " Raspberry Pi " ja kaks Arduinot, mis on näidatud pildil " Vana disain ".See uus de