Სარჩევი:
- ნაბიჯი 1: მარაგი
- ნაბიჯი 2: LoRa კვანძი
- ნაბიჯი 3: კვანძისა და სენსორის კავშირი
- ნაბიჯი 4: გაგზავნეთ მონაცემები კარიბჭეში
- ნაბიჯი 5: MakePython Lora
- ნაბიჯი 6: LoRaWAN Gateway
- ნაბიჯი 7: ჩამოტვირთეთ კოდი
- ნაბიჯი 8: მიიღეთ მონაცემები
- ნაბიჯი 9: გამოიყენეთ ThingSpeak IoT
- ნაბიჯი 10: შედეგი
ვიდეო: Lora Gateway დაფუძნებული MicroPython ESP32: 10 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
ლორა ბოლო წლებში ძალიან პოპულარული გახდა. უკაბელო საკომუნიკაციო მოდული ამ ტექნოლოგიის გამოყენებით, როგორც წესი, იაფია (თავისუფალი სპექტრის გამოყენებით), მცირე ზომის, ენერგოეფექტური და აქვს გრძელი საკომუნიკაციო მანძილი და ძირითადად გამოიყენება IoT ტერმინალებს შორის ურთიერთკავშირისთვის ან მასპინძელთან მონაცემთა გაცვლისთვის. ბაზარზე ბევრი LoRa მოდულია, მაგალითად RFM96W, რომელიც აღჭურვილია SX1278 (თავსებადი) ჩიპით, რაც ძალიან მცირეა. მე მას ვიყენებ MakePython ESP32– ით, როგორც კარიბჭე.
შემდეგი, მე გამოვიყენებ ორ LoRa კვანძს ტემპერატურისა და ტენიანობის მონაცემების გასასვლელად კარიბჭეში, შემდეგ კი ინტერნეტში ატვირთვა კარიბჭის გავლით. აქ თქვენ შეისწავლით თუ როგორ უნდა ატვირთოთ მრავალი LoRa კვანძის დისტანციური მონაცემები ღრუბელში კარიბჭის გავლით.
ნაბიჯი 1: მარაგი
1*MakePython ESP32
MakePython ESP32 არის ESP32 დაფა ინტეგრირებული SSD1306 OLED დისპლეით.
2*მადუინო ლორა რადიო
მადუინო ლორა რადიო არის IoT (ნივთების ინტერნეტი) გადაწყვეტა, რომელიც დაფუძნებულია Atmel's Atmega328P MCU და Lora მოდულზე. ეს შეიძლება იყოს რეალური პროექტი IoT პროექტებისთვის (განსაკუთრებით გრძელვადიანი, დაბალი სიმძლავრის პროგრამა)
2*DHT11
1*MakePython ლორა
ნაბიჯი 2: LoRa კვანძი
ეს არის მადუინო ლორას რადიოს სქემა.
Arduino Lora რადიო მოდული, როგორც LoRa კვანძი, ჩვენ ვიყენებთ მას ტემპერატურისა და ტენიანობის მონაცემების გასაგზავნად კარიბჭეში.
(ეს WiKi წარმოგიდგენთ როგორ გამოიყენოთ მადუინო ლორა რადიო და გაგზავნოთ და მიიღოთ მონაცემები)
ნაბიჯი 3: კვანძისა და სენსორის კავშირი
VCC და GND DHT11 უკავშირდება 3V3 და GND Maduino– ს, ხოლო DATA pin უკავშირდება D4 of Maduino– ს.
კვანძი 0 არის პარკში, კვანძი 1 არის საოფისე შენობაში კომპანიის მახლობლად, ისინი ერთმანეთისგან დაახლოებით 2 კილომეტრია დაშორებული, შემდეგ კი მე ვიღებ მათ ტემპერატურასა და ტენიანობას სახლში.
ნაბიჯი 4: გაგზავნეთ მონაცემები კარიბჭეში
ჩამოტვირთეთ TransmitterDHT11.ino, გახსენით Arduino IDE– ზე.
კვანძის დამატებისას შეცვალეთ კვანძის ნომერი შესაბამისად. მაგალითად, ახლა გამოიყენეთ 2 კვანძი, პირველი კვანძი შეცვლის კვანძს = 0 პროგრამის გასაშვებად, მეორე კვანძი შეცვლის კვანძს = 1 პროგრამის გასაშვებად და ასე შემდეგ, შეგიძლიათ დაამატოთ მეტი კვანძი.
int16_t packetnum = 0; // პაკეტის მრიცხველი, ჩვენ ვზრდით თითო გამოშვებაზე
int16_t კვანძი = 0; // კვანძის ნომრის შეცვლა
შეაგროვეთ მონაცემები და დაბეჭდეთ
სიმებიანი შეტყობინება = "#"+(სიმებიანი) კვანძოვანი+"ტენიანობა:"+(სიმებიანი) ტენიანობა+"% ტემპერატურა:"+(სიმებიანი) ტემპერატურა+"C"+"num:"+(სიმებიანი) 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% ტემპერატურა: 27.00C ნომერი: 0
გადაცემა: გაგზავნა rf95_server გაგზავნა … პაკეტის დასრულების მოლოდინში … პასუხის მოლოდინში … პასუხის გარეშე, არის მსმენელი გარშემო?
გადადეთ, ახლა ჩვენ უნდა გავაკეთოთ ლორას კარიბჭე.
ნაბიჯი 5: MakePython Lora
ეს არის RFM96W მოდულის და MakePython ESP32– ის შესაბამისი პინი. MakePython ESP32– თან კავშირის გასაადვილებლად, მე გავაკეთე მიკროსქემის დაფა RFM96W მოდულით. დიახ, მასზე არის ორი RFM96W, რომელსაც შეუძლია მონაცემების გაგზავნა და მიღება ერთდროულად, მაგრამ ახლა მე მხოლოდ ერთი მჭირდება.
ნაბიჯი 6: LoRaWAN Gateway
LoRaWAN არის დაბალი სიმძლავრის ფართო ქსელი LoRa– ზე დაფუძნებული, რომელსაც შეუძლია უზრუნველყოს ერთი: დაბალი ენერგიის მოხმარება, მასშტაბურობა, მომსახურების მაღალი ხარისხი და უსაფრთხო საქალაქთაშორისო უკაბელო ქსელი.
შეიკრიბეთ MakePython Lora და ESP32, რათა შექმნათ კარიბჭე, რომელსაც შეუძლია მიიღოს დისტანციური მონაცემები და ატვირთოს იგი ინტერნეტში.
ნაბიჯი 7: ჩამოტვირთეთ კოდი
ჩამოტვირთეთ ყველა 'xxx.py' ფაილი WiKi– დან და ატვირთეთ ისინი ESP32– ზე.
გახსენით LoRaDuplexCallback.py ფაილი, თქვენ უნდა შეასრულოთ გარკვეული კორექტირება ისე, რომ თქვენი ESP32 შეძლოს ქსელთან დაკავშირება და მონაცემების ატვირთვა სერვერზე.
შეცვალეთ API_KEY, რომელიც თქვენ მიიღეთ ThingSpeak– ში (მე მოგვიანებით შემოგთავაზებთ, თუ როგორ უნდა მიიღოთ იგი)
#https://thingspeak.com/channels/1047479
API_KEY = 'UBHIRHVV9THUJVUI'
შეცვალეთ SSID და PSW WiFi– ს დასაკავშირებლად
ssid = "Makerfabs"
pswd = "20160704"
ნაბიჯი 8: მიიღეთ მონაცემები
იპოვეთ on_receive (ლორა, დატვირთვა) ფუნქცია LoRaDuplexCallback.py ფაილში, სადაც შეგიძლიათ ESP32- ს უთხრათ რა უნდა გააკეთოს მონაცემების მიღების შემდეგ. შემდეგი კოდი აანალიზებს და აჩვენებს მიღებული ტემპერატურისა და ტენიანობის მონაცემებს.
def on_receive (ლორა, დატვირთვა):
lora.blink_led () rssi = lora.packetRssi () სცადეთ: length = len (payload) -1 myStr = str ((payload [4: length]), 'utf-8') length1 = myStr.find (':') myNum1 = myStr [(სიგრძე 1+1):(სიგრძე 1+6)] myNum2 = myStr [(სიგრძე 1+20):(სიგრძე 1+25)] ბეჭდვა ("*** მიღებული შეტყობინება *** / n {}". ფორმატი (დატვირთვა)) თუ config_lora. IS_LORA_OLED: lora.show_packet (("{}". ფორმატი (დატვირთვა [4: სიგრძე])), rssi) თუ wlan.isconnected (): გლობალური msgCount print ("გაგზავნა ქსელში …") 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) ბეჭდვა (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 Keys ვარიანტზე, დააკოპირეთ API Key, ჩვენ მას გამოვიყენებთ პროგრამაში.
ნაბიჯი 10: შედეგი
თქვენ შეგიძლიათ ნახოთ კვანძის 0 და 1 კვანძის მონაცემები ეკრანზე, თუმცა ისინი ერთმანეთისგან 2 კილომეტრშია.
შედით თქვენს ThingSpeak ანგარიშზე და დააწკაპუნეთ თქვენს მიერ შექმნილ არხზე, თქვენ იხილავთ ატვირთვის ტემპერატურისა და ტენიანობის მონაცემებს.
ველის 1 დიაგრამა და ველი 2 დიაგრამა არის ლორას კვანძის ტენიანობის და ტემპერატურის მონაცემები, ხოლო ველის 3 დიაგრამა და ველის 4 დიაგრამა არის ლორას კვანძის 1 ტენიანობისა და ტემპერატურის მონაცემები.
გირჩევთ:
MuMo - LoRa Gateway: 25 ნაბიჯი (სურათებით)
MuMo-LoRa Gateway: ### განახლება 10-03-2021 // უახლესი ინფორმაცია/განახლებები ხელმისაწვდომი იქნება github გვერდზე: https: //github.com/MoMu-Antwerp/MuMo რა არის MuMo? MuMo არის თანამშრომლობა შორის პროდუქტის განვითარება (ანტვერპენის უნივერსიტეტის განყოფილება)
MQTT დაფუძნებული MicroPython ESP32: 5 ნაბიჯი
MQTT დაფუძნებული MicroPython ESP32- ზე: მე მიყვარს შინაური კატების შენარჩუნება. ერთდღიანი ინტენსიური მუშაობის შემდეგ, კატას შეუძლია დაისვენოს, როდესაც სახლში მივალ. მძიმე ვარჯიშის შემდეგ, ამ კატას აქვს ჩვევა რეგულარულად ჭამოს " რესტორანში " ყოველ დღე. მაგრამ ახლახან მომიწია მოგზაურობა რამდენიმე დღით და
ამინდზე დაფუძნებული მუსიკის გენერატორი (ESP8266 დაფუძნებული მიდი გენერატორი): 4 ნაბიჯი (სურათებით)
ამინდზე დაფუძნებული მუსიკის გენერატორი (ESP8266 დაფუძნებული მიდი გენერატორი): გამარჯობა, დღეს მე აგიხსნით, თუ როგორ უნდა შექმნათ თქვენი საკუთარი პატარა ამინდი მუსიკის გენერატორი. იგი ეფუძნება ESP8266- ს, რომელიც არდუინოს მსგავსია და ის პასუხობს ტემპერატურას, წვიმას და სინათლის ინტენსივობა. ნუ ელოდებით, რომ ის მთელ სიმღერებს ან აკორდს გამოიმუშავებს
MicroPython IoT Rover დაფუძნებული WEMOS D1 (ESP-8266EX): 7 ნაბიჯი (სურათებით)
MicroPython IoT Rover დაფუძნებული WEMOS D1 (ESP-8266EX): ** განახლება: მე გამოვაქვეყნე ახალი ვიდეო v2– სთვის lance ** მე ვმასპინძლობ რობოტიკის სემინარებს მცირეწლოვანი ბავშვებისთვის და მე ყოველთვის ვეძებ ეკონომიკურ პლატფორმებს დამაინტრიგებელი პროექტების შესაქმნელად. მიუხედავად იმისა, რომ Arduino კლონები იაფია, ის იყენებს C/C ++ ენას, რომელიც ბავშვებს არ აქვთ
მზის წონაზე დაფუძნებული მცენარეების მართვა ESP32– ით: 7 ნაბიჯი (სურათებით)
მზის წონაზე დაფუძნებული მცენარეების მენეჯმენტი ESP32– ით: მცენარეების მოყვანა მხიარულია და მორწყვა და მათზე ზრუნვა ნამდვილად არ არის პრობლემა. მიკროკონტროლის პროგრამები მათი ჯანმრთელობის მონიტორინგისთვის არის ინტერნეტში და მათი დიზაინის შთაგონება მოდის მცენარის სტატიკური ბუნებიდან და მონიტორინგის სიმარტივიდან