Indholdsfortegnelse:
- Trin 1: Forbrugsvarer
- Trin 2: LoRa Node
- Trin 3: Knude- og sensorforbindelse
- Trin 4: Send data til gatewayen
- Trin 5: MakePython Lora
- Trin 6: LoRaWAN Gateway
- Trin 7: Download kode
- Trin 8: Modtag data
- Trin 9: Brug ThingSpeak IoT
- Trin 10: Resultat
Video: Lora Gateway baseret på MicroPython ESP32: 10 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Lora har været meget populær i de seneste år. Det trådløse kommunikationsmodul, der bruger denne teknologi, er normalt billigt (ved hjælp af frit spektrum), lille i størrelse, energieffektivt og har en lang kommunikationsafstand og bruges hovedsageligt til gensidig kommunikation mellem IoT-terminaler eller dataudveksling med en vært. Der er mange LoRa -moduler på markedet, såsom RFM96W, som er udstyret med SX1278 (kompatibel) chip, som er meget lille. Jeg bruger det med MakePython ESP32 som en gateway.
Dernæst vil jeg bruge to LoRa -noder til at sende temperatur- og fugtighedsdata til gatewayen og derefter uploade dem til internettet via gatewayen. Her lærer du, hvordan du uploader fjerndata fra flere LoRa -noder til skyen via gatewayen.
Trin 1: Forbrugsvarer
1*MakePython ESP32
MakePython ESP32 er et ESP32 -kort med en integreret SSD1306 OLED -skærm.
2*Maduino LoRa Radio
Maduino Lora Radio er en IoT (tingenes internet) løsning baseret på Atmels Atmega328P MCU og Lora modul. Det kan være et rigtigt projekt for IoT-projekter (især langdistance, lav effekt applikation)
2*DHT11
1*MakePython Lora
Trin 2: LoRa Node
Dette er skematisk af Maduino Lora Radio.
Arduino Lora Radio modul som LoRa node, vi bruger det til at sende temperatur- og fugtighedsdata til gatewayen.
(Denne WiKi introducerer, hvordan man bruger Maduino Lora Radio og sender og modtager data)
Trin 3: Knude- og sensorforbindelse
VCC og GND for DHT11 er forbundet til 3V3 og GND for Maduino, og DATA -stiften er forbundet til D4 i Maduino.
Node 0 er i parken, node 1 er i kontorbygningen nær virksomheden, de er cirka 2 kilometer fra hinanden, og så får jeg deres temperatur- og fugtighedsdata derhjemme
Trin 4: Send data til gatewayen
Download TransmitterDHT11.ino, åbn den på Arduino IDE.
Når du tilføjer en knude, skal du ændre nodens nummer i overensstemmelse hermed. For eksempel, brug nu 2 noder, den første node til at ændre nodenum = 0 for at køre programmet, den anden node til at ændre nodenum = 1 for at køre programmet og så videre kan du tilføje flere node.
int16_t packetnum = 0; // pakketæller, vi øger pr. transmission
int16_t nodenum = 0; // Rediger nodens nummer
Indsaml data og udskriv dem
Stringbesked = "#"+(streng) nodenum+"luftfugtighed:"+(streng) luftfugtighed+"% temperatur:"+(streng) temperatur+"C"+"num:"+(streng) packetnum; Serial.println (meddelelse); packetnum ++;
Send en besked til 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);
Åbn den serielle skærm, du kan se de indsamlede temperatur- og fugtighedsdata, og sende dem ud.
#0 Fugtighed: 6,00% Temperatur: 27,00C nummer: 0
Send: Sender til rf95_server Sender … Venter på, at pakken skal udfyldes … Venter på svar … Intet svar, er der en lytter i nærheden?
Læg det til side, nu skal vi lave Lora Gateway.
Trin 5: MakePython Lora
Dette er den tilsvarende pin på RFM96W -modulet og MakePython ESP32. For at lette forbindelsen til MakePython ESP32 lavede jeg et printkort med RFM96W -modulet. Ja, der er to RFM96W på den, som kan sende og modtage data på samme tid, men nu mangler jeg kun en.
Trin 6: LoRaWAN Gateway
LoRaWAN er et lavt strømforbrugsområde baseret på LoRa, som kan levere et: lavt strømforbrug, skalerbarhed, høj kvalitet i servicen og sikkert trådløst langdistancenetværk.
Saml MakePython Lora og ESP32 for at lave en gateway, der kan modtage fjerndata og uploade dem til internettet.
Trin 7: Download kode
Download alle ‘xxx.py’ -filer fra WiKi, og upload dem til ESP32.
Åbn LoRaDuplexCallback.py -filen. Du skal foretage nogle justeringer, så din ESP32 kan oprette forbindelse til netværket og uploade data til serveren.
Rediger API_KEY, du har opnået i ThingSpeak (jeg introducerer, hvordan du får det senere)
#https://thingspeak.com/channels/1047479
API_KEY = 'UBHIRHVV9THUJVUI'
Rediger SSID og PSW for at forbinde WiFi
ssid = "Makerfabs"
pswd = "20160704"
Trin 8: Modtag data
Find on_receive (lora, nyttelast) -funktionen i filen LoRaDuplexCallback.py, hvor du kan fortælle ESP32, hvad du skal gøre, efter at du har modtaget dataene. Følgende kode analyserer og viser de modtagne temperatur- og fugtighedsdata.
def on_receive (lora, nyttelast):
lora.blink_led () rssi = lora.packetRssi () prøv: length = len (nyttelast) -1 myStr = str ((nyttelast [4: længde]), 'utf-8') length1 = myStr.find (':') myNum1 = myStr [(length1+1):(length1+6)] myNum2 = myStr [(length1+20):(length1+25)] print ("*** Modtaget besked *** / n {}". format (nyttelast)) hvis config_lora. IS_LORA_OLED: lora.show_packet (("{}". format (nyttelast [4: længde])), rssi) hvis wlan.isconnected (): global msgCount print ('Sender til netværk …') node = int (str (nyttelast [5: 6], 'utf-8')) hvis node == 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) undtagen Undtagelse som e: print (e) print (" med RSSI {} n ".format (rssi))
At dømme antallet for at skelne mellem noder og uploade data til internettet via URL'en, kan vi til enhver tid overvåge fjerndata for forskellige noder. Du kan tilføje flere noder og foretage lignende ændringer i koden.
hvis node == 0:
URL = "https://api.thingspeak.com/update?api_key="+API_KEY+"& field1 ="+myNum1+"& field2 ="+myNum2 res = urequests.get (URL) print (res.text)
Trin 9: Brug ThingSpeak IoT
Trin:
- Opret en konto på https://thingspeak.com/. Hvis du allerede har en, skal du logge ind direkte.
- Klik på Ny kanal for at oprette en ny ThingSpeak -kanal.
- Inputnavn, Beskrivelse, Vælg felt 1. Gem derefter kanalen i bunden.
- Klik på API -nøglerne, kopier API -nøglen, vi bruger den i programmet.
Trin 10: Resultat
Du kan se dataene fra knude 0 og knude 1 på skærmen, selvom de er 2 kilometer fra hinanden.
Log ind på din ThingSpeak -konto, og klik på den kanal, du har oprettet, du kan se de uploadede temperatur- og fugtighedsdata.
Field1 -grafen og field2 -graferne er fugtigheds- og temperaturdata for Lora -noden 0, og field3 -grafen og field4 -grafen er fugtigheds- og temperaturdataene for Lora -noden 1.
Anbefalede:
MuMo - LoRa Gateway: 25 trin (med billeder)
MuMo-LoRa Gateway: ### UPDATE 10-03-2021 // de seneste oplysninger/opdateringer vil være tilgængelige på github-siden: https: //github.com/MoMu-Antwerp/MuMoHvad er MuMo? MuMo er et samarbejde mellem produktudvikling (en afdeling ved universitetet i Antwerpen) under
MQTT Baseret på MicroPython ESP32: 5 trin
MQTT Baseret på MicroPython ESP32: Jeg kan godt lide at holde katte. Efter en dag med intensivt arbejde kan katten slappe af, når jeg kommer hjem. Efter hård træning har denne kat en god vane med at spise regelmæssigt i " restauranten " hver dag. Men for nylig skal jeg rejse i et par dage og
Arduino -baseret ikke -kontakt infrarødt termometer - IR -baseret termometer ved hjælp af Arduino: 4 trin
Arduino -baseret ikke -kontakt infrarødt termometer | IR -baseret termometer ved hjælp af Arduino: Hej fyre i denne instruktion vil vi lave et kontaktfrit termometer ved hjælp af arduino. Da nogle gange temperaturen på væsken/faststoffet er alt for høj eller for lav, og så er det svært at komme i kontakt med det og læse dets temperaturen derefter i den scene
MicroPython IoT Rover Baseret på WEMOS D1 (ESP-8266EX): 7 trin (med billeder)
MicroPython IoT Rover Baseret på WEMOS D1 (ESP-8266EX): ** Opdatering: Jeg lagde en ny video til v2 med en lanse ** Jeg afholder Robotics-workshops for små børn, og jeg leder altid efter økonomiske platforme til at bygge spændende projekter. Selvom Arduino -kloner er billige, bruger det C/C ++ - sproget, som børn ikke er
Sådan blinker MicroPython -firmware på en ESP8266 -baseret Sonoff Smart Switch: 3 trin (med billeder)
Sådan flashes MicroPython -firmware på en ESP8266 -baseret Sonoff Smart Switch: Hvad er Sonoff? Sonoff er en enhedslinje til Smart Home udviklet af ITEAD. En af de mest fleksible og billige enheder fra denne linje er Sonoff Basic og Sonoff Dual. Disse er Wi-Fi-aktiverede switche baseret på en fantastisk chip, ESP8266. Mens