Բովանդակություն:
- Քայլ 1: Պաշարներ
- Քայլ 2: LoRa հանգույց
- Քայլ 3. Հանգույցի և տվիչի միացում
- Քայլ 4: Տվյալներ ուղարկեք դարպաս
- Քայլ 5: MakePython Lora
- Քայլ 6: LoRaWAN դարպաս
- Քայլ 7: Ներբեռնեք ծածկագիրը
- Քայլ 8: Տվյալների ստացում
- Քայլ 9. Օգտագործեք ThingSpeak IoT- ը
- Քայլ 10: Արդյունք
Video: Lora Gateway MicroPython ESP32- ի հիման վրա. 10 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
Լորան վերջին տարիներին մեծ ժողովրդականություն է վայելում: Այս տեխնոլոգիան օգտագործող անլար հաղորդակցության մոդուլը սովորաբար էժան է (օգտագործելով ազատ սպեկտր), փոքր է, էներգաարդյունավետ և ունի երկար հաղորդակցության հեռավորություն, և հիմնականում օգտագործվում է IoT տերմինալների միջև փոխադարձ հաղորդակցության կամ հաղորդավարի հետ տվյալների փոխանակման համար: Շուկայում կան բազմաթիվ LoRa մոդուլներ, օրինակ ՝ RFM96W- ը, որը հագեցած է SX1278 (համատեղելի) չիպով, որը շատ փոքր է: Ես այն օգտագործում եմ MakePython ESP32- ով որպես դարպաս:
Հաջորդը, ես կօգտագործեմ երկու LoRa հանգույց ՝ ջերմաստիճանի և խոնավության տվյալները դարպաս ուղարկելու համար, այնուհետև դրանք դարպասի միջոցով ինտերնետ կբեռնեմ: Այստեղ դուք կսովորեք, թե ինչպես մի քանի LoRa հանգույցների հեռավոր տվյալները բեռնել ամպի դարպասի միջոցով:
Քայլ 1: Պաշարներ
1*MakePython ESP32
MakePython ESP32- ը ESP32 տախտակ է `ինտեգրված SSD1306 OLED էկրանով:
2*Maduino LoRa ռադիո
Maduino Lora Radio- ն IoT (իրերի ինտերնետ) լուծում է, որը հիմնված է Atmel's Atmega328P MCU և Lora մոդուլի վրա: Դա կարող է իրական նախագիծ լինել IoT նախագծերի համար (հատկապես երկարաժամկետ, ցածր էներգիայի կիրառմամբ)
2*DHT11
1*MakePython Lora
Քայլ 2: LoRa հանգույց
Սա Maduino Lora Radio- ի սխեմատիկ պատկերն է:
Arduino Lora Radio մոդուլը որպես LoRa հանգույց, մենք այն օգտագործում ենք ջերմաստիճանի և խոնավության տվյալները դարպաս ուղարկելու համար:
(Այս WiKi- ն ներկայացնում է, թե ինչպես օգտագործել Maduino Lora ռադիոկայանը և ուղարկել և ստանալ տվյալներ)
Քայլ 3. Հանգույցի և տվիչի միացում
DHCC- ի VCC- ն և GND- ը միացված են 3V3- ին և GND- ին Maduino- ին, իսկ DATA- ի կապը միացված է Maduino- ի D4- ին:
Հանգույց 0 -ը այգում է, 1 -ը ՝ գրասենյակին կից գրասենյակի շենքում, դրանք գտնվում են մոտ 2 կիլոմետր հեռավորության վրա, իսկ հետո ես ստանում եմ նրանց ջերմաստիճանի և խոնավության տվյալները տանը
Քայլ 4: Տվյալներ ուղարկեք դարպաս
Ներբեռնեք TransmitterDHT11.ino, բացեք այն Arduino IDE- ում:
Հանգույց ավելացնելիս համապատասխանաբար փոփոխեք հանգույցի համարը: Օրինակ, այժմ օգտագործեք 2 հանգույց, առաջին հանգույցը ՝ nodenum = 0 փոփոխելու համար ծրագիրը գործարկելու համար, երկրորդը ՝ nodenum = 1 փոփոխելու համար ծրագիրը և այլն, և այլն, կարող եք ավելացնել ավելի շատ հանգույց:
int16_t packetnum = 0; // փաթեթների հաշվիչ, մենք ավելացնում ենք մեկ բացթողումը
int16_t nodenum = 0; // Փոփոխել հանգույցի համարը
Հավաքեք տվյալները և տպեք դրանք
Լարային հաղորդագրություն = "#"+(String) nodenum+"Խոնավություն."+(String) խոնավություն+"% peratերմաստիճանը."+(String) ջերմաստիճան+"C"+"num:"+(String) packetnum; Serial.println (հաղորդագրություն); packetnum ++;
Ուղարկեք հաղորդագրություն 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);
Բացեք սերիական մոնիտորը, կարող եք տեսնել հավաքված ջերմաստիճանի և խոնավության տվյալները և ուղարկեք դրանք:
#0 Խոնավություն ՝ 6.00% Temերմաստիճան ՝ 27.00C թվ ՝ 0
Հաղորդում.
Մի կողմ դրեք, հիմա մենք պետք է պատրաստենք Լորայի դարպասը:
Քայլ 5: MakePython Lora
Սա RFM96W մոդուլի և MakePython ESP32- ի համապատասխան քորոցն է: MakePython ESP32- ի հետ կապը հեշտացնելու համար ես RFM96W մոդուլով տպատախտակ պատրաստեցի: Այո, դրա վրա կա երկու RFM96W, որոնք կարող են միաժամանակ տվյալներ ուղարկել և ստանալ, բայց հիմա ինձ միայն մեկն է պետք:
Քայլ 6: LoRaWAN դարպաս
LoRaWAN- ը ցածր էներգիայի լայնածավալ ցանց է, որը հիմնված է LoRa- ի վրա, որը կարող է ապահովել մեկը. Ցածր էներգիայի սպառումը, ընդլայնելիությունը, ծառայության բարձր որակը և անվտանգ հեռավոր անլար ցանցը:
Հավաքեք MakePython Lora- ն և ESP32- ը `դարպաս ստեղծելու համար, որը կարող է ստանալ հեռավոր տվյալներ և վերբեռնել դրանք ինտերնետում:
Քայլ 7: Ներբեռնեք ծածկագիրը
Ներբեռնեք բոլոր «xxx.py» ֆայլերը WiKi- ից և վերբեռնեք դրանք ESP32- ում:
Բացեք LoRaDuplexCallback.py ֆայլը: Դուք պետք է որոշ ճշգրտումներ կատարեք, որպեսզի ձեր ESP32- ը կարողանա միանալ ցանցին և տվյալներ վերբեռնել սերվերին:
Փոփոխեք ThingSpeak- ում ձեռք բերված API_KEY- ը (ինչպես կներկայացնեմ, թե ինչպես այն ձեռք բերել ավելի ուշ)
#https://thingspeak.com/channels/1047479
API_KEY = 'UBHIRHVV9THUJVUI'
Փոփոխեք SSID- ը և PSW- ն ՝ WiFi- ին միացնելու համար
ssid = "Makerfabs"
pswd = "20160704"
Քայլ 8: Տվյալների ստացում
Գտեք on_receive (lora, payload) գործառույթը LoRaDuplexCallback.py ֆայլում, որտեղ կարող եք ESP32- ին ասել, թե ինչ անել տվյալները ստանալուց հետո: Հետևյալ ծածկագիրը վերլուծում և ցուցադրում է ստացված ջերմաստիճանի և խոնավության տվյալները:
def on_receive (lora, payload):
lora.blink_led () rssi = lora.packetRssi () try: 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)] տպել ("*** Ստացված հաղորդագրություն *** / n {}" ձևաչափ (բեռնվածություն)) եթե config_lora. IS_LORA_OLED: lora.show_packet (("{}". ձևաչափ (բեռնվածություն [4: երկարություն)), rssi) եթե wlan.isconnected (): global msgCount print ('Sending to network …') node = int (str (payload [5: 6], 'utf-8')) if 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) տպել (res.text) բացառությամբ բացառության, ինչպես e: print (e) print (" RSSI {} n ".format (rssi))
Հանգույցները տարբերելու համար համարը դատելով և URL- ի միջոցով տվյալները համացանցում վերբեռնելու միջոցով, մենք ցանկացած պահի կարող ենք վերահսկել տարբեր հանգույցների հեռակա տվյալները: Կարող եք ավելացնել ավելի շատ հանգույցներ և նման փոփոխություններ կատարել ծածկագրում:
եթե հանգույց == 0:
URL = "https://api.thingspeak.com/update?api_key="+API_KEY+"& field1 ="+myNum1+"& field2 ="+myNum2 res = urequests.get (URL) տպագիր (res.text)
Քայլ 9. Օգտագործեք ThingSpeak IoT- ը
Քայլեր.
- Գրանցվեք հաշիվ https://thingspeak.com/ կայքում: Եթե արդեն ունեք մեկը, ուղղակի մուտք գործեք:
- Կտտացրեք Նոր ալիք ՝ նոր ThingSpeak ալիք ստեղծելու համար:
- Մուտքի անունը, նկարագրությունը, ընտրեք դաշտը 1. Այնուհետև պահեք ալիքը ներքևում:
- Սեղմեք API ստեղների տարբերակը, պատճենեք API բանալին, մենք այն կօգտագործենք ծրագրում:
Քայլ 10: Արդյունք
Էկրանի վրա կարող եք տեսնել 0 և 1 հանգույցի տվյալները, չնայած դրանք 2 կիլոմետր հեռավորության վրա են:
Մուտք գործեք ձեր ThingSpeak հաշիվ և կտտացրեք ձեր ստեղծած ալիքին, կարող եք տեսնել ջերմաստիճանի և խոնավության վերբեռնված տվյալները:
Դաշտի 1 գրաֆիկը և դաշտի 2 գրաֆիկները Լորա հանգույցի 0 խոնավության և ջերմաստիճանի տվյալներն են, իսկ դաշտի 3 գրաֆիկը և դաշտի 4 գրաֆիկը Լորա հանգույցի 1 խոնավության և ջերմաստիճանի տվյալները:
Խորհուրդ ենք տալիս:
Բարձրաչափ (բարձրության մետր) Մթնոլորտային ճնշման հիման վրա. 7 քայլ (նկարներով)
Բարձրաչափ (բարձրության մետր) Մթնոլորտային ճնշման հիման վրա. [Խմբագրել]; Տեսեք 2 -րդ տարբերակը 6 -րդ քայլում ՝ բարձրության ձեռքով ելակետային մուտքագրմամբ: Սա բարձրաչափի (բարձրության չափիչ) շենքի նկարագրությունն է ՝ հիմնված Arduino Nano- ի և Bosch BMP180 մթնոլորտային ճնշման տվիչի վրա: Դիզայնը պարզ է, բայց չափումները
Chicken Coop Door - Arduino հիման վրա. 5 քայլ (նկարներով)
Chicken Coop Door - Arduino Based: Առաջին հերթին, իմ մայրենի լեզուն հոլանդերենն է, այնպես որ ներողություն խնդրեք հնարավոր ուղղագրական սխալների համար: Եթե ինչ -որ բան պարզ չէ, պարզապես հաղորդագրություն թողեք մեկնաբանություններում: Սա իմ առաջին arduino նախագիծն է: Քանի որ կինս հոգնել էր ամեն օր ձեռքով դուռը բացելուց
Երկու գնացքներով աշխատող երկաթուղային ավտոմատ մոդելի դասավորություն (V2.0) - Arduino- ի հիման վրա. 15 քայլ (նկարներով)
Երկու գնացքով աշխատող երկաթգծի ավտոմատ մոդելային դասավորություն (V2.0) | Arduino- ի հիման վրա. Arduino միկրոկառավարիչների միջոցով մոդելի դասավորության ավտոմատացումը միկրոկոնտրոլերների միաձուլման, ծրագրավորման և երկաթգծի մոդելավորման մեկ հոբբիի հիանալի միջոց է: Կան մի շարք նախագծեր, որոնք վերաբերում են մոդելային երկաթուղու վրա ինքնավար գնացք վարելուն
MQTT MicroPython ESP32- ի հիման վրա ՝ 5 քայլ
MQTT MicroPython ESP32- ի հիման վրա. Ես սիրում եմ ընտանի կատուներ պահել: Մի օր ինտենսիվ աշխատանքից հետո կատուն կարող է հանգստացնել ինձ, երբ տուն վերադառնամ: Hardանր մարզումից հետո այս կատուն լավ սովորություն ունի կանոնավոր սնվել « ռեստորանում » ամեն օր. Բայց վերջերս ես ստիպված եմ ճանապարհորդել մի քանի օրով և
GPS Car Tracker SMS ծանուցմամբ և Thingspeak տվյալների վերբեռնում, Arduino- ի հիման վրա, Տնային ավտոմատացում. 5 քայլ (նկարներով)
GPS Car Tracker SMS- ի ծանուցմամբ և Thingspeak տվյալների վերբեռնում, Arduino- ի հիման վրա, տնային ավտոմատացում. Ես այս GPS tracker- ը պատրաստել եմ անցյալ տարի, և քանի որ այն լավ է աշխատում, այն այժմ հրապարակում եմ Instructable- ում: Այն միացված է իմ բեռնախցիկի աքսեսուարներին: GPS հետևողը բջջային տվյալների միջոցով բեռնում է մեքենայի դիրքը, արագությունը, ուղղությունը և չափվող ջերմաստիճանը