Satura rādītājs:
- 1. solis: Piegādes
- 2. darbība: LoRa mezgls
- 3. solis: mezgla un sensora savienojums
- 4. darbība: nosūtiet datus uz vārteju
- 5. darbība. MakePython Lora
- 6. darbība: LoRaWAN vārteja
- 7. darbība: lejupielādējiet kodu
- 8. darbība: saņemiet datus
- 9. darbība. Izmantojiet ThingSpeak IoT
- 10. solis: rezultāts
Video: Lora vārteja, kuras pamatā ir MicroPython ESP32: 10 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:53
Lora pēdējos gados ir bijusi ļoti populāra. Bezvadu sakaru modulis, kas izmanto šo tehnoloģiju, parasti ir lēts (izmantojot brīvo spektru), maza izmēra, energoefektīvs un tam ir liels sakaru attālums, un to galvenokārt izmanto savstarpējai saziņai starp IoT termināļiem vai datu apmaiņai ar saimniekdatoru. Tirgū ir daudz LoRa moduļu, piemēram, RFM96W, kas ir aprīkots ar SX1278 (saderīgu) mikroshēmu, kas ir ļoti maza. Es to izmantoju kopā ar MakePython ESP32 kā vārteju.
Tālāk es izmantošu divus LoRa mezglus, lai nosūtītu datus par temperatūru un mitrumu uz vārteju, un pēc tam augšupielādētu tos internetā, izmantojot vārteju. Šeit jūs uzzināsit, kā augšupielādēt vairāku LoRa mezglu attālos datus mākonī caur vārteju.
1. solis: Piegādes
1*MakePython ESP32
MakePython ESP32 ir ESP32 tāfele ar integrētu SSD1306 OLED displeju.
2*Maduino LoRa radio
Radio Maduino Lora ir IoT (lietu internets) risinājums, kura pamatā ir Atmel Atmega328P MCU un Lora modulis. Tas var būt īsts IoT projektu projekts (īpaši liela attāluma, mazjaudas lietojumprogramma)
2*DHT11
1*MakePython Lora
2. darbība: LoRa mezgls
Šī ir Maduino Lora radio shēma.
Arduino Lora Radio modulis kā LoRa mezgls, mēs to izmantojam, lai nosūtītu temperatūras un mitruma datus uz vārteju.
(Šis WiKi iepazīstina ar Maduino Lora radio izmantošanu un datu sūtīšanu un saņemšanu)
3. solis: mezgla un sensora savienojums
DHT11 VCC un GND ir savienoti ar Maduino 3V3 un GND, un DATA tapa ir pievienota Maduino D4.
Mezgls 0 atrodas parkā, mezgls 1 atrodas biroju ēkā netālu no uzņēmuma, tie atrodas aptuveni 2 kilometru attālumā viens no otra, un tad es saņemu viņu temperatūras un mitruma datus mājās
4. darbība: nosūtiet datus uz vārteju
Lejupielādējiet TransmitterDHT11.ino, atveriet to vietnē Arduino IDE.
Pievienojot mezglu, attiecīgi mainiet mezgla numuru. Piemēram, tagad izmantojiet 2 mezglus, pirmo mezglu, lai modificētu mezglu = 0, lai palaistu programmu, otro mezglu, lai mainītu mezglu = 1, lai palaistu programmu, un tā tālāk, varat pievienot vairāk mezglu.
int16_t pakešu skaits = 0; // pakešu skaitītājs, mēs palielinām par katru izsūtījumu
int16_t nodenum = 0; // Mainīt mezgla numuru
Savāc datus un izdrukā tos
String message = "#"+(String) nodenum+"Mitrums:"+(Stīgu) mitrums+"% Temperatūra:"+(String) temperatūra+"C"+"num:"+(String) paketes numurs; Serial.println (ziņojums); pakešu skaits ++;
Nosūtiet ziņojumu uz 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);
Atveriet seriālo monitoru, jūs varat redzēt savāktos temperatūras un mitruma datus un nosūtīt tos.
#0 Mitrums: 6.00% Temperatūra: 27.00C numurs: 0
Pārraide: tiek sūtīts uz rf95_server Sūta… Gaida paketes pabeigšanu… Gaida atbildi … Nav atbildes, vai apkārt ir klausītājs?
Nolieciet to malā, tagad mums ir jāizveido Lora vārti.
5. darbība. MakePython Lora
Šī ir atbilstošā RFM96W moduļa un MakePython ESP32 tapa. Lai atvieglotu savienojumu ar MakePython ESP32, es izveidoju shēmas plati ar RFM96W moduli. Jā, uz tā ir divi RFM96W, kas var vienlaikus nosūtīt un saņemt datus, bet tagad man vajag tikai vienu.
6. darbība: LoRaWAN vārteja
LoRaWAN ir mazjaudas platjoslas tīkls, kura pamatā ir LoRa, un tas var nodrošināt vienu: zemu enerģijas patēriņu, mērogojamību, augstu pakalpojumu kvalitāti un drošu tālsatiksmes bezvadu tīklu.
Salieciet MakePython Lora un ESP32, lai izveidotu vārteju, kas var saņemt attālos datus un augšupielādēt tos internetā.
7. darbība: lejupielādējiet kodu
Lejupielādējiet visus “xxx.py” failus no WiKi un augšupielādējiet tos ESP32.
Atveriet failu LoRaDuplexCallback.py. Jums jāveic daži pielāgojumi, lai jūsu ESP32 varētu izveidot savienojumu ar tīklu un augšupielādēt datus serverī.
Pārveidojiet ThingSpeak iegūto API_KEY (es iepazīstināšu ar to, kā to iegūt vēlāk)
#https://thingspeak.com/channels/1047479
API_KEY = 'UBHIRHVV9THUJVUI'
Lai izveidotu savienojumu ar WiFi, mainiet SSID un PSW
ssid = "Makerfabs"
pswd = "20160704"
8. darbība: saņemiet datus
Failā LoRaDuplexCallback.py atrodiet funkciju on_reieve (lora, payload), kur varat pateikt ESP32, kas jādara pēc datu saņemšanas. Šis kods analizē un parāda saņemtos temperatūras un mitruma datus.
def on_recept (lora, lietderīgā slodze):
lora.blink_led () rssi = lora.packetRssi () mēģiniet: length = len (payload) -1 myStr = str ((payload [4: length]), 'utf-8') length1 = myStr.find (':') myNum1 = myStr [(garums1+1):(garums1+6)] myNum2 = myStr [(garums1+20):(garums1+25)] print ("*** Saņemtais ziņojums *** / n {}". format (payload)) if config_lora. IS_LORA_OLED: lora.show_packet (("" {} ". format (payload [4: length])), rssi) if wlan.isconnected (): global msgCount print ('Sūta tīklam …') mezgls = int (str (lietderīgā slodze [5: 6], 'utf-8'))), ja mezgls == 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) drukāt (res.text), izņemot izņēmumu kā e: print (e) print (" ar RSSI {} n ".format (rssi))
Spriežot pēc numura, lai atšķirtu mezglus, un augšupielādējot datus internetā, izmantojot URL, mēs varam jebkurā laikā uzraudzīt dažādu mezglu attālos datus. Jūs varat pievienot vairāk mezglu un veikt līdzīgas izmaiņas kodā.
ja mezgls == 0:
URL = "https://api.thingspeak.com/update?api_key="+API_KEY+"& field1 ="+myNum1+"& field2 ="+myNum2 res = urequests.get (URL) drukāt (res.text)
9. darbība. Izmantojiet ThingSpeak IoT
Soļi:
- Reģistrējiet kontu vietnē https://thingspeak.com/. Ja jums tāds jau ir, pierakstieties tieši.
- Noklikšķiniet uz Jauns kanāls, lai izveidotu jaunu ThingSpeak kanālu.
- Ievadiet nosaukumu, aprakstu, atlasiet lauku 1. Pēc tam saglabājiet kanālu apakšā.
- Noklikšķiniet uz opcijas API atslēgas, nokopējiet API atslēgu, mēs to izmantosim programmā.
10. solis: rezultāts
Ekrānā var redzēt 0. mezgla un 1. mezgla datus, lai gan tie atrodas 2 kilometru attālumā viens no otra.
Piesakieties savā ThingSpeak kontā un noklikšķiniet uz izveidotā kanāla, lai redzētu augšupielādētos temperatūras un mitruma datus.
Lauka 1 grafiks un lauka 2 grafiks ir Loras mezgla 0 mitruma un temperatūras dati, un lauka 3 grafiks un lauka 4 grafiks ir Loras mezgla 1 mitruma un temperatūras dati.
Ieteicams:
Inteliģenta Romote automašīna, kuras pamatā ir Arduino: 5 soļi
Intelligent Romote Car, pamatojoties uz Arduino: Šis projekts ir balstīts uz Arduino UNO izstrādes padomi, lai izveidotu gudru automašīnu. Automašīnai ir Bluetooth bezvadu vadība, izvairīšanās no šķēršļiem, skaņas signāls un citas funkcijas, un tā ir četru riteņu piedziņas automašīna, viegli pagriežama
MQmax 0,7 zemu izmaksu WiFi IoT platforma, kuras pamatā ir Esp8266 un Arduino Mini Pro: 6 soļi
MQmax 0,7 zemu izmaksu WiFi IoT platforma, kuras pamatā ir Esp8266 un Arduino Mini Pro: Sveiki! Šī ir mana otrā pamācība (no šī brīža es pārstāju skaitīt). Es to izveidoju, lai izveidotu vienkāršu (vismaz man), lētu, viegli izgatavojamu un efektīvu platformu Real IoT lietojumprogrammām, kas ietver M2M darbu. Šī platforma darbojas ar esp8266 un
Automātiskā dzelzceļa šķērsošanas sistēma, izmantojot iegulto platformu, kuras pamatā ir Arduino: 9 soļi
Automātiskā dzelzceļa pārbrauktuves sistēma, izmantojot iegulto platformu, kuras pamatā ir Arduino: Ziemassvētki ir tikai pēc nedēļas! Ikviens ir aizņemts ar svinībām un dāvanu iegūšanu, ko, starp citu, kļūst arvien grūtāk iegūt ar nebeidzamām iespējām mums visapkārt. Kā būtu ar klasisku dāvanu un DIY pieskārienu
Telpas temperatūras kontrole, kuras pamatā ir IOT: 5 soļi
Telpas temperatūras kontrole, kuras pamatā ir IOT: Tas ir pamācāms uz istabas temperatūras kontroles projektu, kura pamatā ir IOT. Funkcijas: -1. Automātiski ieslēdziet ventilatoru virs norādītās istabas temperatūras.2. Automātiski izslēdziet ventilatoru zem norādītās telpas temperatūras.3. Manuāla vadība jebkurā laikā
Mājas automatizācija, kuras pamatā ir IOT: 4 soļi
IOT balstīta mājas automatizācija: kā tas darbojas: es izveidoju pielāgotu shēmas plati, lai kontrolētu 4 relejus, izmantojot esp8266 NodeMcu Šī shēma darbojas ar līdzstrāvas 12 voltu 1 amp jaudu. ieslēdzot nodemcu, izveidojiet savienojumu ar maršrutētāju, izmantojot WiFi & arī izveidojiet savienojumu ar Blynk serveriJūsu viedtālrunis sūta komatu