Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
See on näide toredast LoRa projektist. Ilmajaam sisaldab temperatuuriandurit, õhurõhuandurit ja niiskusandurit. Andmed loetakse ette ja saadetakse LoRa ja The Things Network abil Cayenne Mydevices ja Weather Underground.
Kontrollige, kas teie piirkonnas on The Things Network'i LoRa Gateway!
Samm: riistvara
Selle projekti jaoks kasutasin järgmist riistvara:
- 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 -transiiver-moodul-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)
Kokku maksab see alla 10 dollari.
Samm: juhtmestik
Mõistlik on esmalt testida andureid leivaplaadil. Nii et võite olla kindel, et andurid töötavad. Energiatarvet saate mõõta ka multimeetriga. (Minimaalse mõõtmiseks kasutage väikese energiatarbega libi)
Esmalt jootke juhtmed RFM95W mooduli külge ja seejärel jootke need Arduino Pro Mini külge. Seejärel lisage andurid. Vaata pilte ja skeemi!
3. samm: kest
Ilmajaama kuhugi paigutamiseks joonistasin ümbrise ja printisin selle 3D -printeriga.
Mudelid leiate veebisaidilt Thingiverse. Loomulikult saate muidugi oma variandi teha.
Samm 4: Tarkvara
Minu kasutatud koodi leiate GitHubist:
Selle projekti elluviimiseks kasutasin Atomi koos PlatformIO -ga, seega on see PlatformIO projekt. Kasutasin järgmisi raamatukogusid:
- LoraMAC-in-C Arduino jaoks tänu Thomas Telkampile ja Matthijs Kooijmanile (https://github.com/matthijskooijman/arduino-lmic)
- Asjade võrgu Arduino raamatukogu CayenneLPP (https://github.com/TheThingsNetwork/arduino-device-lib)
- Adafruit DHT niiskuse ja temperatuuri ühendatud andurite kogu (https://github.com/adafruit/DHT-sensor-library)
- Madala energiatarbega: kerge Arduino väikese energiatarbega raamatukogu (https://github.com/adafruit/DHT-sensor-library)
Samm: Cayenne MyDevices
Saate oma rakenduse asjade võrku integreerida Cayenne myDevicesiga
Integratsiooni lisamiseks tehke järgmist.
- Minge rakenduste konsooli veebisaidil The Things Network;
- Valige integratsioonid paremas ülanurgas asuvast menüüst;
- Valige Cayenne;
- Järgi juhiseid
6. samm: maa -alune ilm
Andmete saatmiseks Weather underground'i looge HTTP -integratsioon. Andmed saadetakse URL -ile POST -i või GET -iga. Järgmine skript salvestab andmed ja saadab need Weather Undergroundile. Registreerige oma isiklik ilmajaam saidil
<? php
? php kaja aeg ();
file_put_contents ('json/post'.time ().'. json ', file_get_contents (' php: // sisend '));
$ json = file_get_contents ('php: // sisend'); $ data = json_decode ($ json);
// võta jsonist andmed välja
$ temperatuur_1 = $ andmed-> kasulikud koormusväljad-> temperatuur_1; $ barometric_pressure_2 = $ data-> payload_fields-> barometric_pressure_2; $ relative_humidity_3 = $ data-> payload_fields-> suhteline_niiskus_3;
// tempc kuni tempf
$ tempf = ($ temperatuur_1 * 9/5) + 32;
// surve
$ surve = $ baromeetriline_rõhk_2/33.863886666667;
if (isset ($ pressure) &&! empty ($ pressure) && isset ($ tempf) &&! empty ($ tempf) && isset ($ relative_humidity_3) &&! empty ($ relat_humidity_3)) {file_get_contents ("https:// rtupdate.wunderground.com/weatherstation/updateweatherstation.php? ID = XXXXXXX & PASSWORD = XXXXXXXX & dateutc = now & tempf = ". $ tempf." & kosteus = ". $ suhteline_kosteus_3." & baromin = ". $ surve);
}
?>
?>
Samm: nautige ilmajaama
Nautige oma ilmajaama
Rakenduses Cayenne myDevices saate jagada projekti juhtpaneeli. Jagage oma kommentaarides!
See on minu: