Spisu treści:

Internet rzeczy: Stacja pogodowa LoRa: 7 kroków (ze zdjęciami)
Internet rzeczy: Stacja pogodowa LoRa: 7 kroków (ze zdjęciami)

Wideo: Internet rzeczy: Stacja pogodowa LoRa: 7 kroków (ze zdjęciami)

Wideo: Internet rzeczy: Stacja pogodowa LoRa: 7 kroków (ze zdjęciami)
Wideo: Outfity za ponad 200.000zł! 2024, Listopad
Anonim
Internet rzeczy: stacja pogodowa LoRa
Internet rzeczy: stacja pogodowa LoRa
Internet rzeczy: stacja pogodowa LoRa
Internet rzeczy: stacja pogodowa LoRa
Internet rzeczy: stacja pogodowa LoRa
Internet rzeczy: stacja pogodowa LoRa

To jest przykład ładnego projektu LoRa. Stacja pogodowa zawiera czujnik temperatury, czujnik ciśnienia powietrza i czujnik wilgotności. Dane są odczytywane i wysyłane do Cayenne Mydevices i Weather Underground za pomocą LoRa i The Things Network.

Sprawdź, czy w Twojej okolicy znajduje się LoRa Gateway of the Things Network!

Krok 1: Sprzęt

Sprzęt
Sprzęt
Sprzęt
Sprzęt
Sprzęt
Sprzęt
Sprzęt
Sprzęt

Do tego projektu użyłem następującego sprzętu:

  • 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 -moduł-nadawczo-odbiorczy-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)

Razem kosztuje mniej niż 10 dolarów.

Krok 2: Okablowanie

Okablowanie
Okablowanie
Okablowanie
Okablowanie
Okablowanie
Okablowanie

Dobrze jest najpierw przetestować czujniki na płytce stykowej. Możesz więc mieć pewność, że czujniki działają. Możesz również zmierzyć pobór mocy za pomocą multimetru. (Użyj biblioteki Low-Power, aby zmierzyć minimum)

Najpierw przylutuj przewody do modułu RFM95W, a następnie do Arduino Pro Mini. Następnie dodaj czujniki. Zobacz zdjęcia i schemat!

Krok 3: Obudowa

Obudowa
Obudowa
Obudowa
Obudowa
Obudowa
Obudowa
Obudowa
Obudowa

Aby gdzieś umieścić stację pogodową, narysowałem obudowę i wydrukowałem ją drukarką 3d.

Modele można znaleźć na Thingiverse. Oczywiście możesz oczywiście stworzyć swój własny wariant.

Krok 4: Oprogramowanie

Oprogramowanie
Oprogramowanie

Kod, którego użyłem można znaleźć na GitHub:

Do realizacji tego projektu użyłem Atoma z PlatformIO, więc jest to projekt PlatformIO. Korzystałem z następujących bibliotek:

  • LoraMAC-in-C dla Arduino dzięki Thomasowi Telkampowi i Matthijsowi Kooijmanowi (https://github.com/matthijskooijman/arduino-lmic)
  • CayenneLPP biblioteki Arduino The Things Network (https://github.com/TheThingsNetwork/arduino-device-lib)
  • Zunifikowana biblioteka czujników wilgotności i temperatury Adafruit DHT (https://github.com/adafruit/DHT-sensor-library)
  • Low-Power: Lekka biblioteka o niskim poborze mocy dla Arduino (https://github.com/adafruit/DHT-sensor-library)

Krok 5: Moje urządzenia Cayenne

Moje urządzenia Cayenne
Moje urządzenia Cayenne

Możesz zintegrować swoją aplikację w The Things Network z Cayenne myDevices

Aby dodać integrację:

  • Przejdź do konsoli aplikacji na stronie The Things Network;
  • Wybierz integracje z menu w prawym górnym rogu;
  • Wybierz Cayenne;
  • Postępuj zgodnie z instrukcją

Krok 6: Pogoda pod ziemią

Pogoda pod ziemią
Pogoda pod ziemią

Aby wysłać dane do Weather Underground, utwórz integrację HTTP. Dane zostaną przesłane na adres URL z POST lub GET. Poniższy skrypt przechwytuje dane i wysyła je do Weather Underground. Zarejestruj własną osobistą stację pogodową na

<?php

?php czas echa();

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

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

// wyjmij dane z json

$temperatura_1 = $dane->pola_ładunku->temperatura_1; $barometric_pressure_2 = $data->payload_fields->barometric_pressure_2; $względna_wilgotność_3 = $dane->payload_fields->względna_wilgotność_3;

// tempc do tempf

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

// nacisk

$ciśnienie = $barometryczne_ciśnienie_2/33.863886666667;

if(isset($ciśnienie) && !empty($ciśnienie) && 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=". $ciśnienie);

}

?>

?>

Krok 7: Ciesz się swoją stacją pogodową

Ciesz się swoją stacją pogodową
Ciesz się swoją stacją pogodową
Ciesz się swoją stacją pogodową
Ciesz się swoją stacją pogodową

Ciesz się swoją stacją pogodową

W Cayenne myDevices możesz udostępnić pulpit nawigacyjny projektu. Podziel się swoimi w komentarzach!

To jest moje:

Zalecana: