สารบัญ:

Internet of Things: สถานีตรวจอากาศ LoRa: 7 ขั้นตอน (พร้อมรูปภาพ)
Internet of Things: สถานีตรวจอากาศ LoRa: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Internet of Things: สถานีตรวจอากาศ LoRa: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Internet of Things: สถานีตรวจอากาศ LoRa: 7 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: ทดสอบสถานีตรวจวัดสภาพอากาศ smart farm iot เพิ่มการผลิตให้มีความแม่นยำและประสิทธิภาพสูงสุด #Davin 2024, พฤศจิกายน
Anonim
Internet of Things: สถานีตรวจอากาศ LoRa
Internet of Things: สถานีตรวจอากาศ LoRa
Internet of Things: สถานีตรวจอากาศ LoRa
Internet of Things: สถานีตรวจอากาศ LoRa
Internet of Things: สถานีตรวจอากาศ LoRa
Internet of Things: สถานีตรวจอากาศ LoRa

นี่เป็นตัวอย่างโครงการ 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

Cayenne MyDevices
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 คุณสามารถแชร์แดชบอร์ดโครงการได้ แบ่งปันของคุณในความคิดเห็น!

นี่คือของฉัน:

แนะนำ: