Talaan ng mga Nilalaman:
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-13 06:58
Ito ay isang halimbawa ng magandang proyekto ng LoRa. Naglalaman ang istasyon ng panahon ng sensor ng temperatura, sensor ng presyon ng hangin at sensor ng kahalumigmigan. Nabasa ang data at ipinadala sa Cayenne Mydevices at Weather Underground gamit ang LoRa at The Things Network.
Suriin kung mayroong LoRa Gateway ng The Things Network sa iyong lugar!
Hakbang 1: Ang Hardware
Para sa proyektong ito ginamit ko ang sumusunod na 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)
Kabuuang gastos na mas mababa sa 10 dolyar.
Hakbang 2: Ang Mga Kable
Matalino na subukan muna ang mga sensor sa isang breadboard. Kaya maaari kang makatiyak na gumagana ang mga sensor. Maaari mo ring sukatin ang pagkonsumo ng kuryente sa isang multimeter. (Gumamit ng Low-Power lib upang masukat ang minimum)
Ang mga unang wire ng panghinang sa module na RFM95W at pagkatapos ay solder ang mga ito sa Arduino Pro Mini. Pagkatapos ay idagdag ang mga sensor. Tingnan ang mga imahe at ang diagram!
Hakbang 3: Ang Casing
Upang mailagay ang istasyon ng panahon sa isang lugar, gumuhit ako ng isang kaso at inilimbag ito sa 3d printer.
Ang mga modelo ay matatagpuan sa Thingiverse. Siyempre maaari kang syempre gumawa ng iyong sariling pagkakaiba-iba.
Hakbang 4: Ang Software
Ang code na ginamit ko ay matatagpuan sa GitHub:
Ginamit ko ang Atom sa PlatformIO upang mapagtanto ang proyektong ito, kaya ito ay isang proyekto ng PlatformIO. Ginamit ko ang mga sumusunod na libary:
- LoraMAC-in-C para kay Arduino salamat kina Thomas Telkamp at Matthijs Kooijman (https://github.com/matthijskooijman/arduino-lmic)
- CayenneLPP ng The Things Network Arduino Library (https://github.com/TheThingsNetwork/arduino-device-lib)
- Adafruit DHT Humidity & Temperature Unified Sensor Library (https://github.com/adafruit/DHT-sensor-library)
- Mababang Kapangyarihan: Magaan na murang mababang library ng kuryente para sa Arduino (https://github.com/adafruit/DHT-sensor-library)
Hakbang 5: Cayenne MyDevices
Maaari mong isama ang iyong application sa The Things Network sa Cayenne myDevices
Upang idagdag ang pagsasama:
- Pumunta sa application console sa website ng The Things Network;
- Piliin ang mga pagsasama mula sa kanang tuktok na menu;
- Piliin ang Cayenne;
- Sundin ang mga panuto
Hakbang 6: Weather Underground
Upang magpadala ng data sa Weather sa ilalim ng lupa, lumikha ng isang pagsasama-sama ng HTTP. Ipapadala ang data sa URL na may isang POST o isang GET. Nakukuha ng sumusunod na script ang data at ipinapadala ito sa Weather Underground. Irehistro ang iyong sariling Personal na Weather Station sa
<? php
? php oras ng echo ();
file_put_contents ('json / post'.time ().'. json ', file_get_contents (' php: // input '));
$ json = file_get_contents ('php: // input'); $ data = json_decode ($ json);
// ilabas ang data sa json
$ temperatura_1 = $ data-> payload_fields-> temperatura_1; $ barometric_pressure_2 = $ data-> payload_fields-> barometric_pressure_2; $ relatif_humidity_3 = $ data-> payload_fields-> relatif_humidity_3;
// tempc sa tempf
$ tempf = ($ temperatura_1 * 9/5) + 32;
// pressure
$ pressure = $ barometric_pressure_2 / 33.863886666667;
kung (mag-isyu ($ pressure) &&! walang laman ($ pressure) && mag-isyu ($ tempf) &&! walang laman ($ tempf) && mag-isyu ($ relatif_humidity_3) &&! walang laman ($ relatif_humidity_3)) {file_get_contents ("https:// rtupdate.wunderground.com / Weatherstation / updateweatherstation.php? ID = XXXXXXX & PASSWORD = XXXXXXXX & dateutc = now & tempf = ". $ tempf." & halumigmig = ". $ relatif_humidity_3." & baromin = ". $ pressure);
}
?>
?>
Hakbang 7: Masiyahan sa Iyong Weather Station
Masiyahan sa Iyong Weather Station
Sa Cayenne myDevices maaari kang magbahagi ng isang proyekto Dashboard. Ibahagi ang iyo sa mga komento!
Akin ito: