Innehållsförteckning:

Internet of Things: LoRa Weather Station: 7 steg (med bilder)
Internet of Things: LoRa Weather Station: 7 steg (med bilder)

Video: Internet of Things: LoRa Weather Station: 7 steg (med bilder)

Video: Internet of Things: LoRa Weather Station: 7 steg (med bilder)
Video: How to make an IoT based weather monitoring system using Nodemcu and Thingspeak | ESP8266 project 2024, Juli
Anonim
Sakernas internet: LoRa väderstation
Sakernas internet: LoRa väderstation
Sakernas internet: LoRa väderstation
Sakernas internet: LoRa väderstation
Sakernas internet: LoRa väderstation
Sakernas internet: LoRa väderstation

Detta är ett exempel på ett trevligt LoRa -projekt. Väderstationen innehåller en temperatursensor, lufttryckssensor och fuktsensor. Data läses upp och skickas till Cayenne Mydevices and Weather Underground med LoRa och The Things Network.

Kontrollera om det finns LoRa Gateway till The Things Network i ditt område!

Steg 1: Hårdvaran

Hårdvaran
Hårdvaran
Hårdvaran
Hårdvaran
Hårdvaran
Hårdvaran
Hårdvaran
Hårdvaran

För detta projekt använde jag följande hårdvara:

  • 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-trådlöst -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)

Totala kostnader mindre än 10 dollar.

Steg 2: Ledningen

Ledningarna
Ledningarna
Ledningarna
Ledningarna
Ledningarna
Ledningarna

Det är klokt att först testa sensorerna på en brödbräda. Så du kan vara säker på att sensorerna fungerar. Du kan också mäta strömförbrukningen med en multimeter. (Använd Low-Power lib för att mäta minimum)

Löd först trådarna till RFM95W -modulen och sedan löd dem till Arduino Pro Mini. Lägg sedan till sensorerna. Se bilderna och diagrammet!

Steg 3: Höljet

Höljet
Höljet
Höljet
Höljet
Höljet
Höljet
Höljet
Höljet

För att placera väderstationen någonstans ritade jag ett fodral och skrev ut det med 3d -skrivaren.

Modellerna finns på Thingiverse. Naturligtvis kan du naturligtvis göra din egen variant.

Steg 4: Programvaran

Mjukvaran
Mjukvaran

Koden jag har använt finns på GitHub:

Jag använde Atom med PlatformIO för att förverkliga detta projekt, så det här är ett PlatformIO -projekt. Jag använde följande biblioteker:

  • LoraMAC-in-C för Arduino tack till Thomas Telkamp och Matthijs Kooijman (https://github.com/matthijskooijman/arduino-lmic)
  • CayenneLPP of The Things Network Arduino Library (https://github.com/TheThingsNetwork/arduino-device-lib)
  • Adafruit DHT Luftfuktighet och temperatur Unified Sensor Library (https://github.com/adafruit/DHT-sensor-library)
  • Låg effekt: Lätt lågeffektsbibliotek för Arduino (https://github.com/adafruit/DHT-sensor-library)

Steg 5: Cayenne MyDevices

Cayenne MyDevices
Cayenne MyDevices

Du kan integrera din ansökan i The Things Network med Cayenne myDevices

För att lägga till integrationen:

  • Gå till applikationskonsolen på The Things Network webbplats;
  • Välj integrationer från menyn högst upp till höger;
  • Välj Cayenne;
  • Följ instruktionerna

Steg 6: Weather Underground

Underjordiskt väder
Underjordiskt väder

Skapa en HTTP -integration för att skicka data till Weather underground. Data kommer att skickas till webbadressen med en POST eller en GET. Följande skript fångar upp data och skickar dem till Weather Underground. Registrera din egen personliga väderstation på

<? php

? php ekotid ();

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

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

// ta ut data från json

$ temperature_1 = $ data-> nyttolast_fält-> temperatur_1; $ barometric_pressure_2 = $ data-> payload_fields-> barometric_pressure_2; $ relative_humidity_3 = $ data-> payload_fields-> relative_humidity_3;

// tempc till tempf

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

// tryck

$ tryck = $ 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 = nu & tempf = ". $ tempf." & fukt = ". $ relativ_humiditet_3." & baromin = ". $ tryck);

}

?>

?>

Steg 7: Njut av din väderstation

Njut av din väderstation
Njut av din väderstation
Njut av din väderstation
Njut av din väderstation

Njut av din väderstation

I Cayenne myDevices kan du dela ett projekt Dashboard. Dela din i kommentarerna!

Det här är mitt:

Rekommenderad: