
Съдържание:
2025 Автор: John Day | [email protected]. Последно модифициран: 2025-01-23 12:57


Lora е много популярна през последните години. Модулът за безжична комуникация, използващ тази технология, обикновено е евтин (използва свободен спектър), малък по размер, енергийно ефективен и има голямо разстояние за комуникация и се използва главно за взаимна комуникация между IoT терминали или обмен на данни с хост. На пазара има много модули LoRa, като RFM96W, който е оборудван със SX1278 (съвместим) чип, който е много малък. Използвам го с MakePython ESP32 като шлюз.
След това ще използвам два възела LoRa, за да изпратя данните за температурата и влажността до шлюза и след това да ги кача в интернет през шлюза. Тук ще научите как да качвате отдалечени данни от множество LoRa възли в облака през шлюза.
Стъпка 1: Консумативи

1*MakePython ESP32
MakePython ESP32 е платка ESP32 с вграден SSD1306 OLED дисплей.
2*Радио Maduino LoRa
Maduino Lora Radio е IoT (Интернет на нещата) решение, базирано на Atmega328P MCU и модул Lora. Това може да бъде истински проект за IoT проекти (особено дългосрочни приложения с ниска мощност)
2*DHT11
1*MakePython Lora
Стъпка 2: LoRa възел


Това е схемата на радиото Maduino Lora.
Arduino Lora Radio модул като възел LoRa, ние го използваме за изпращане на данни за температурата и влажността към шлюза.
(Този WiKi представя как да използвате радиото Maduino Lora и да изпращате и получавате данни)
Стъпка 3: Свързване на възел и сензор


VCC и GND на DHT11 са свързани към 3V3 и GND на Maduino, а щифтът DATA е свързан към D4 на Maduino.
Възел 0 е в парка, възел 1 е в офис сградата в близост до компанията, те са на около 2 километра един от друг и след това получавам техните данни за температурата и влажността у дома
Стъпка 4: Изпратете данни към шлюза
Изтеглете TransmitterDHT11.ino, отворете го в Arduino IDE.
Когато добавяте възел, променете съответно номера на възела. Например, сега използвайте 2 възли, първият възел за промяна на nodenum = 0 за изпълнение на програмата, вторият възел за промяна на nodenum = 1 за изпълнение на програмата и т.н., можете да добавите още възел.
int16_t пакетно число = 0; // брояч на пакети, увеличаваме на xmission
int16_t ноден = 0; // Промяна на номера на възела
Съберете данни и ги отпечатайте
Низово съобщение = "#"+(String) nodenum+"Влажност:"+(String) влажност+"% Температура:"+(String) температура+"C"+"num:"+(String) пакетно число; 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 (lora, полезен товар) във файла LoRaDuplexCallback.py, където можете да кажете на ESP32 какво да прави след получаване на данните. Следният код анализира и показва получените данни за температурата и влажността.
def on_receive (lora, полезен товар):
lora.blink_led () rssi = lora.packetRssi () try: length = len (полезен товар) -1 myStr = str ((полезен товар [4: дължина]), 'utf-8') length1 = myStr.find (':') myNum1 = myStr [(length1+1):(length1+6)] myNum2 = myStr [(length1+20):(length1+25)] print ("*** Получено съобщение *** / n {}". формат (полезен товар)), ако config_lora. IS_LORA_OLED: lora.show_packet (("{}". формат (полезен товар [4: дължина])), rssi), ако wlan.isconnected (): глобален msgCount печат ('Изпращане до мрежата …') възел = int (str (полезен товар [5: 6], 'utf-8')), ако възел == 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 ключа, ние ще го използваме в програмата.
Стъпка 10: Резултат



Можете да видите данните на възел 0 и възел 1 на екрана, въпреки че са на 2 километра една от друга.
Влезте в профила си в ThingSpeak и кликнете върху канала, който сте създали, можете да видите качените данни за температурата и влажността.
Графиката field1 и field2 графиките са данните за влажността и температурата на възел Lora 0, а графиката field3 и графиката field4 са данните за влажността и температурата на възел Lora 1.
Препоръчано:
Музикален генератор, базиран на времето (ESP8266 базиран midi генератор): 4 стъпки (със снимки)

Метеорологичен генератор, базиран на времето (ESP8266 базиран Midi генератор): Здравейте, днес ще ви обясня как да направите свой собствен малък музикален генератор, базиран на времето. Той е базиран на ESP8266, който е нещо като Arduino и реагира на температура, дъжд и интензивността на светлината. Не очаквайте това да прави цели песни или акорди
MicroPython IoT Rover, базиран на WEMOS D1 (ESP-8266EX): 7 стъпки (със снимки)

MicroPython IoT Rover Въз основа на WEMOS D1 (ESP-8266EX): ** Актуализация: Пуснах нов видеоклип за v2 с копие ** Домакин съм на семинари по роботика за малки деца и винаги търся икономични платформи за изграждане на интригуващи проекти. Докато клонингите на Arduino са евтини, той използва езика C/C ++, че децата не са
Как да управлявате ESP8266 базиран Sonoff Basic Smart Switch със смартфон: 4 стъпки (със снимки)

Как да управляваме базиран на ESP8266 Sonoff Basic Smart Switch със смартфон: Sonoff е линия устройства за Smart Home, разработена от ITEAD. Едно от най -гъвкавите и евтини устройства от тази линия са Sonoff Basic. Това е превключвател с Wi-Fi връзка, базиран на страхотен чип ESP8266. Тази статия описва как да настроите Cl
Светлинен меч, базиран на Arduino, със светлинни и звукови ефекти: 14 стъпки (със снимки)

Светлинен меч, базиран на Arduino, със светлинни и звукови ефекти: Здравей, Джеди! Тази инструкция е за създаване на светлинен меч, който изглежда, звучи и се представя като един във филма! Единствената разлика - не може да реже метал: (Това устройство се основава на платформата Arduino и аз му давам много функции и функции, той
Как да мигате фърмуера на MicroPython на базиран на ESP8266 Sonoff Smart Switch: 3 стъпки (със снимки)

Как да мигате фърмуера на MicroPython на базиран на ESP8266 Sonoff Smart Switch: Какво е Sonoff? Sonoff е линия устройства за Smart Home, разработена от ITEAD. Едно от най -гъвкавите и евтини устройства от тази линия са Sonoff Basic и Sonoff Dual. Това са превключватели с Wi-Fi, базирани на страхотен чип, ESP8266. Докато