Tartalomjegyzék:

Lora átjáró a MicroPython ESP32 alapján: 10 lépés (képekkel)
Lora átjáró a MicroPython ESP32 alapján: 10 lépés (képekkel)

Videó: Lora átjáró a MicroPython ESP32 alapján: 10 lépés (képekkel)

Videó: Lora átjáró a MicroPython ESP32 alapján: 10 lépés (képekkel)
Videó: Raspberry Pi Pico W LoRa Gateway, Ubidots #youtubeshorts #shorts #shortsfeed 2024, Július
Anonim
Lora átjáró a MicroPython ESP32 alapján
Lora átjáró a MicroPython ESP32 alapján
Lora átjáró a MicroPython ESP32 alapján
Lora átjáró a MicroPython ESP32 alapján

Lora nagyon népszerű volt az elmúlt években. Az ezt a technológiát használó vezeték nélküli kommunikációs modul általában olcsó (szabad spektrumot használ), kicsi, energiatakarékos és nagy a kommunikációs távolsága, és főleg az IoT terminálok közötti kölcsönös kommunikációra vagy a gazdagépekkel történő adatcserére szolgál. Sok LoRa modul létezik a piacon, például az RFM96W, amely SX1278 (kompatibilis) chipkel van felszerelve, ami nagyon kicsi. MakePython ESP32 -vel használom átjáróként.

Ezután két LoRa csomópont segítségével elküldöm a hőmérséklet- és páratartalom -adatokat az átjárónak, majd feltöltöm az internetre az átjárón keresztül. Itt megtudhatja, hogyan tölthet fel több LoRa csomópont távoli adatait a felhőbe az átjárón keresztül.

1. lépés: Kellékek

Kellékek
Kellékek

1*MakePython ESP32

A MakePython ESP32 egy ESP32 kártya, beépített SSD1306 OLED kijelzővel.

2*Maduino LoRa rádió

A Maduino Lora Radio egy IoT (dolgok internete) megoldás, amely az Atmel Atmega328P MCU és Lora modulján alapul. Igazi projekt lehet IoT projektekhez (különösen nagy hatótávolságú, kis teljesítményű alkalmazásokhoz)

2*DHT11

1*MakePython Lora

2. lépés: LoRa csomópont

LoRa csomópont
LoRa csomópont
LoRa csomópont
LoRa csomópont

Ez a Maduino Lora rádió vázlata.

Az Arduino Lora rádiómodult LoRa csomópontként használjuk hőmérséklet- és páratartalom -adatok küldésére az átjáróra.

(Ez a WiKi bemutatja a Maduino Lora Rádió használatát és az adatok küldését és fogadását)

3. lépés: Csomópont és érzékelő csatlakoztatása

Csomópont és érzékelő csatlakozás
Csomópont és érzékelő csatlakozás
Csomópont és érzékelő csatlakozás
Csomópont és érzékelő csatlakozás

A DHT11 VCC és GND a Maduino 3V3 és GND, a DATA pin pedig a Maduino D4 -hez van csatlakoztatva.

A 0. csomópont a parkban, az 1. csomópont az irodaépületben van a cég közelében, körülbelül 2 kilométerre vannak egymástól, majd otthon megkapom a hőmérséklet- és páratartalom -adataikat

4. lépés: Adatok küldése az átjáróhoz

Töltse le a TransmitterDHT11.ino programot, nyissa meg az Arduino IDE -n.

Csomópont hozzáadásakor ennek megfelelően módosítsa a csomópont számát. Például most használjon 2 csomópontot, az első csomópont a csomópont módosításához = 0 a program futtatásához, a második csomópont a csomópont módosításához = 1 a program futtatásához, és így tovább, további csomópontokat adhat hozzá.

int16_t packetnum = 0; // csomagszámláló, növekmény xmissziónként

int16_t nodenum = 0; // A csomópont számának módosítása

Gyűjtsön adatokat és nyomtassa ki

Karakterlánc üzenet = "#"+(karakterlánc) nodenum+"Páratartalom:"+(karakterlánc) páratartalom+"% Hőmérséklet:"+(karakterlánc) hőmérséklet+"C"+"szám:"+(karakterlánc) csomagszám; Serial.println (üzenet); packetnum ++;

Üzenet küldése az rf95_server címre

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);

Nyissa meg a soros monitort, láthatja az összegyűjtött hőmérséklet- és páratartalom -adatokat, és elküldheti azokat.

#0 Páratartalom: 6.00% Hőmérséklet: 27.00C szám: 0

Átvitel: Küldés az rf95_server -hez Küldés… Várakozás a csomag befejezésére… Várakozás a válaszra… Nincs válasz, hallgató van a közelben?

Tegye félre, most meg kell készítenünk a Lora -átjárót.

5. lépés: MakePython Lora

MakePython Lora
MakePython Lora
MakePython Lora
MakePython Lora
MakePython Lora
MakePython Lora

Ez az RFM96W modul és a MakePython ESP32 megfelelő csapja. A MakePython ESP32 -vel való kapcsolat megkönnyítése érdekében készítettem egy áramköri kártyát az RFM96W modullal. Igen, két RFM96W van rajta, amelyek egyszerre tudnak adatokat küldeni és fogadni, de most már csak egyre van szükségem.

6. lépés: LoRaWAN átjáró

LoRaWAN átjáró
LoRaWAN átjáró

A LoRaWAN egy LoRa-n alapuló, kis teljesítményű, nagy területű hálózat, amely a következők egyikét nyújthatja: alacsony energiafogyasztás, skálázhatóság, magas színvonalú szolgáltatás és biztonságos távolsági vezeték nélküli hálózat.

A MakePython Lora és az ESP32 összeszerelésével hozzon létre egy átjárót, amely képes távoli adatok fogadására és feltöltésére az internetre.

7. lépés: Töltse le a kódot

Töltse le az összes „xxx.py” fájlt a WiKi -ből, és töltse fel őket az ESP32 -re.

Nyissa meg a LoRaDuplexCallback.py fájlt. El kell végeznie néhány módosítást, hogy az ESP32 csatlakozzon a hálózathoz, és adatokat töltsön fel a szerverre.

Módosítsa a ThingSpeak alkalmazásban kapott API_KEY -t (később bemutatom, hogyan szerezheti meg)

#https://thingspeak.com/channels/1047479

API_KEY = 'UBHIRHVV9THUJVUI'

Módosítsa az SSID -t és a PSW -t a WiFi csatlakoztatásához

ssid = "Készítőelemek"

pswd = "20160704"

8. lépés: Adatok fogadása

Keresse meg az on_reieve (lora, payload) függvényt a LoRaDuplexCallback.py fájlban, ahol elmondhatja az ESP32 -nek, hogy mit kell tennie az adatok fogadása után. A következő kód elemzi és megjeleníti a kapott hőmérséklet- és páratartalom -adatokat.

def on_recept (lora, hasznos terhelés):

lora.blink_led () rssi = lora.packetRssi () try: length = len (payload) -1 myStr = str ((hasznos terhelés [4: length]), 'utf-8') length1 = myStr.find (':') myNum1 = myStr [(length1+1):(length1+6)] myNum2 = myStr [(length1+20):(length1+25)] print ("*** Fogadott üzenet *** / n {}". format (payload)) if config_lora. IS_LORA_OLED: lora.show_packet (("" {} ". format (payload [4: length])), rssi) if wlan.isconnected (): global msgCount print ('Küldés a hálózatra …') node = int (str (hasznos terhelés [5: 6], 'utf-8'))) ha 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), kivéve a kivételt, mint e: print (e) print (" RSSI -vel {} n ".format (rssi))

A csomópontok megkülönböztetésére vonatkozó szám megítélése és az adatok feltöltése az internetre az URL -en keresztül bármikor nyomon követhetjük a különböző csomópontok távoli adatait. További csomópontokat adhat hozzá, és hasonló módosításokat végezhet a kódon.

ha csomópont == 0:

URL = "https://api.thingspeak.com/update?api_key="+API_KEY+"& field1 ="+myNum1+"& field2 ="+myNum2 res = urequests.get (URL) print (res.text)

9. lépés: A ThingSpeak IoT használata

A ThingSpeak IoT használata
A ThingSpeak IoT használata
A ThingSpeak IoT használata
A ThingSpeak IoT használata
A ThingSpeak IoT használata
A ThingSpeak IoT használata

Lépések:

  1. Regisztráljon fiókot a https://thingspeak.com/ címen. Ha már rendelkezik ilyennel, jelentkezzen be közvetlenül.
  2. Kattintson az Új csatorna elemre egy új ThingSpeak csatorna létrehozásához.
  3. Beviteli név, Leírás, Válassza ki az 1. mezőt, majd mentse a csatornát az aljára.
  4. Kattintson az API -kulcsok lehetőségre, másolja ki az API -kulcsot, és használni fogjuk a programban.

10. lépés: Eredmény

Eredmény
Eredmény
Eredmény
Eredmény
Eredmény
Eredmény

A képernyőn láthatja a 0. és az 1. csomópont adatait, bár 2 kilométerre vannak egymástól.

Jelentkezzen be ThingSpeak -fiókjába, és kattintson a létrehozott csatornára, és megtekintheti a feltöltött hőmérséklet- és páratartalom -adatokat.

A field1 grafikon és a field2 grafikonok a 0 Lora csomópont nedvesség- és hőmérsékletadatai, a field3 grafikon és a field4 grafikon az Lora 1 csomópont nedvesség- és hőmérsékletadatai.

Ajánlott: