Mündəricat:

Əşyaların İnterneti: LoRa Hava İstasyonu: 7 addım (şəkillərlə)
Əşyaların İnterneti: LoRa Hava İstasyonu: 7 addım (şəkillərlə)

Video: Əşyaların İnterneti: LoRa Hava İstasyonu: 7 addım (şəkillərlə)

Video: Əşyaların İnterneti: LoRa Hava İstasyonu: 7 addım (şəkillərlə)
Video: Deutsch lernen mit Dialogen A2 2024, Noyabr
Anonim
Əşyaların İnterneti: LoRa Hava İstasyonu
Əşyaların İnterneti: LoRa Hava İstasyonu
Əşyaların İnterneti: LoRa Hava İstasyonu
Əşyaların İnterneti: LoRa Hava İstasyonu
Əşyaların İnterneti: LoRa Hava İstasyonu
Əşyaların İnterneti: LoRa Hava İstasyonu

Bu gözəl bir LoRa layihəsinə bir nümunədir. Hava stansiyasında bir temperatur sensoru, hava təzyiqi sensoru və rütubət sensoru var. Məlumatlar oxunur və LoRa və Things Network istifadə edərək Cayenne Mydevices və Weather Underground -a göndərilir.

Bölgənizdəki Şeylər Şəbəkəsinin LoRa Gatewayinin olub olmadığını yoxlayın!

Addım 1: Hardware

Avadanlıq
Avadanlıq
Avadanlıq
Avadanlıq
Avadanlıq
Avadanlıq
Avadanlıq
Avadanlıq

Bu layihə üçün aşağıdakı avadanlıqlardan istifadə etdim:

  • 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 -ötürücü-modul-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)

Ümumi dəyəri 10 dollardan azdır.

Addım 2: Kablolama

Kablolama
Kablolama
Kablolama
Kablolama
Kablolama
Kablolama

Sensorları əvvəlcə bir çörək taxtasında sınamaq ağıllıdır. Beləliklə, sensorların işlədiyinə əmin ola bilərsiniz. Güc istehlakını bir multimetre ilə də ölçə bilərsiniz. (Minimum ölçmək üçün Aşağı Güclü libdən istifadə edin)

Əvvəlcə telləri RFM95W moduluna, sonra Arduino Pro Mini -yə lehimləyin. Sonra sensorlar əlavə edin. Şəkillərə və diaqrama baxın!

Addım 3: Korpus

Qutusu
Qutusu
Qutusu
Qutusu
Qutusu
Qutusu
Qutusu
Qutusu

Hava stansiyasını bir yerə yerləşdirmək üçün bir qutu çəkdim və 3d printerlə çap etdim.

Modelləri Thingiverse -də tapa bilərsiniz. Əlbəttə ki, öz seçiminizi edə bilərsiniz.

Addım 4: Proqram təminatı

Proqram təminatı
Proqram təminatı

İstifadə etdiyim kodu GitHub -da tapa bilərsiniz:

Bu layihəni həyata keçirmək üçün PlatformIO ilə Atomdan istifadə etdim, buna görə də bu bir PlatformIO layihəsidir. Aşağıdakı kitabxanalardan istifadə etdim:

  • Thomas Telkamp və Matthijs Kooijman'a Arduino üçün LoraMAC-in-C (https://github.com/matthijskooijman/arduino-lmic)
  • The Things Network Arduino Kitabxanasının CayenneLPP (https://github.com/TheThingsNetwork/arduino-device-lib)
  • Adafruit DHT Nəmlik və İstilik Vahid Sensor Kitabxanası (https://github.com/adafruit/DHT-sensor-library)
  • Aşağı Güc: Arduino üçün yüngül az enerji kitabxanası (https://github.com/adafruit/DHT-sensor-library)

Addım 5: Cayenne MyDevices

Cayenne MyDevices
Cayenne MyDevices

Tətbiqinizi Cayenne myDevices ilə Şeylər Şəbəkəsinə birləşdirə bilərsiniz

İnteqrasiyanı əlavə etmək üçün:

  • Things Network veb saytındakı tətbiq konsoluna gedin;
  • Sağ üst menyudan inteqrasiyanı seçin;
  • Cayenne seçin;
  • Təlimatları izləyin

Addım 6: Hava Yeraltı

Hava Yeraltı
Hava Yeraltı

Məlumatları Weather Underground -a göndərmək üçün HTTP inteqrasiyası yaradın. Məlumat bir POST və ya GET ilə URL -ə göndəriləcək. Aşağıdakı skript məlumatları tutur və Hava Yeraltıya göndərir. Şəxsi Hava İstasyonunuzu https://www.wunderground.com/personal-weather-station/signup saytında qeyd edin

<? php

php echo time ();

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

$ json = file_get_contents ('php: // giriş'); $ data = json_decode ($ json);

// məlumatları json -dan çıxarın

$ temperatur_1 = $ data-> payload_fields-> temperatur_1; $ barometric_pressure_2 = $ data-> payload_fields-> barometric_pressure_2; $ relat_humidity_3 = $ data-> payload_fields-> nisbi_humidity_3;

// tempf - tempf

$ tempf = ($ temperatur_1 * 9/5) + 32;

// təzyiq

$ təzyiq = $ barometric_pressure_2/33.863886666667;

if (isset ($ təzyiq) &&! boş ($ təzyiq) && isset ($ tempf) &&! boş ($ tempf) && isset ($ nisbi_humidlik_3) &&! boş ($ nisbi_xumluq_3)) {file_get_contents ("https:// rtupdate.wunderground.com/weatherstation/updateweatherstation.php? ID = XXXXXXX & PASSWORD = XXXXXXXX & dateutc = now & tempf = ". $ tempf." & nem = ". $ relat_humidity_3." & baromin = ". $ təzyiq);

}

?>

?>

Addım 7: Hava İstasyonunuzdan zövq alın

Hava İstasyonunuzdan zövq alın
Hava İstasyonunuzdan zövq alın
Hava İstasyonunuzdan zövq alın
Hava İstasyonunuzdan zövq alın

Hava İstasyonunuzdan zövq alın

Cayenne myDevices -də bir layihə Panosunu paylaşa bilərsiniz. Fikirlərinizi şərhlərdə paylaşın!

Bu mənimdir:

Tövsiyə: