Talaan ng mga Nilalaman:
- Hakbang 1: Mga Panustos
- Hakbang 2: LoRa Node
- Hakbang 3: Koneksyon sa Node at Sensor
- Hakbang 4: Magpadala ng Data sa Gateway
- Hakbang 5: MakePython Lora
- Hakbang 6: LoRaWAN Gateway
- Hakbang 7: I-download ang Code
- Hakbang 8: Tumanggap ng Data
- Hakbang 9: Gumamit ng ThingSpeak IoT
- Hakbang 10: Resulta
Video: Lora Gateway Batay sa MicroPython ESP32: 10 Mga Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
Si Lora ay naging tanyag sa mga nagdaang taon. Ang module ng wireless na komunikasyon gamit ang teknolohiyang ito ay karaniwang mura (gumagamit ng libreng spectrum), maliit ang sukat, mahusay sa enerhiya at may mahabang distansya sa komunikasyon, at pangunahing ginagamit para sa magkaparehong komunikasyon sa pagitan ng mga IoT terminal o palitan ng data sa isang host. Maraming mga module ng LoRa sa merkado, tulad ng RFM96W, na nilagyan ng SX1278 (katugmang) chip, na napakaliit. Ginagamit ko ito sa MakePython ESP32 bilang isang gateway.
Susunod, gagamit ako ng dalawang mga node ng LoRa upang maipadala ang data ng temperatura at halumigmig sa gateway, at pagkatapos ay i-upload ito sa Internet sa pamamagitan ng gateway. Malalaman mo rito kung paano mag-upload ng malayuang data ng maraming mga LoRa node sa cloud sa pamamagitan ng gateway.
Hakbang 1: Mga Panustos
1 * MakePython ESP32
Ang MakePython ESP32 ay isang board na ESP32 na may isang integrated SSD1306 OLED display.
2 * Maduino LoRa Radio
Ang Maduino Lora Radio ay isang IoT (Internet ng mga bagay) Solusyon batay sa Atmel's Atmega328P MCU at Lora module. Maaari itong maging isang tunay na proyekto para sa mga proyekto ng IoT (lalo na sa malayuan, mababang aplikasyon ng kuryente)
2 * DHT11
1 * MakePython Lora
Hakbang 2: LoRa Node
Ito ang iskema ng Maduino Lora Radio.
Ang module ng Arduino Lora Radio bilang LoRa node, ginagamit namin ito upang magpadala ng data ng temperatura at halumigmig sa gateway.
(Ipinakikilala ng WiKi na ito kung paano gamitin ang Maduino Lora Radio at magpadala at tumanggap ng data)
Hakbang 3: Koneksyon sa Node at Sensor
Ang VCC at GND ng DHT11 ay konektado sa 3V3 at GND ng Maduino, at ang DATA pin ay konektado sa D4 ng Maduino.
Ang Node 0 ay nasa parke, ang node 1 ay nasa gusali ng opisina malapit sa kumpanya, halos 2 kilometro ang layo, at pagkatapos ay nakukuha ko ang kanilang data ng temperatura at halumigmig sa bahay
Hakbang 4: Magpadala ng Data sa Gateway
I-download ang TransmitterDHT11.ino, buksan ito sa Arduino IDE.
Kapag nagdaragdag ng isang node, baguhin ang numero ng node nang naaayon. Halimbawa, ngayon gumamit ng 2 node, ang unang node upang baguhin ang nodenum = 0 upang patakbuhin ang programa, ang pangalawang node upang baguhin ang nodenum = 1 upang patakbuhin ang programa, at iba pa, maaari kang magdagdag ng higit pang node.
int16_t packetnum = 0; // packet counter, nagdaragdag kami bawat xmission
int16_t nodenum = 0; // Baguhin ang numero ng node
Kolektahin ang data at i-print ito
String message = "#" + (String) nodenum + "Humidity:" + (String) halumigmig + "% Temperatura:" + (String) temperatura + "C" + "num:" + (String) packetnum; Serial.println (mensahe); packetnum ++;
Magpadala ng mensahe sa 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);
Buksan ang serial monitor, maaari mong makita ang nakolektang data ng temperatura at halumigmig, at ipadala ito.
# 0 Humidity: 6.00% Temperatura: 27.00C num: 0
Ipadala: Pagpapadala sa rf95_server Pagpapadala… Naghihintay para makumpleto ang packet … Naghihintay para sa tugon … Walang tugon, mayroon bang tagapakinig sa paligid?
Itabi ito, ngayon kailangan nating gawin ang Lora Gateway.
Hakbang 5: MakePython Lora
Ito ang kaukulang pin ng module na RFM96W at MakePython ESP32. Upang mapadali ang koneksyon sa MakePython ESP32, gumawa ako ng circuit board na may module na RFM96W. Oo, mayroong dalawang RFM96W dito, na maaaring magpadala at tumanggap ng data nang sabay, ngunit ngayon kailangan ko lang ng isa.
Hakbang 6: LoRaWAN Gateway
Ang LoRaWAN ay isang network na may malawak na lakas na malawak na lugar batay sa LoRa, na maaaring magbigay ng isa: mababang paggamit ng kuryente, kakayahang sumukat, mataas na kalidad ng serbisyo, at ligtas na wireless network na malayuan.
Magtipon ng MakePython Lora at ESP32 upang makagawa ng isang gateway na maaaring makatanggap ng malayuang data at mai-upload ito sa Internet.
Hakbang 7: I-download ang Code
I-download ang lahat ng mga file na 'xxx.py' mula sa WiKi at i-upload ang mga ito sa ESP32.
Buksan ang LoRaDuplexCallback.py file, Kailangan mong gumawa ng ilang mga pagsasaayos upang ang iyong ESP32 ay maaaring kumonekta sa network at mag-upload ng data sa server.
Baguhin ang API_KEY na nakuha mo sa ThingSpeak (Ipapakilala ko kung paano ito makukuha sa paglaon)
#https://thingspeak.com/channels/1047479
API_KEY = 'UBHIRHVV9THUJVUI'
Baguhin ang SSID at PSW upang ikonekta ang WiFi
ssid = "Makerfabs"
pswd = "20160704"
Hakbang 8: Tumanggap ng Data
Hanapin ang pagpapaandar na on_receive (lora, payload) sa file na LoRaDuplexCallback.py, kung saan masasabi mo sa ESP32 kung ano ang gagawin pagkatapos matanggap ang data. Ang mga sumusunod na code ay parse at ipinapakita ang natanggap na data ng temperatura at halumigmig.
def on_receive (lora, payload):
lora.blink_led () rssi = lora.packetRssi () subukan: haba = len (payload) -1 myStr = str ((payload [4: haba]), 'utf-8') haba1 = myStr.find (':') myNum1 = myStr [(haba1 + 1):(haba1 + 6)] myNum2 = myStr [(haba1 + 20):(haba1 + 25)] i-print ("*** Nakatanggap ng mensahe *** / n {}". format (payload)) kung config_lora. IS_LORA_OLED: lora.show_packet (("{}". format (payload [4: haba])), rssi) kung wlan.isconnected (): pandaigdigang msgCount print ('Nagpapadala sa network…') node = int (str (payload [5: 6], 'utf-8')) kung 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) print (res.text) maliban sa Exception bilang e: print (e) print (" with RSSI {} n ".format (rssi))
Ang paghuhusga sa numero upang makilala ang mga node, at pag-upload ng data sa Internet sa pamamagitan ng URL, maaari naming subaybayan ang malayuang data ng iba't ibang mga node anumang oras. Maaari kang magdagdag ng higit pang mga node at gumawa ng mga katulad na pagbabago sa code.
kung node == 0:
URL = "https://api.thingspeak.com/update?api_key=" + API_KEY + "& field1 =" + myNum1 + "& field2 =" + myNum2 res = urequests.get (URL) print (res.text)
Hakbang 9: Gumamit ng ThingSpeak IoT
Mga Hakbang:
- Mag-sign up ng isang account sa https://thingspeak.com/. Kung mayroon ka na, direktang mag-sign in.
- Mag-click sa Bagong Channel upang lumikha ng isang bagong ThingSpeak channel.
- Pangalan ng input, Paglalarawan, Piliin ang Patlang 1. Pagkatapos ay i-save ang channel sa ibaba.
- I-click ang pagpipiliang API Keys, kopyahin ang API Key, gagamitin namin ito sa programa.
Hakbang 10: Resulta
Maaari mong makita ang data ng node 0 at node 1 sa screen, kahit na 2 kilometro ang layo.
Mag-log in sa iyong ThingSpeak account at mag-click sa channel na iyong nilikha, makikita mo ang na-upload na data ng temperatura at kahalumigmigan.
Ang field1 graph at ang field2 grap ay ang halumigmig at data ng temperatura ng Lora node 0, at ang field3 graph at ang field4 graph ay ang data ng halumigmig at temperatura ng Lora node 1.
Inirerekumendang:
MicroPython IoT Rover Batay sa WEMOS D1 (ESP-8266EX): 7 Mga Hakbang (na may Mga Larawan)
MicroPython IoT Rover Batay sa WEMOS D1 (ESP-8266EX): ** Update: Nag-post ako ng isang bagong video para sa v2 na may lance ** Nagho-host ako ng mga workshop sa Robotics para sa mga bata at palagi akong naghahanap ng mga platform na matipid upang makabuo ng mga nakakaintriga na proyekto. Habang ang mga clone ng Arduino ay mura, gumagamit ito ng wikang C / C ++ na ang mga bata ay hindi
Pamamahala ng Tanim na Batay sa Batay sa Solar Na May ESP32: 7 Mga Hakbang (na may Mga Larawan)
Pamamahala ng Tanim na Batay sa Batay ng Solar Sa ESP32: Ang paglaki ng mga halaman ay masaya at pagtutubig at pag-aalaga sa kanila ay hindi talaga isang abala. Ang mga aplikasyon ng Microcontroller upang subaybayan ang kanilang kalusugan ay nasa buong internet at ang inspirasyon para sa kanilang disenyo ay nagmula sa static na katangian ng halaman at ang kadalian ng moni
Batay sa Autonomous na Batay ng Arduino Gamit ang Ultrasonic Sensor: 5 Mga Hakbang (na may Mga Larawan)
Batay ng Autonomous na Batay ng Arduino Paggamit ng Ultrasonic Sensor: Lumikha ng iyong sariling Arduino based Autonomous Bot gamit ang Ultrasonic Sensor. Ang bot na ito ay maaaring lumipat sa sarili nitong walang pag-crash ng anumang mga hadlang. Karaniwan kung ano ang ginagawa nito ay nakita nito ang anumang uri ng mga hadlang sa paraan nito at nagpapasya ang pinakamahusay na pa
BeanBot - isang Batay sa Autonomous na Robot ng Batay sa Arduino !: 8 Mga Hakbang (na may Mga Larawan)
BeanBot - isang Arduino Batay sa Autonomous Paper Robot !: Mayroon bang anumang mas nakasisigla kaysa sa isang blangko na papel? Kung ikaw ay isang masugid na tinkerer o tagabuo pagkatapos ay walang alinlangan na simulan mo ang iyong mga proyekto sa pamamagitan ng pag-sketch ng mga ito sa papel. Nagkaroon ako ng ideya upang makita kung posible na bumuo ng isang frame ng robot na wala sa papel
Dispenser ng Batay sa Batay ng Arduino: 5 Hakbang (na may Mga Larawan)
Dispenser ng Batay sa Batay ng Arduino: Ito ay napakadaling gawin at sobrang kapaki-pakinabang