Kazalo:

Internet stvari: Vremenska postaja LoRa: 7 korakov (s slikami)
Internet stvari: Vremenska postaja LoRa: 7 korakov (s slikami)

Video: Internet stvari: Vremenska postaja LoRa: 7 korakov (s slikami)

Video: Internet stvari: Vremenska postaja LoRa: 7 korakov (s slikami)
Video: Веб-программирование – информатика для руководителей бизнеса 2016 2024, November
Anonim
Internet stvari: vremenska postaja LoRa
Internet stvari: vremenska postaja LoRa
Internet stvari: vremenska postaja LoRa
Internet stvari: vremenska postaja LoRa
Internet stvari: vremenska postaja LoRa
Internet stvari: vremenska postaja LoRa

To je primer lepega projekta LoRa. Vremenska postaja vsebuje senzor temperature, senzor zračnega tlaka in senzor vlažnosti. Podatki se odčitajo in pošljejo v Cayenne Mydevices in Weather Underground z uporabo LoRa in The Things Network.

Preverite, ali je na vašem območju LoRa Gateway of the Things Network!

1. korak: Strojna oprema

Strojna oprema
Strojna oprema
Strojna oprema
Strojna oprema
Strojna oprema
Strojna oprema
Strojna oprema
Strojna oprema

Za ta projekt sem uporabil naslednjo strojno opremo:

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

Skupni stroški so manjši od 10 dolarjev.

2. korak: Ožičenje

Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje

Pametno je senzorje najprej preizkusiti na plošči. Tako ste lahko prepričani, da senzorji delujejo. Porabo energije lahko izmerite tudi z multimetrom. (Za merjenje minimalne vrednosti uporabite lib z nizko porabo energije)

Najprej spajkajte žice na modul RFM95W in jih nato spajkajte na Arduino Pro Mini. Nato dodajte senzorje. Oglejte si slike in diagram!

3. korak: Ohišje

Ohišje
Ohišje
Ohišje
Ohišje
Ohišje
Ohišje
Ohišje
Ohišje

Da bi vremensko postajo nekam postavila, sem narisala etui in ga natisnila s 3D tiskalnikom.

Modele najdete na Thingiverse. Seveda lahko naredite svojo različico.

4. korak: programska oprema

Programska oprema
Programska oprema

Kodo, ki sem jo uporabil, najdete na GitHubu:

Za izvedbo tega projekta sem uporabil Atom s PlatformIO, zato je to projekt PlatformIO. Uporabil sem naslednje libarys:

  • LoraMAC-in-C za Arduino hvala Thomas Telkamp in Matthijs Kooijman (https://github.com/matthijskooijman/arduino-lmic)
  • CayenneLPP iz knjižnice The Things Network Arduino (https://github.com/TheThingsNetwork/arduino-device-lib)
  • Poenotena knjižnica senzorjev za vlažnost in temperaturo Adafruit DHT (https://github.com/adafruit/DHT-sensor-library)
  • Nizka poraba energije: Lahka knjižnica nizke porabe za Arduino (https://github.com/adafruit/DHT-sensor-library)

5. korak: Cayenne MyDevices

Cayenne MyDevices
Cayenne MyDevices

Svojo aplikacijo lahko vključite v The Things Network s Cayenne myDevices

Če želite dodati integracijo:

  • Pojdite na konzolo za aplikacije na spletnem mestu The Things Network;
  • V zgornjem desnem meniju izberite integracije;
  • Izberite Cayenne;
  • Sledite navodilom

6. korak: Vremensko podzemlje

Vreme pod zemljo
Vreme pod zemljo

Če želite pošiljati podatke v Weather underground, ustvarite integracijo HTTP. Podatki bodo poslani na URL s POST ali GET. Naslednji skript zajame podatke in jih pošlje Weather Underground. Registrirajte svojo osebno vremensko postajo na

<? php

? php echo time ();

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

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

// vzemite podatke iz json

$ temperature_1 = $ podatki-> polja polnjenja-> temperatura_1; $ barometric_pressure_2 = $ data-> payload_fields-> barometric_pressure_2; $ relative_humidity_3 = $ data-> polja polnjenja-> relative_humidity_3;

// tempc v tempf

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

// pritisk

$ tlak = $ barometrični_tlak_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 = zdaj & tempf = ". $ tempf." & Vlažnost = ". $ relative_humidity_3." & baromin = ". $ pressure);

}

?>

?>

7. korak: Uživajte v vremenski postaji

Uživajte v vremenski postaji
Uživajte v vremenski postaji
Uživajte v vremenski postaji
Uživajte v vremenski postaji

Uživajte v vremenski postaji

V Cayenne myDevices lahko delite nadzorno ploščo projekta. Delite svoje v komentarjih!

To je moje:

Priporočena: