Агуулгын хүснэгт:
- Алхам 1: хангамж
- Алхам 2: LoRa зангилаа
- Алхам 3: Зангилаа ба мэдрэгчийн холболт
- Алхам 4: Гарц руу өгөгдөл илгээх
- Алхам 5: MakePython Lora
- Алхам 6: LoRaWAN гарц
- Алхам 7: Кодыг татаж авах
- Алхам 8: Мэдээлэл хүлээн авах
- Алхам 9: ThingSpeak IoT ашиглана уу
- Алхам 10: Үр дүн
Видео: Lora Gateway нь MicroPython ESP32: 10 алхам дээр суурилсан (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:01
Лора сүүлийн жилүүдэд маш их алдартай болсон. Энэхүү технологийг ашигладаг утасгүй холбооны модуль нь ихэвчлэн хямд (чөлөөт спектрийг ашигладаг), жижиг хэмжээтэй, эрчим хүчний хэмнэлттэй, харилцаа холбооны урт зайтай байдаг ба голчлон IoT терминалуудын хоорондох харилцаа холбоо эсвэл хосттой мэдээлэл солилцоход ашиглагддаг. Зах зээл дээр маш жижиг хэмжээтэй SX1278 (нийцтэй) чипээр тоноглогдсон RFM96W гэх мэт олон LoRa модуль байдаг. Би үүнийг 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 зангилаа
Энэ бол Мадуино Лора радиогийн схем юм.
Arduino Lora Radio модулийг LoRa зангилаа болгон ашигладаг бөгөөд бид үүнийг температур, чийгшлийн мэдээллийг гарц руу илгээхэд ашигладаг.
(Энэхүү WiKi нь Maduino Lora Radio -г хэрхэн ашиглах, өгөгдөл илгээх, хүлээн авах талаар танилцуулж байна)
Алхам 3: Зангилаа ба мэдрэгчийн холболт
DHT11 -ийн VCC ба GND нь Maduino -ийн 3V3 ба GND -тэй холбогдсон бөгөөд DATA зүү нь Maduino -ийн D4 -тэй холбогдсон байна.
0 -р зангилаа цэцэрлэгт хүрээлэнд, 1 -р зангилаа нь компанийн ойролцоох оффисын байранд байрладаг бөгөөд хоорондоо 2 км зайтай, дараа нь би тэдний температур, чийгшлийн мэдээллийг гэртээ авдаг.
Алхам 4: Гарц руу өгөгдөл илгээх
TransmitterDHT11.ino -г татаж аваад Arduino IDE дээр нээнэ үү.
Зангилаа нэмэх үед зангилааны дугаарыг тохируулан өөрчилнө үү. Жишээлбэл, одоо 2 зангилааг ашигла, эхний зангилаа = 0 -ийг програмыг ажиллуулахын тулд, 2 -р зангилаа = 1 -ийг өөрчлөхийн тулд програмыг ажиллуулна гэх мэтээр та илүү олон зангилаа нэмж болно.
int16_t packetnum = 0; // пакет тоолуур, бид нэг дамжуулалт тутамд нэмэгддэг
int16_t зангилаа = 0; // Зангилааны дугаарыг өөрчлөх
Мэдээлэл цуглуулж хэвлэ
String message = "#"+(String) зангилаа+"Чийгшил:"+(String) чийгшил+"% Температур:"+(String) температур+"C"+"num:"+(String) packetnum; Serial.println (зурвас); пакет ++;
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 гарц
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 () оролдох: урт = len (ачаалал) -1 myStr = str ((ачаалал [4: урт]), 'utf-8') урт1 = myStr.find (':') myNum1 = myStr [(урт1+1):(урт1+6)] myNum2 = myStr [(урт1+20):(урт1+25)] хэвлэх ("*** Хүлээн авсан мессеж *** / n {}". format (payload)) if config_lora. IS_LORA_OLED: lora.show_packet (("" {} ". format (payload [4: length])), rssi) if wlan.isconnected (): global msgCount print ('Сүлжээ рүү илгээж байна …')) 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 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 "форматтай (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 данс руугаа нэвтэрч, өөрийн үүсгэсэн суваг дээр дарж байршуулсан температур, чийгшлийн мэдээллийг харах боломжтой.
Field1 график ба field2 графикууд нь Лора 0 зангилааны чийгшил ба температурын өгөгдөл, field3 график ба field4 график нь 1 Лора зангилааны чийгшил ба температурын өгөгдөл юм.
Зөвлөмж болгож буй:
MicroPython ESP32: 5 алхам дээр суурилсан MQTT
MicroPython ESP32 дээр суурилсан MQTT: Би гэрийн тэжээвэр муур тэжээх дуртай. Өдөржингөө эрчимтэй ажилласны дараа гэртээ ирэхэд муур намайг тайвшруулж чадна. Хэцүү бэлтгэл хийсний дараа энэ муур " зоогийн газар " өдөр бүр. Гэхдээ саяхан би хэд хоног аялж
Raspberry Pi эсвэл бусад Linux / unix дээр суурилсан компьютер дээр дэлгэцгүй / дэлгэцгүй (толгойгүй) ажиллуулах: 6 алхам
Raspberry Pi эсвэл бусад Linux / unix дээр суурилсан компьютер дээр дэлгэцгүй / дэлгэцгүй (толгойгүй) ажиллуулах: Ихэнх хүмүүс Raspberry PI худалдаж авахдаа компьютерийн дэлгэц хэрэгтэй гэж боддог. Компьютерийн шаардлагагүй дэлгэц, гар дээр мөнгөө бүү үр. Компьютер хооронд гар, дэлгэц шилжүүлэхэд цагаа дэмий үрэх хэрэггүй. Үгүй бол ТВ битгий уя
Arduino дээр суурилсан контактгүй хэт улаан туяаны термометр - Arduino ашиглан IR суурилсан термометр: 4 алхам
Arduino дээр суурилсан контактгүй хэт улаан туяаны термометр | Arduino ашиглан IR суурилсан термометр: Сайн байна уу залуусаа энэ зааварчилгаанд бид arduino ашиглан контактгүй термометр хийх болно. Заримдаа шингэн/хатуу бодисын температур хэт өндөр эсвэл бага байдаг тул түүнтэй холбоо тогтооход хэцүү байдаг. тэр үед температур
WEMOS D1 (ESP-8266EX) дээр суурилсан MicroPython IoT Rover: 7 алхам (зурагтай)
MicroPython IoT Rover нь WEMOS D1 (ESP-8266EX) дээр үндэслэсэн: ** Шинэчлэлт: Би v2-ийн шинэ видеог ланстай хамт тавьлаа ** Би бага насны хүүхдүүдэд зориулсан роботын семинар зохион байгуулж, сонирхолтой төслүүдийг бий болгох эдийн засгийн платформыг үргэлж хайж байдаг. Arduino -ийн клонууд хямд боловч C/C ++ хэлийг ашигладаг бөгөөд энэ нь хүүхдүүдэд байдаггүй
ESP8266 дээр суурилсан Sonoff ухаалаг унтраалга дээр MicroPython програмыг хэрхэн яаж гэрэлтүүлэх вэ: 3 алхам (зурагтай)
ESP8266 дээр суурилсан Sonoff ухаалаг шилжүүлэгч дээр MicroPython Firmware -ийг хэрхэн яаж гэрэлтүүлэх вэ? Sonoff нь ITEAD -ийн боловсруулсан Smart Home -ийн төхөөрөмжийн шугам юм. Энэ шугамын хамгийн уян хатан, хямд төхөөрөмжүүдийн нэг бол Sonoff Basic ба Sonoff Dual юм. Эдгээр нь ESP8266 агуу чип дээр суурилсан Wi-Fi идэвхжүүлсэн унтраалга юм. Хэзээ