İçindekiler:

Nesnelerin İnterneti: LoRa Hava İstasyonu: 7 Adım (Resimlerle)
Nesnelerin İnterneti: LoRa Hava İstasyonu: 7 Adım (Resimlerle)

Video: Nesnelerin İnterneti: LoRa Hava İstasyonu: 7 Adım (Resimlerle)

Video: Nesnelerin İnterneti: LoRa Hava İstasyonu: 7 Adım (Resimlerle)
Video: Nesnelerin İnterneti - Panel: Üretim Nasıl Değişecek? 2024, Temmuz
Anonim
Nesnelerin İnterneti: LoRa Hava İstasyonu
Nesnelerin İnterneti: LoRa Hava İstasyonu
Nesnelerin İnterneti: LoRa Hava İstasyonu
Nesnelerin İnterneti: LoRa Hava İstasyonu
Nesnelerin İnterneti: LoRa Hava İstasyonu
Nesnelerin İnterneti: LoRa Hava İstasyonu

Bu güzel bir LoRa projesinin bir örneğidir. Hava durumu istasyonu bir sıcaklık sensörü, hava basıncı sensörü ve nem sensörü içerir. Veriler okunur ve LoRa ve The Things Network kullanılarak Cayenne Mydevices ve Weather Underground'a gönderilir.

Bölgenizde The Things Network'ün LoRa Gateway olup olmadığını kontrol edin!

Adım 1: Donanım

Donanım
Donanım
Donanım
Donanım
Donanım
Donanım
Donanım
Donanım

Bu proje için aşağıdaki donanımı kullandım:

  • 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 -alıcı-verici modülü-SPI-SMD/32799536710.html)
  • DHT22 (https://www.aliexpress.com/item/High-Precision-AM2302-DHT22-Digital-Temperature-Nem-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)

Toplam maliyet 10 dolardan az.

Adım 2: Kablolama

Kablolama
Kablolama
Kablolama
Kablolama
Kablolama
Kablolama

Sensörleri önce bir breadboard üzerinde test etmek akıllıca olacaktır. Böylece sensörlerin çalıştığından emin olabilirsiniz. Güç tüketimini bir multimetre ile de ölçebilirsiniz. (Minimum değeri ölçmek için Düşük Güç kitaplığını kullanın)

Önce kabloları RFM95W modülüne lehimleyin ve ardından bunları Arduino Pro Mini'ye lehimleyin. Ardından sensörleri ekleyin. Görüntüleri ve diyagramı görüntüleyin!

Adım 3: Muhafaza

kasa
kasa
kasa
kasa
kasa
kasa
kasa
kasa

Meteoroloji istasyonunu bir yere yerleştirmek için bir kasa çizdim ve 3d yazıcı ile yazdırdım.

Modeller Thingiverse'de bulunabilir. Elbette kendi varyantınızı yapabilirsiniz.

4. Adım: Yazılım

Yazılım
Yazılım

Kullandığım kod GitHub'da bulunabilir:

Bu projeyi gerçekleştirmek için Atom'u PlatformIO ile kullandım, bu yüzden bu bir PlatformIO projesi. Aşağıdaki kütüphaneleri kullandım:

  • Arduino için LoraMAC-in-C, Thomas Telkamp ve Matthijs Kooijman'a teşekkürler (https://github.com/matthijskooijman/arduino-lmic)
  • The Things Network Arduino Kütüphanesinin CayenneLPP'si (https://github.com/TheThingsNetwork/arduino-device-lib)
  • Adafruit DHT Nem ve Sıcaklık Birleşik Sensör Kütüphanesi (https://github.com/adafruit/DHT-sensor-library)
  • Düşük Güç: Arduino için hafif, düşük güçlü kitaplık (https://github.com/adafruit/DHT-sensor-library)

Adım 5: Cayenne MyDevices

Cayenne Cihazlarım
Cayenne Cihazlarım

Uygulamanızı The Things Network'e Cayenne myDevices ile entegre edebilirsiniz.

Entegrasyon eklemek için:

  • The Things Network web sitesindeki uygulama konsoluna gidin;
  • Sağ üst menüden entegrasyonları seçin;
  • Cayenne'i seçin;
  • Talimatları takip et

Adım 6: Hava Yeraltı

Hava Yeraltı
Hava Yeraltı

Weather Underground'a veri göndermek için bir HTTP entegrasyonu oluşturun. Veriler, bir POST veya GET ile URL'ye gönderilecektir. Aşağıdaki komut dosyası verileri yakalar ve Weather Underground'a gönderir. Kendi Kişisel Hava İstasyonunuzu https://www.wunderground.com/personal-weather-station/signup adresinde kaydedin

<?php

?php yankı zamanı();

file_put_contents('json/post'.time().'.json', file_get_contents('php://input'));

$json = file_get_contents('php://input'); $veri = json_decode($json);

// verileri json'dan çıkar

$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'den tempf'e

$tempf = ($sıcaklık_1 * 9/5) + 32;

// baskı yapmak

$basınç = $barometrik_basınç_2/33.863886666667;

if(isset($basınç) && !empty($basınç) && 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=". $basınç);

}

?>

?>

7. Adım: Hava İstasyonunuzun Keyfini Çıkarın

Hava İstasyonunuzun Keyfini Çıkarın
Hava İstasyonunuzun Keyfini Çıkarın
Hava İstasyonunuzun Keyfini Çıkarın
Hava İstasyonunuzun Keyfini Çıkarın

Hava İstasyonunuzun Keyfini Çıkarın

Cayenne myDevices'ta bir proje Panosunu paylaşabilirsiniz. Sizinkini yorumlarda paylaşın!

Bu benim:

Önerilen: