جدول المحتويات:
- الخطوة 1: المستلزمات
- الخطوة 2: عقدة لورا
- الخطوة 3: توصيل العقدة والمستشعر
- الخطوة 4: إرسال البيانات إلى البوابة
- الخطوة 5: MakePython Lora
- الخطوة 6: بوابة LoRaWAN
- الخطوة 7: تنزيل الكود
- الخطوة 8: استلام البيانات
- الخطوة 9: استخدم ThingSpeak IoT
- الخطوة 10: النتيجة
فيديو: بوابة لورا على أساس MicroPython ESP32: 10 خطوات (بالصور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:37
كانت لورا تحظى بشعبية كبيرة في السنوات الأخيرة. عادةً ما تكون وحدة الاتصالات اللاسلكية التي تستخدم هذه التقنية رخيصة (باستخدام الطيف الحر) ، وصغيرة الحجم ، وموفرة للطاقة ولديها مسافة اتصال طويلة ، وتستخدم بشكل أساسي للتواصل المتبادل بين محطات إنترنت الأشياء أو تبادل البيانات مع مضيف. هناك العديد من وحدات 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. يمكن أن يكون مشروعًا حقيقيًا لمشاريع إنترنت الأشياء (خاصة التطبيقات طويلة المدى منخفضة الطاقة)
2 * دهت 11
1 * مكياج بايثون لورا
الخطوة 2: عقدة لورا
هذا هو التخطيطي لراديو مادوينو لورا.
وحدة راديو Arduino Lora كعقدة LoRa ، نستخدمها لإرسال بيانات درجة الحرارة والرطوبة إلى البوابة.
(يقدم WiKi هذا كيفية استخدام راديو Maduino Lora وإرسال واستقبال البيانات)
الخطوة 3: توصيل العقدة والمستشعر
يتم توصيل VCC و GND لـ DHT11 بـ 3V3 و GND من Maduino ، ودبوس البيانات متصل بـ D4 من Maduino.
العقدة 0 موجودة في المنتزه ، والعقدة 1 في مبنى المكاتب بالقرب من الشركة ، وتفصل بينهما حوالي 2 كيلومتر ، وبعد ذلك أحصل على بيانات درجة الحرارة والرطوبة في المنزل
الخطوة 4: إرسال البيانات إلى البوابة
قم بتنزيل TransmitterDHT11.ino وافتحه على Arduino IDE.
عند إضافة عقدة ، قم بتعديل رقم العقدة وفقًا لذلك. على سبيل المثال ، استخدم الآن عقدتين ، العقدة الأولى لتعديل nodenum = 0 لتشغيل البرنامج ، والعقدة الثانية لتعديل nodenum = 1 لتشغيل البرنامج ، وهكذا ، يمكنك إضافة المزيد من العقدة.
int16_t packetnum = 0 ؛ // عداد الحزم ، نقوم بزيادة كل xmission
int16_t nodenum = 0 ؛ // تعديل رقم العقدة
اجمع البيانات واطبعها
رسالة السلسلة = "#" + (سلسلة) nodenum + "الرطوبة:" + (سلسلة) الرطوبة + "٪ درجة الحرارة:" + (سلسلة) درجة الحرارة + "C" + "num:" + (سلسلة) 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.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 الخاص بك من الاتصال بالشبكة وتحميل البيانات إلى الخادم.
قم بتعديل API_KEY الذي حصلت عليه في ThingSpeak (سأقدم لك كيفية الحصول عليه لاحقًا)
#https://thingspeak.com/channels/1047479
API_KEY = "UBHIRHVV9THUJVUI"
قم بتعديل SSID و PSW لتوصيل WiFi
ssid = "Makerfabs"
pswd = "20160704"
الخطوة 8: استلام البيانات
ابحث عن وظيفة on_receive (lora، payload) في ملف LoRaDuplexCallback.py ، حيث يمكنك إخبار ESP32 بما يجب فعله بعد استلام البيانات. يوزع الكود التالي ويعرض بيانات درجة الحرارة والرطوبة المستلمة.
def on_receive (لورا ، الحمولة):
lora.blink_led () rssi = lora.packetRssi () حاول: length = len (الحمولة) -1 myStr = str ((الحمولة [4: length])، 'utf-8') length1 = myStr.find (':') myNum1 = myStr [(length1 + 1):(length1 + 6)] myNum2 = myStr [(length1 + 20):(length1 + 25)] print ("*** الرسالة المستلمة *** / n {}". format (الحمولة)) if config_lora. IS_LORA_OLED: lora.show_packet (("{}". format (payload [4: length]))، rssi) if wlan.isconnected (): global msgCount print ('Sending to network …') node = int (str (payload [5: 6]، 'utf-8')) إذا كانت العقدة == 0: URL = "https://api.thingspeak.com/update؟api_key=" + API_KEY + "& field1 = "+ myNum1 +" & field2 = "+ myNum2 res = urequests.get (URL) print (res.text) عقدة elif == 1: URL =" https://api.thingspeak.com/update؟api_key= "+ API_KEY +" & field3 = "+ myNum1 +" & field4 = "+ myNum2 res = urequests.get (URL) print (res.text) باستثناء استثناء مثل e: print (e) print (" with RSSI {} n ".format (rssi))
بالحكم على الرقم لتمييز العقد ، وتحميل البيانات على الإنترنت من خلال عنوان URL ، يمكننا مراقبة البيانات البعيدة للعقد المختلفة في أي وقت. يمكنك إضافة المزيد من العقد وإجراء تغييرات مماثلة على الرمز.
إذا كانت العقدة == 0:
URL = "https://api.thingspeak.com/update؟api_key=" + API_KEY + "& field1 =" + myNum1 + "& field2 =" + myNum2 res = urequests.get (URL) print (res.text)
الخطوة 9: استخدم ThingSpeak IoT
خطوات:
- قم بتسجيل حساب في https://thingspeak.com/. إذا كان لديك بالفعل واحد ، قم بتسجيل الدخول مباشرة.
- انقر فوق New Channel لإنشاء قناة ThingSpeak جديدة.
- اسم الإدخال ، الوصف ، حدد الحقل 1. ثم احفظ القناة في الأسفل.
- انقر فوق خيار API Keys ، وانسخ مفتاح API ، وسنستخدمه في البرنامج.
الخطوة 10: النتيجة
يمكنك رؤية بيانات العقدة 0 والعقدة 1 على الشاشة ، على الرغم من أن المسافة بينهما 2 كيلومتر.
قم بتسجيل الدخول إلى حساب ThingSpeak الخاص بك وانقر فوق القناة التي قمت بإنشائها ، يمكنك رؤية بيانات درجة الحرارة والرطوبة التي تم تحميلها.
يمثل الرسم البياني للحقل 1 والرسوم البيانية الميدانية 2 بيانات الرطوبة ودرجة الحرارة لعقدة لورا 0 ، والرسم البياني للحقل 3 والرسم البياني للحقل 4 هما بيانات الرطوبة ودرجة الحرارة لعقدة لورا 1.
موصى به:
بوابة لورا (Dragino LG01-P): 6 خطوات
Lora Gateway (Dragino LG01-P): LoRa es una red LPWAN، por sus siglas en inglés (LOW POWER WIDE WIDE NETWORK). Es una red de largo alcance y bajo Consumo de energía، perfect para dispitivos IoT. Entre las aplicaciones más comunes se encuentran؛ Ciudades inteligentes ، الزراعة
باب حظيرة الدجاج - على أساس الأردوينو: 5 خطوات (بالصور)
باب حظيرة الدجاج - مقره في Arduino: أولاً وقبل كل شيء ، لغتي الأم هي الهولندية ، لذا أعتذر عن الأخطاء الإملائية المحتملة. إذا لم يكن هناك شيء واضح ، اترك رسالة فقط في التعليقات ، هذا هو أول مشروع لي في اردوينو. نظرًا لأن زوجتي سئمت من فتح باب الحظيرة يدويًا كل يوم aga
مزيل الرطوبة Apple HomeKit Wi-Fi على أساس ESP8266؟: 6 خطوات (بالصور)
Apple HomeKit Wi-Fi Dehumidifier استنادًا إلى ESP8266؟: لسوء الحظ ، لا يوجد سوى واحد أو اثنين من أجهزة إزالة الرطوبة التي تدعم Apple HomeKit ، ولكن هذه الأسعار مرتفعة بالفعل (300 دولار +). لذلك قررت أن أجعل جهاز Apple HomeKit لإزالة الرطوبة قادرًا على Wi-Fi على أساس جهاز رخيص لدي بالفعل؟ أنا
محطة الرياح لركوب الأمواج على أساس MQTT و AWS: 3 خطوات (بالصور)
محطة الرياح لركوب الأمواج على أساس MQTT و AWS: في Shenzhen ، يوجد العديد من الشواطئ الجميلة. في أيام الصيف ، الرياضة المفضلة لدي هي الإبحار. بالنسبة لرياضة الإبحار ، ما زلت مبتدئًا ، أحب شعور مياه البحر التي تلامس وجهي ، وأكثر من ذلك ، حصلت على العديد من الأصدقاء الجدد لهذه الرياضة ، لكن
قطاع الطاقة الذكي على أساس Beaglebone Black و OpenHAB: 7 خطوات (بالصور)
قطاع الطاقة الذكي على أساس Beaglebone Black و OpenHAB: !!!!! يعد اللعب بالتيار الكهربائي (110/220 فولت) أمرًا خطيرًا ، لذا يرجى توخي الحذر الشديد !!!!! واثنين من Arduinos ، والذي يظهر في الصورة & quot؛ التصميم القديم & quot؛. هذا التصميم الجديد