Cuprins:

Internetul obiectelor: stația meteo LoRa: 7 pași (cu imagini)
Internetul obiectelor: stația meteo LoRa: 7 pași (cu imagini)

Video: Internetul obiectelor: stația meteo LoRa: 7 pași (cu imagini)

Video: Internetul obiectelor: stația meteo LoRa: 7 pași (cu imagini)
Video: FEMEIA De 399 De ANI ! #shorts 2024, Iulie
Anonim
Internetul obiectelor: stația meteo LoRa
Internetul obiectelor: stația meteo LoRa
Internetul obiectelor: stația meteo LoRa
Internetul obiectelor: stația meteo LoRa
Internetul obiectelor: stația meteo LoRa
Internetul obiectelor: stația meteo LoRa

Acesta este un exemplu de frumos proiect LoRa. Stația meteo conține un senzor de temperatură, senzor de presiune a aerului și senzor de umiditate. Datele sunt citite și trimise către Cayenne Mydevices și Weather Underground folosind LoRa și The Things Network.

Verifică dacă există LoRa Gateway al The Things Network în zona ta!

Pasul 1: Hardware-ul

Hardware-ul
Hardware-ul
Hardware-ul
Hardware-ul
Hardware-ul
Hardware-ul
Hardware-ul
Hardware-ul

Pentru acest proiect am folosit următorul hardware:

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

Costurile totale mai mici de 10 dolari.

Pasul 2: Cablarea

Cablarea
Cablarea
Cablarea
Cablarea
Cablarea
Cablarea

Este înțelept să testați mai întâi senzorii pe o placă de măsurare. Deci, puteți fi sigur că senzorii funcționează. De asemenea, puteți măsura consumul de energie cu un multimetru. (Utilizați libra de consum redus pentru a măsura minimul)

Mai întâi lipiți cablurile la modulul RFM95W și apoi le lipiți la Arduino Pro Mini. Apoi adăugați senzorii. Vizualizați imaginile și diagrama!

Pasul 3: Carcasa

Carcasa
Carcasa
Carcasa
Carcasa
Carcasa
Carcasa
Carcasa
Carcasa

Pentru a plasa stația meteo undeva, am desenat o carcasă și am imprimat-o cu imprimanta 3d.

Modelele pot fi găsite pe Thingiverse. Desigur, puteți, desigur, să vă creați propria variantă.

Pasul 4: Software-ul

Software-ul
Software-ul

Codul pe care l-am folosit poate fi găsit pe GitHub:

Am folosit Atom cu PlatformIO pentru a realiza acest proiect, deci acesta este un proiect PlatformIO. Am folosit următoarele biblioteci:

  • LoraMAC-in-C pentru Arduino mulțumesc lui Thomas Telkamp și Matthijs Kooijman (https://github.com/matthijskooijman/arduino-lmic)
  • CayenneLPP din The Things Network Arduino Library (https://github.com/TheThingsNetwork/arduino-device-lib)
  • Biblioteca senzorilor de umiditate și temperatură Adafruit DHT (https://github.com/adafruit/DHT-sensor-library)
  • Consum redus: bibliotecă ușoară de consum redus pentru Arduino (https://github.com/adafruit/DHT-sensor-library)

Pasul 5: Cayenne MyDevices

Cayenne MyDevices
Cayenne MyDevices

Puteți să vă integrați aplicația în The Things Network cu Cayenne myDevices

Pentru a adăuga integrarea:

  • Accesați consola de aplicații de pe site-ul The Things Network;
  • Selectați integrări din meniul din dreapta sus;
  • Selectați Cayenne;
  • Urmează instrucțiunile

Pasul 6: Weather Underground

Weather Underground
Weather Underground

Pentru a trimite date către Weather underground, creați o integrare HTTP. Datele vor fi trimise la adresa URL cu un POST sau un GET. Următorul script captează datele și le trimite la Weather Underground. Înregistrați-vă propria stație meteo personală pe

<? php

? php echo time ();

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

$ json = file_get_contents ('php: // input'); $ date = cod_json ($ json);

// scoate datele din json

$ temperature_1 = $ data-> payload_fields-> temperature_1; $ barometric_pressure_2 = $ data-> payload_fields-> barometric_pressure_2; $ relative_humidity_3 = $ data-> payload_fields-> relative_humidity_3;

// tempc to tempf

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

// presiune

$ presiune = $ 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 = now & tempf = ". $ tempf." & moist = ". $ relative_humidity_3." & baromin = ". $ pressure);

}

?>

?>

Pasul 7: Bucurați-vă de stația meteo

Bucurați-vă de stația meteo
Bucurați-vă de stația meteo
Bucurați-vă de stația meteo
Bucurați-vă de stația meteo

Bucurați-vă de stația meteo

În Cayenne myDevices puteți partaja un tablou de bord al proiectului. Împărtășește-ți comentariile!

Acesta este al meu:

Recomandat: