Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-23 15:10
Lora ka qenë shumë e njohur vitet e fundit. Moduli i komunikimit pa tel që përdor këtë teknologji është zakonisht i lirë (duke përdorur spektër falas), i vogël në madhësi, me efikasitet energjetik dhe ka një distancë të gjatë komunikimi, dhe përdoret kryesisht për komunikim të ndërsjellë midis terminaleve IoT ose shkëmbimit të të dhënave me një host. Ka shumë module LoRa në treg, të tilla si RFM96W, e cila është e pajisur me çip SX1278 (të pajtueshëm), i cili është shumë i vogël. Unë e përdor atë me MakePython ESP32 si një hyrje.
Tjetra, unë do të përdor dy nyje LoRa për të dërguar të dhënat e temperaturës dhe lagështisë në portë, dhe pastaj t'i ngarkoj në internet përmes portës. Këtu do të mësoni se si të ngarkoni të dhëna të largëta të nyjeve të shumta LoRa në cloud përmes portës.
Hapi 1: Furnizimet
1*MakePython ESP32
MakePython ESP32 është një bord ESP32 me një ekran OLED të integruar SSD1306.
2*Maduino LoRa Radio
Maduino Lora Radio është një zgjidhje IoT (Internet of things) bazuar në modulin Atmel's Atmega328P MCU dhe Lora. Mund të jetë një projekt i vërtetë për projektet IoT (veçanërisht aplikimi me rreze të gjatë dhe fuqi të ulët)
2*DHT11
1*MakePython Lora
Hapi 2: Nyja LoRa
Kjo është skema e Radio Maduino Lora.
Moduli Arduino Lora Radio si nyje LoRa, ne e përdorim atë për të dërguar të dhëna të temperaturës dhe lagështisë në portë.
(Ky WiKi prezanton mënyrën e përdorimit të Radio Maduino Lora dhe dërgimin dhe marrjen e të dhënave)
Hapi 3: Lidhja e Nyjës dhe Sensorit
VCC dhe GND e DHT11 janë të lidhura me 3V3 dhe GND të Maduino, dhe kunja e të dhënave është e lidhur me D4 të Maduino.
Nyja 0 është në park, nyja 1 është në ndërtesën e zyrave pranë kompanisë, ato janë rreth 2 kilometra larg, dhe pastaj marr të dhënat e tyre të temperaturës dhe lagështisë në shtëpi
Hapi 4: Dërgoni të dhëna në Gateway
Shkarkoni TransmitterDHT11.ino, hapeni atë në Arduino IDE.
Kur shtoni një nyje, modifikoni numrin e nyjes në përputhje me rrethanat. Për shembull, tani përdorni 2 nyje, nyja e parë për të modifikuar nodenumin = 0 për të drejtuar programin, nyja e dytë për të modifikuar nodenumin = 1 për të drejtuar programin, dhe kështu me radhë, mund të shtoni më shumë nyje.
int16_t paketë = 0; // numëruesi i paketave, ne rrisim për lëshimin
int16_t nodenum = 0; // Modifikoni numrin e nyjes
Mblidhni të dhëna dhe shtypini ato
Mesazhi i vargut = "#"+(String) nodenum+"Lagështia:"+(String) lagështia+"% Temperatura:"+(String) temperatura+"C"+"num:"+(String) packetnum; Serial.println (mesazh); paketë ++;
Dërgo një mesazh te rf95_server
uint8_t radioPacket [mesazhi.gjatësia ()+1];
message.toCharArray (radioPaketë, mesazh.length ()+1); radioPaketë [mesazhi.gjatësia ()+1] = '\ 0'; rf95.send ((uint8_t *) RadioPaketë, mesazh.gjatësi ()+1);
Hapni monitorin serik, mund të shihni të dhënat e mbledhura të temperaturës dhe lagështisë dhe t'i dërgoni ato.
#0 Lagështia: 6.00% Temperatura: 27.00C num: 0
Transmetimi: Dërgimi te rf95_server Dërgimi … Në pritje të përfundimit të paketës … Në pritje të përgjigjes … Asnjë përgjigje, a ka ndonjë dëgjues përreth?
Lëreni mënjanë, tani na duhet të bëjmë Portën e Lorës.
Hapi 5: MakePython Lora
Kjo është kunja përkatëse e modulit RFM96W dhe MakePython ESP32. Për të lehtësuar lidhjen me MakePython ESP32, unë bëra një bord qark me modulin RFM96W. Po, ka dy RFM96W në të, të cilat mund të dërgojnë dhe marrin të dhëna në të njëjtën kohë, por tani më duhet vetëm një.
Hapi 6: Porta LoRaWAN
LoRaWAN është një rrjet me fuqi të ulët në zonë të gjerë i bazuar në LoRa, i cili mund të sigurojë një: konsum të ulët të energjisë, shkallëzueshmëri, cilësi të lartë të shërbimit dhe rrjet të sigurt pa tel me distanca të gjata.
Mblidhni MakePython Lora dhe ESP32 për të krijuar një portë që mund të marrë të dhëna në distancë dhe t'i ngarkojë ato në internet.
Hapi 7: Shkarkoni Kodin
Shkarkoni të gjithë skedarët ‘xxx.py’ nga WiKi dhe ngarkojini ato në ESP32.
Hapni skedarin LoRaDuplexCallback.py, Ju duhet të bëni disa rregullime në mënyrë që ESP32 juaj të lidhet me rrjetin dhe të ngarkojë të dhëna në server.
Ndryshoni API_KEY që keni marrë në ThingSpeak (do të prezantoj se si ta merrni më vonë)
#https://thingspeak.com/channels/1047479
API_KEY = 'UBHIRHVV9THUJVUI'
Ndryshoni SSID dhe PSW për të lidhur WiFi
ssid = "Makerfabs"
pswd = "20160704"
Hapi 8: Merrni të dhënat
Gjeni funksionin on_receive (lora, payload) në skedarin LoRaDuplexCallback.py, ku mund t'i tregoni ESP32 çfarë të bëni pas marrjes së të dhënave. Kodi i mëposhtëm analizon dhe shfaq të dhënat e marra të temperaturës dhe lagështisë.
def on_receive (lora, payload):
lora.blink_led () rssi = lora.packetRssi () provo: length = len (payload) -1 myStr = str ((payload [4: length]), 'utf-8') length1 = myStr.find (':') myNum1 = myStr [(length1+1):(length1+6)] myNum2 = myStr [(length1+20):(length1+25)] print ("*** Mesazhi i marrë *** / n {}" format (ngarkesë)) nëse config_lora. IS_LORA_OLED: lora.show_packet ((""}}. format (ngarkesë [4: gjatësi])), rssi) nëse wlan.isconnected (): mesazhi global i printimit ('Po dërgon në rrjet …') nyja = int (str (ngarkesa [5: 6], 'utf-8')) nëse nyja == 0: URL = "https://api.thingspeak.com/update?api_key="+API_KEY+"& fushë1 = "+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) përveç Përjashtim si e: print (e) print (" me RSSI {} n ".format (rssi))
Duke gjykuar numrin për të dalluar nyjet, dhe duke ngarkuar të dhënat në internet përmes URL -së, ne mund të monitorojmë të dhënat në distancë të nyjeve të ndryshme në çdo kohë. Mund të shtoni më shumë nyje dhe të bëni ndryshime të ngjashme në kod.
nëse nyja == 0:
URL = "https://api.thingspeak.com/update?api_key="+API_KEY+"& field1 ="+myNum1+"& field2 ="+myNum2 res = urequests.get (URL) print (res.text)
Hapi 9: Përdorni ThingSpeak IoT
Hapat:
- Regjistrohuni një llogari në https://thingspeak.com/. Nëse e keni tashmë një, regjistrohuni direkt.
- Klikoni në New Channel për të krijuar një kanal të ri ThingSpeak.
- Emri i hyrjes, Përshkrimi, Zgjidhni Fushën 1. Pastaj ruani kanalin në pjesën e poshtme.
- Klikoni opsionin API Keys, kopjoni API Key, ne do ta përdorim atë në program.
Hapi 10: Rezultati
Ju mund të shihni të dhënat e nyjës 0 dhe nyjes 1 në ekran, megjithëse ato janë 2 kilometra larg.
Hyni në llogarinë tuaj ThingSpeak dhe klikoni në kanalin që keni krijuar, mund të shihni të dhënat e ngarkuara të temperaturës dhe lagështisë.
Grafiku i fushës1 dhe grafikët e fushës2 janë të dhënat e lagështisë dhe temperaturës së nyjës Lora 0, dhe grafiku i fushës3 dhe grafiku i fushës4 janë të dhënat e lagështisë dhe temperaturës së nyjës 1 të Lorës.
Recommended:
MQTT Bazuar në MicroPython ESP32: 5 hapa
MQTT Bazuar në MicroPython ESP32: Më pëlqen të mbaj macet manar. Pas një dite pune intensive, macja mund të më qetësojë kur të kthehem në shtëpi. Pas stërvitjes së vështirë, kjo mace ka një zakon të mirë të hajë rregullisht në " restorant " çdo ditë. Por kohët e fundit më duhet të udhëtoj për disa ditë dhe
Seriali UDP/IP Gateway për Arduino Bazuar në ESP8266 Shield: 8 hapa
Seriali UDP/IP Gateway për Arduino Bazuar në ESP8266 Shield: Unë tashmë kam botuar në 2016 këtë udhëzues " Si të krijoni portën tuaj Wifi për të lidhur Arduino -n tuaj me Rrjetin IP ". Meqenëse bëra disa përmirësime të kodit dhe ende po e përdor këtë zgjidhje. Sidoqoftë, tani ka disa mburoja ESP8266 t
Gjenerator muzikor i bazuar në mot (ESP8266 Bazuar në Midi Generator): 4 hapa (me fotografi)
Gjenerator muzikor i bazuar në mot (ESP8266 Bazuar në Midi Generator): Përshëndetje, sot unë do t'ju shpjegoj se si ta bëni vetë gjeneratorin tuaj të vogël të Muzikës me bazë moti. Bazohet në një ESP8266, i cili është si një Arduino, dhe i përgjigjet temperaturës, shiut dhe intensiteti i dritës. Mos prisni që ajo të bëjë këngë të tëra ose progord të akordit
MicroPython IoT Rover Bazuar në WEMOS D1 (ESP-8266EX): 7 hapa (me fotografi)
MicroPython IoT Rover Bazuar në WEMOS D1 (ESP-8266EX): ** Përditësim: Kam postuar një video të re për v2 me një shtizë ** Unë pres punëtori Robotike për fëmijë të vegjël dhe jam gjithmonë në kërkim të platformave ekonomike për të ndërtuar projekte intriguese. Ndërsa klonet Arduino janë të lira, ai përdor gjuhën C/C ++ që fëmijët nuk janë
Si të ndizni firmuerin MicroPython në një ndërprerës inteligjent Sonoff të bazuar në ESP8266: 3 hapa (me fotografi)
Si të ndizni firmuerin MicroPython në një ndërprerës inteligjent Sonoff të bazuar në ESP8266: Çfarë është Sonoff? Sonoff është një linjë pajisjesh për Smart Home e zhvilluar nga ITEAD. Një nga pajisjet më fleksibile dhe të lira nga ajo linjë janë Sonoff Basic dhe Sonoff Dual. Këto janë ndërprerës të aktivizuar Wi-Fi të bazuar në një çip të mrekullueshëm, ESP8266. Ndërsa