Мазмұны:
- 1 -қадам: Жабдықтар
- 2 -қадам: LoRa түйіні
- 3 -қадам: түйін мен сенсордың қосылуы
- 4 -қадам: Деректерді шлюзге жіберіңіз
- 5 -қадам: MakePython Lora
- 6 -қадам: LoRaWAN шлюзі
- 7 -қадам: кодты жүктеңіз
- 8 -қадам: Деректерді алу
- 9 -қадам: ThingSpeak IoT пайдаланыңыз
- 10 -қадам: Нәтиже
Бейне: MicroPython ESP32 негізіндегі Lora шлюзі: 10 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:23
Лора соңғы жылдары өте танымал болды. Бұл технологияны қолданатын сымсыз байланыс модулі әдетте арзан (бос спектрді қолдана отырып), көлемі шағын, энергияны үнемдейтін және ұзақ байланыс қашықтығына ие және негізінен IoT терминалдары арасындағы өзара байланыс немесе хостпен мәліметтер алмасу үшін қолданылады. Нарықта RFM96W сияқты көптеген LoRa модульдері бар, ол өте кіші SX1278 (үйлесімді) чиппен жабдықталған. Мен оны MakePython ESP32 көмегімен шлюз ретінде қолданамын.
Содан кейін мен температура мен ылғалдылық туралы ақпаратты шлюзге жіберу үшін екі LoRa түйінін қолданамын, содан кейін оны шлюз арқылы Интернетке жүктеймін. Мұнда сіз шлюз арқылы бұлтқа бірнеше LoRa түйіндерінің қашықтағы деректерін жүктеуді үйренесіз.
1 -қадам: Жабдықтар
1*MakePython ESP32
MakePython ESP32 - бұл біріктірілген SSD1306 OLED дисплейі бар ESP32 тақтасы.
2*Maduino LoRa радиосы
Maduino Lora Radio - бұл Atmel's Atmega328P MCU мен Lora модуліне негізделген IoT (Интернет заттары) шешімі. Бұл IoT жобалары үшін нақты жоба болуы мүмкін (әсіресе ұзақ мерзімді, қуаты аз қосымшалар)
2*DHT11
1*MakePython Lora
2 -қадам: LoRa түйіні
Бұл Maduino Lora радиосының схемасы.
Arduino Lora радио модулі LoRa түйіні ретінде біз температура мен ылғалдылық туралы ақпаратты шлюзге жіберу үшін қолданамыз.
(Бұл WiKi Maduino Lora радиосын қалай пайдалану керектігін және деректерді жіберу мен қабылдауды ұсынады)
3 -қадам: түйін мен сенсордың қосылуы
DHT11 VCC және GND 3V3 және GND Maduino -ға қосылған, ал DATA түйрегіші D4 Maduino -ға қосылған.
0 -торап саябақта, 1 -түйін компанияның жанындағы кеңсе ғимаратында, олар бір -бірінен шамамен 2 км қашықтықта орналасқан, содан кейін мен олардың температурасы мен ылғалдылығын үйде білемін.
4 -қадам: Деректерді шлюзге жіберіңіз
TransmitterDHT11.ino жүктеп алыңыз, оны Arduino IDE -де ашыңыз.
Түйінді қосқанда, сәйкесінше түйін нөмірін өзгертіңіз. Мысалы, енді 2 түйінді қолданыңыз, бағдарламаны іске қосу үшін түйінді = 0 өзгерту үшін бірінші түйін, бағдарламаны іске қосу үшін түйінді = 1 өзгерту үшін екінші түйін және т.б., сіз басқа түйін қосуға болады.
int16_t packetnum = 0; // пакеттік есептегіш, біз бір жіберілімге көбейеміз
int16_t түйін = 0; // Түйін нөмірін өзгертіңіз
Деректерді жинап, басып шығарыңыз
Жолдық хабар = «#»+(Жол) түйін+«Ылғалдылық:»+(Жол) ылғалдылық+«% Температура:»+(Жол) температура+«С»+«сан:»+(Жол) пакеттік нөмірі; 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,00С саны: 0
Тарату: rf95_server -ге жіберілуде Жіберілуде… Пакеттің аяқталуын күтуде … Жауап күтілуде… Жауап жоқ, айналада тыңдаушы бар ма?
Оны қойыңыз, енді біз Лора шлюзін жасауымыз керек.
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'
WiFi қосылу үшін SSID және PSW өзгертіңіз
ssid = «Makerfabs»
pswd = «20160704»
8 -қадам: Деректерді алу
LoRaDuplexCallback.py файлында on_receive (lora, payload) функциясын табыңыз, онда ESP32 -ге деректерді алғаннан кейін не істеу керектігін айтуға болады. Келесі код алынған температура мен ылғалдылық деректерін талдайды және көрсетеді.
def on_receive (lora, пайдалы жүктеме):
lora.blink_led () rssi = lora.packetRssi () тырысыңыз: length = len (пайдалы жүктеме) -1 myStr = str ((жүктеме [4: ұзындық]), 'utf-8') length1 = myStr.find (':') myNum1 = myStr [(length1+1):(length1+6)] myNum2 = myStr [(length1+20):(length1+25)] басып шығару («*** Алынған хабар *** / n {}». format (пайдалы жүктеме)) if config_lora. IS_LORA_OLED: lora.show_packet ((«{}». формат (жүктеме [4: ұзындық])), rssi) егер wlan.isconnected (): жаһандық msgCount басып шығару ('Желіге жіберілуде…') node = 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 түйіні == 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 «. пішім (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 арнасын жасау үшін New Channel түймесін басыңыз.
- Енгізу аты, сипаттамасы, 1 -өрісті таңдаңыз. Содан кейін арнаны төменгі жағына сақтаңыз.
- API кілттері опциясын басыңыз, API кілтін көшіріңіз, біз оны бағдарламада қолданамыз.
10 -қадам: Нәтиже
0 және 1 түйіннің мәліметтерін экранда көруге болады, бірақ олардың арақашықтығы 2 шақырым.
ThingSpeak есептік жазбаңызға кіріңіз және сіз жасаған арнаны басыңыз, сіз жүктелген температура мен ылғалдылық туралы деректерді көре аласыз.
Өріс1 графасы мен өріс2 графикасы - бұл Lora 0 түйінінің ылғалдылығы мен температуралық деректері, ал өріс3 графигі мен өріс4 графигі - Лора 1 түйінінің ылғалдылығы мен температуралық мәліметтері.
Ұсынылған:
MuMo - LoRa шлюзі: 25 қадам (суреттермен)
MuMo-LoRa шлюзі: ### 10-03-2021 ЖАҢАРТУ // соңғы ақпарат/жаңартулар github бетінде болады: https: //github.com/MoMu-Antwerp/MuMo MuMo дегеніміз не? MuMo-бұл ынтымақтастық өнімді әзірлеу (Антверпен университетінің бөлімі) астында
Lora шлюзі (Dragino LG01-P): 6 қадам
Lora шлюзі (Dragino LG01-P): LPWAN қызыл LPWAN, біршама маңызды ақпарат (LOW POWER WIDE AREA NETWORK). Сонымен қатар, бұл IoT -дың ең жақсы мүмкіндігі. Entre las aplicaciones más comunes se encuentran; Ciudades intelligentes, ауыл шаруашылығы
LoRa шлюзі ESP8266 Arduino DIY: 5 қадам
LoRa шлюзі ESP8266 Arduino DIY: Бұл нұсқаулық RFM95/96 радио модулімен бірге ESP8266 көмегімен әлемнің барлық аймақтары үшін Things Network үйлесімді LoRa шлюзін құруға көмектеседі. Оның жұмыс істеуінің бастапқы коды да қамтамасыз етілген және ол интеграцияланған
ESP32 сенсорлық торабы бар Lora Thingspeak шлюзі: 9 қадам
Сенсорлық түйінмен ESP32 Lora Thingspeak шлюзі: бұл IoT жобасында мен ESP32 LoRa шлюзін жасадым & сонымен қатар сенсордың оқуын бірнеше шақырым қашықтықтан сымсыз бақылау үшін ESP32 LoRa сенсорлық түйіні. Жіберуші DHT11 Sensor көмегімен ылғалдылық пен температура туралы ақпаратты оқиды. Содан кейін жібереді
ESP8266 Shield негізіндегі Arduino үшін UDP/IP сериялық шлюзі: 8 қадам
ESP8266 Shield негізіндегі Arduino үшін UDP/IP сериялы шлюзі: Мен 2016 жылы «Arduino -ны IP желісіне қосу үшін өзіңіздің Wi -Fi шлюзін қалай жасауға болады» деген нұсқаулық жарияладым. Мен кодты жақсартқаннан кейін мен бұл шешімді қолданамын, дегенмен қазір ESP8266 қалқандары бар