Turinys:

Daiktų internetas: „LoRa“oro stotis: 7 žingsniai (su nuotraukomis)
Daiktų internetas: „LoRa“oro stotis: 7 žingsniai (su nuotraukomis)

Video: Daiktų internetas: „LoRa“oro stotis: 7 žingsniai (su nuotraukomis)

Video: Daiktų internetas: „LoRa“oro stotis: 7 žingsniai (su nuotraukomis)
Video: Įdomioji inžinerija: daiktų internetas 2024, Lapkritis
Anonim
Daiktų internetas: „LoRa“orų stotis
Daiktų internetas: „LoRa“orų stotis
Daiktų internetas: „LoRa“orų stotis
Daiktų internetas: „LoRa“orų stotis
Daiktų internetas: „LoRa“orų stotis
Daiktų internetas: „LoRa“orų stotis

Tai yra puikus „LoRa“projekto pavyzdys. Orų stotyje yra temperatūros jutiklis, oro slėgio jutiklis ir drėgmės jutiklis. Duomenys nuskaitomi ir siunčiami į „Cayenne Mydevices“ir „Weather Underground“, naudojant „LoRa“ir „The Things Network“.

Patikrinkite, ar jūsų rajone yra „The Things“tinklo „LoRa Gateway“!

1 žingsnis: Aparatūra

Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra

Šiam projektui naudojau šią aparatūrą:

  • „Arduino Pro Mini 328“- 3,3 V/8 MHz (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 -imtuvas-modulis-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)

Bendra kaina yra mažesnė nei 10 dolerių.

2 žingsnis: laidai

Laidai
Laidai
Laidai
Laidai
Laidai
Laidai

Išmintinga pirmiausia išbandyti jutiklius ant duonos lentos. Taigi galite būti tikri, kad jutikliai veikia. Taip pat galite išmatuoti energijos suvartojimą multimetru. (Naudokite mažos galios lib, kad išmatuotumėte minimumą)

Pirmiausia lituokite laidus prie RFM95W modulio ir tada lituokite juos prie „Arduino Pro Mini“. Tada pridėkite jutiklius. Peržiūrėkite paveikslėlius ir schemą!

3 žingsnis: korpusas

Korpusas
Korpusas
Korpusas
Korpusas
Korpusas
Korpusas
Korpusas
Korpusas

Norėdami kur nors pastatyti orų stotį, nupiešiau dėklą ir atspausdinau 3D spausdintuvu.

Modelius galite rasti „Thingiverse“. Žinoma, jūs galite padaryti savo variantą.

4 žingsnis: programinė įranga

Programinė įranga
Programinė įranga

Mano naudojamą kodą rasite „GitHub“:

Šiam projektui įgyvendinti naudoju „Atom“su „PlatformIO“, taigi tai yra „PlatformIO“projektas. Aš naudojuosi tokiomis bibliotekomis:

  • „LoraMAC-in-C“, skirtas „Arduino“, dėkoja Thomasui Telkampui ir Matthijui Kooijmanui (https://github.com/matthijskooijman/arduino-lmic)
  • „The Things Network Arduino“bibliotekos CayenneLPP (https://github.com/TheThingsNetwork/arduino-device-lib)
  • „Adafruit“DHT drėgmės ir temperatūros vieninga jutiklių biblioteka (https://github.com/adafruit/DHT-sensor-library)
  • Mažos galios: lengva „Arduino“mažos galios biblioteka (https://github.com/adafruit/DHT-sensor-library)

5 veiksmas: „Cayenne MyDevices“

„Cayenne MyDevices“
„Cayenne MyDevices“

Galite integruoti savo programą į „The Things Network“su „Cayenne myDevices“

Norėdami pridėti integraciją:

  • „The Things Network“svetainėje eikite į programų konsolę;
  • Pasirinkite integracijas iš viršutinio dešiniojo meniu;
  • Pasirinkite Cayenne;
  • Sekti instrukcijas

6 žingsnis: Požeminiai orai

Požeminiai orai
Požeminiai orai

Norėdami siųsti duomenis į „Weather underground“, sukurkite HTTP integraciją. Duomenys bus siunčiami į URL naudojant POST arba GET. Šis scenarijus fiksuoja duomenis ir siunčia juos į „Weather Underground“. Užregistruokite savo asmeninę orų stotį

<? php

? php aido laikas ();

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

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

// ištraukti duomenis iš json

$ temperature_1 = $ data-> payload_fields-> temperature_1; $ barometrinis slėgis_2 = $ duomenys-> naudingosios apkrovos laukai-> barometrinis slėgis_2; $ relatyvios drėgmės_3 = $ duomenys-> naudingos apkrovos laukai-> santykinis_ drėgmės_3;

// tempc į tempf

$ tempf = ($ temperatūra_1 * 9/5) + 32;

// spaudimas

$ pressure = $ barometric_pressure_2/33.863886666667;

if (isset ($ pressure) &&! empty ($ pressure) && isset ($ tempf) && empty.wunderground.com/weatherstation/updateweatherstation.php? ID = XXXXXXX & PASSWORD = XXXXXXXX & dateutc = dabar & tempf = ". $ tempf." & drėgmė = ". $ santykinis_kosmumas_3." & baromin = ". $ pressure);

}

?>

?>

7 žingsnis: mėgaukitės savo oro stotimi

Mėgaukitės savo oro stotimi
Mėgaukitės savo oro stotimi
Mėgaukitės savo oro stotimi
Mėgaukitės savo oro stotimi

Mėgaukitės savo oro stotimi

„Cayenne myDevices“galite bendrinti projekto informacijos suvestinę. Pasidalinkite savo komentaruose!

Tai mano:

Rekomenduojamas: