สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
นี่เป็นตัวอย่างโครงการ LoRa ที่ดี สถานีตรวจอากาศประกอบด้วยเซ็นเซอร์อุณหภูมิ เซ็นเซอร์ความดันอากาศ และเซ็นเซอร์ความชื้น ข้อมูลจะถูกอ่านและส่งไปยัง Cayenne Mydevices และ Weather Underground โดยใช้ LoRa และ The Things Network
ตรวจสอบว่ามี LoRa Gateway ของ The Things Network อยู่ในพื้นที่ของคุณหรือไม่!
ขั้นตอนที่ 1: ฮาร์ดแวร์
สำหรับโครงการนี้ ฉันใช้ฮาร์ดแวร์ต่อไปนี้:
- Arduino Pro Mini 328 - 3.3V/8MHz (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 -transceiver-module-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: การเดินสายไฟ
ควรทำการทดสอบเซ็นเซอร์บนเขียงหั่นขนมก่อน คุณจึงมั่นใจได้ว่าเซ็นเซอร์ทำงาน คุณยังสามารถวัดการใช้พลังงานด้วยมัลติมิเตอร์ (ใช้ Low-Power lib เพื่อวัดค่าต่ำสุด)
ขั้นแรกให้บัดกรีสายไฟเข้ากับโมดูล RFM95W จากนั้นประสานเข้ากับ Arduino Pro Mini จากนั้นเพิ่มเซ็นเซอร์ ดูภาพและแผนภาพ!
ขั้นตอนที่ 3: ปลอก
ในการวางสถานีตรวจอากาศไว้ที่ใดที่หนึ่ง ฉันวาดเคสและพิมพ์ด้วยเครื่องพิมพ์ 3 มิติ
โมเดลต่างๆ สามารถพบได้ใน Thingiverse แน่นอนคุณสามารถสร้างตัวแปรของคุณเองได้
ขั้นตอนที่ 4: ซอฟต์แวร์
รหัสที่ฉันใช้สามารถพบได้ใน GitHub:
ฉันใช้ Atom กับ PlatformIO เพื่อสร้างโปรเจ็กต์นี้ ดังนั้นนี่คือโปรเจ็กต์ PlatformIO ฉันใช้ไลบรารีต่อไปนี้:
- LoraMAC-in-C สำหรับ Arduino ขอบคุณ Thomas Telkamp และ Matthijs Kooijman (https://github.com/matthijskooijman/arduino-lmic)
- CayenneLPP ของ The Things Network Arduino Library (https://github.com/TheThingsNetwork/arduino-device-lib)
- Adafruit DHT ความชื้นและอุณหภูมิ Unified Sensor Library (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 ลงทะเบียน Personal Weather Station ของคุณเองที่
<?php
?php เวลาสะท้อน ();
file_put_contents('json/post'.time().'.json', file_get_contents('php://input'));
$json = file_get_contents('php://input'); $data = json_decode($json);
// นำข้อมูลออกจาก json
$temperature_1 = $data->payload_fields->temperature_1; $barometric_pressure_2 = $data->payload_fields->barometric_pressure_2; $relative_humidity_3 = $data->payload_fields->relative_humidity_3;
// tempc ถึง tempf
$tempf = ($temperature_1 * 9/5) + 32;
// ความดัน
$ความดัน = $barometric_pressure_2/33.863886666667;
if(isset($pressure) && !empty($pressure) && isset($tempf) && !empty($tempf) && isset($relative_humidity_3) && !empty($relative_humidity_3)){ file_get_contents("https://rtupdate.wunderground.com/weatherstation/updateweatherstation.php?ID=XXXXXXX&PASSWORD=XXXXXXXX&dateutc=now&tempf=". $tempf. "&humidity=". $relative_humidity_3. "&baromin=". $pressure);
}
?>
?>
ขั้นตอนที่ 7: เพลิดเพลินกับสถานีตรวจอากาศของคุณ
เพลิดเพลินไปกับสถานีตรวจอากาศของคุณ
ใน Cayenne myDevices คุณสามารถแชร์แดชบอร์ดโครงการได้ แบ่งปันของคุณในความคิดเห็น!
นี่คือของฉัน: