جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
هذا مثال على مشروع LoRa الجميل. تحتوي محطة الطقس على مستشعر درجة الحرارة ومستشعر ضغط الهواء ومستشعر الرطوبة. تتم قراءة البيانات وإرسالها إلى Cayenne Mydevices و Weather Underground باستخدام LoRa و The Things Network.
تحقق مما إذا كان هناك LoRa Gateway لشبكة الأشياء في منطقتك!
الخطوة 1: الأجهزة
بالنسبة لهذا المشروع ، استخدمت الأجهزة التالية:
- Arduino Pro Mini 328 - 3.3 فولت / 8 ميجاهرتز (https://www.sparkfun.com/products/11114)
- RFM95W (https://www.hoperf.com/rf_transceiver/lora/RFM95W.html) (https://www.aliexpress.com/item/RFM95W-20dBm-100mW-868Mhz-915Mhz-DSSS-spread-spectrum-wireless -جهاز الإرسال والاستقبال-وحدة- SPI-SMD / 32799536710.html)
- DHT22 (https://www.aliexpress.com/item/High-Precision-AM2302-DHT22-Digital-Temperature-Humidity-Sensor-Module-For-arduino-Uno-R3/32759158558.html)
- BME280 (https://www.aliexpress.com/item/I2C-SPI-BMP280-3-3-BMP280-3-3-Digital-Barometric-Pressure-Altitude-Sensor-High-Precision-Atmospheric/32775855945.html)
إجمالي التكاليف أقل من 10 دولارات.
الخطوة 2: الأسلاك
من الحكمة اختبار المستشعرات أولاً على لوح التجارب. لذلك يمكنك التأكد من عمل المستشعرات. يمكنك أيضًا قياس استهلاك الطاقة باستخدام مقياس متعدد. (استخدم lib منخفض الطاقة لقياس الحد الأدنى)
قم أولاً بتوصيل أسلاك اللحام بوحدة RFM95W ثم لحامها في Arduino Pro Mini. ثم أضف المستشعرات. عرض الصور والرسم البياني!
الخطوة 3: الغلاف
لوضع محطة الطقس في مكان ما ، قمت برسم حالة وطباعتها باستخدام الطابعة ثلاثية الأبعاد.
يمكن العثور على النماذج على Thingiverse. بالطبع يمكنك بالطبع صنع البديل الخاص بك.
الخطوة 4: البرنامج
يمكن العثور على الكود الذي استخدمته على GitHub:
لقد استخدمت Atom مع PlatformIO لتحقيق هذا المشروع ، لذلك هذا مشروع PlatformIO. لقد استخدمت المكتبات التالية:
- LoraMAC-in-C لـ Arduino شكرًا لتوماس Telkamp و Matthijs Kooijman (https://github.com/matthijskooijman/arduino-lmic)
- CayenneLPP لمكتبة أردوينو شبكة الأشياء (https://github.com/TheThingsNetwork/arduino-device-lib)
- مكتبة Adafruit DHT للرطوبة ومستشعر درجة الحرارة الموحدة (https://github.com/adafruit/DHT-sensor-library)
- منخفضة الطاقة: مكتبة طاقة منخفضة وخفيفة الوزن لـ Arduino (https://github.com/adafruit/DHT-sensor-library)
الخطوة 5: Cayenne MyDevices
يمكنك دمج تطبيقك في The Things Network مع Cayenne myDevices
لإضافة التكامل:
- انتقل إلى وحدة التحكم في التطبيق على موقع شبكة The Things Network ؛
- حدد عمليات الدمج من القائمة العلوية اليمنى ؛
- حدد كايين ؛
- اتبع التعليمات
الخطوة 6: الطقس تحت الأرض
لإرسال البيانات إلى Weather underground ، قم بإنشاء تكامل HTTP. سيتم إرسال البيانات إلى عنوان URL مع POST أو GET. يقوم البرنامج النصي التالي بالتقاط البيانات وإرسالها إلى Weather Underground. سجّل محطة الطقس الشخصية الخاصة بك على
<؟ php
؟ صدى الوقت php ()؛
file_put_contents ('json / post'.time ().'. json '، file_get_contents (' php: // input ')) ؛
$ json = file_get_contents ('php: // input') ؛ البيانات $ = json_decode ($ json) ؛
// خذ البيانات من json
$ temperature_1 = $ data-> payload_fields-> temperature_1 ؛ $ barometric_pressure_2 = $ data-> payload_fields-> barometric_pressure_2؛ $ النسبي_الرطوبة_3 = البيانات $-> حقول_حمولة-> نسبة الرطوبة_النسبية_3؛
// tempc إلى tempf
درجة الحرارة $ = (درجة الحرارة $_1 * 9/5) + 32 ؛
// الضغط
الضغط بالدولار = barometric_pressure_2 / 33.863886666667 دولار ؛
if (isset ($ pressure) &&! blank ($ pressure) && isset ($ tempf) &&! blank ($ tempf) && isset ($ appropriate_humidity_3) &&! blank ($ dynamic_humidity_3)) {file_get_contents ("https:// rtupdate.wunderground.com / weatherstation / updateweatherstation.php؟ ID = XXXXXXX & PASSWORD = XXXXXXXX & dateutc = now & tempf = ". $ tempf." & humidity = ". $ dynamic_humidity_3." & baromin = ". $ pressure)؛
}
?>
?>
الخطوة 7: استمتع بمحطة الطقس الخاصة بك
استمتع بمحطة الطقس الخاصة بك
في Cayenne myDevices ، يمكنك مشاركة لوحة تحكم المشروع. شاركنا في التعليقات!
هذا لي: