INHOUDSOPGAWE:

Internet of Things: LoRa Weerstasie: 7 stappe (met foto's)
Internet of Things: LoRa Weerstasie: 7 stappe (met foto's)

Video: Internet of Things: LoRa Weerstasie: 7 stappe (met foto's)

Video: Internet of Things: LoRa Weerstasie: 7 stappe (met foto's)
Video: How To Do Stable Diffusion LORA Training By Using Web UI On Different Models - Tested SD 1.5, SD 2.1 2024, Julie
Anonim
Internet of Things: LoRa Weerstasie
Internet of Things: LoRa Weerstasie
Internet of Things: LoRa Weerstasie
Internet of Things: LoRa Weerstasie
Internet of Things: LoRa Weerstasie
Internet of Things: LoRa Weerstasie

Dit is 'n voorbeeld van 'n lekker LoRa -projek. Die weerstasie bevat 'n temperatuursensor, lugdruksensor en humiditeitsensor. Die data word voorgelees en met behulp van LoRa en The Things Network na Cayenne Mydevices and Weather Underground gestuur.

Kyk of daar LoRa Gateway van die The Things Network in u omgewing is!

Stap 1: Die hardeware

Die hardeware
Die hardeware
Die hardeware
Die hardeware
Die hardeware
Die hardeware
Die hardeware
Die hardeware

Vir hierdie projek het ek die volgende hardeware gebruik:

  • 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-draadloos -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)

Totale koste minder as 10 dollar.

Stap 2: Die bedrading

Die bedrading
Die bedrading
Die bedrading
Die bedrading
Die bedrading
Die bedrading

Dit is verstandig om eers die sensors op 'n broodbord te toets. U kan dus seker wees dat die sensors werk. U kan ook die kragverbruik met 'n multimeter meet. (Gebruik die Low-Power lib om die minimum te meet)

Soldeer eers die drade van die RFM95W -module en soldeer dit dan aan die Arduino Pro Mini. Voeg dan die sensors by. Kyk na die beelde en die diagram!

Stap 3: Die omhulsel

Die omhulsel
Die omhulsel
Die omhulsel
Die omhulsel
Die omhulsel
Die omhulsel
Die omhulsel
Die omhulsel

Om die weerstasie êrens te plaas, het ek 'n kissie geteken en dit met die 3D -drukker gedruk.

Die modelle kan op Thingiverse gevind word. U kan natuurlik u eie variant maak.

Stap 4: Die sagteware

Die sagteware
Die sagteware

Die kode wat ek gebruik het, kan gevind word op GitHub:

Ek het Atom met PlatformIO gebruik om hierdie projek te realiseer, so dit is 'n PlatformIO -projek. Ek het die volgende biblioteke gebruik:

  • LoraMAC-in-C vir Arduino dankie aan Thomas Telkamp en Matthijs Kooijman (https://github.com/matthijskooijman/arduino-lmic)
  • CayenneLPP van The Things Network Arduino Library (https://github.com/TheThingsNetwork/arduino-device-lib)
  • Adafruit DHT Unified Sensor Library (humiditeit en temperatuur) (https://github.com/adafruit/DHT-sensor-library)
  • Lae krag: liggewig laekragbiblioteek vir Arduino (https://github.com/adafruit/DHT-sensor-library)

Stap 5: Cayenne MyDevices

Cayenne MyDevices
Cayenne MyDevices

U kan u toepassing in die dinge -netwerk integreer met Cayenne myDevices

Om die integrasie by te voeg:

  • Gaan na die toepassingskonsole op die webwerf van The Things Network;
  • Kies integrasies in die spyskaart regs bo;
  • Kies Cayenne;
  • Volg die instruksies

Stap 6: Weer ondergronds

Weer ondergronds
Weer ondergronds

Skep 'n HTTP -integrasie om data na Weather underground te stuur. Die data word met 'n POST of 'n GET na die URL gestuur. Die volgende skrif vang die data op en stuur dit na Weather Underground. Registreer u eie persoonlike weerstasie op

<? php

? php eggo tyd ();

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

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

// haal die data uit die json

$ temperatuur_1 = $ data-> laaiveldvelde-> temperatuur_1; $ barometric_pressure_2 = $ data-> payload_fields-> barometric_pressure_2; $ relative_humidity_3 = $ data-> payload_fields-> relative_humidity_3;

// tempc tot tempf

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

// druk

$ druk = $ barometriese_druk_2/33.863886666667;

if (isset ($ druk) &&! leeg ($ druk) && isset ($ tempf) &&! leeg ($ tempf) && isset ($ relative_humidity_3) &&! leeg ($ relative_humidity_3))) {file_get_contents ("https:// rtupdate.wunderground.com/weatherstation/updateweatherstation.php? ID = XXXXXXX & PASSWORD = XXXXXXXX & dateutc = now & tempf = ". $ tempf." & humiditeit = ". $ relative_humidity_3." & baromin = ". $ druk);

}

?>

?>

Stap 7: Geniet u weerstasie

Geniet u weerstasie
Geniet u weerstasie
Geniet u weerstasie
Geniet u weerstasie

Geniet u weerstasie

In Cayenne myDevices kan u 'n projek Dashboard deel. Deel joune in die kommentaar!

Dit is myne:

Aanbeveel: