Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Tämä on esimerkki mukavasta LoRa -projektista. Sääasemassa on lämpötila -anturi, ilmanpaineanturi ja kosteusanturi. Tiedot luetaan ja lähetetään Cayenne Mydevices- ja Weather Underground -laitteille LoRa- ja The Things Network -palvelun avulla.
Tarkista, onko alueellasi The Things -verkon LoRa Gateway!
Vaihe 1: Laitteisto
Tässä projektissa käytin seuraavaa laitteistoa:
- 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 -lähetin-vastaanotin-moduuli-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)
Kokonaiskustannukset alle 10 dollaria.
Vaihe 2: Johdotus
On järkevää testata anturit ensin leipälaudalla. Joten voit olla varma, että anturit toimivat. Voit myös mitata virrankulutusta yleismittarilla. (Käytä pienitehoista lib-arvoa vähimmäismäärän mittaamiseen)
Liitä johdot ensin RFM95W -moduuliin ja sitten juotettava ne Arduino Pro Mini -laitteeseen. Lisää sitten anturit. Katso kuvat ja kaavio!
Vaihe 3: Kotelo
Jotta voisin sijoittaa sääaseman jonnekin, piirsin kotelon ja tulostin sen 3D -tulostimella.
Mallit löytyvät Thingiversesta. Voit tietysti tehdä oman varianttisi.
Vaihe 4: Ohjelmisto
Käyttämäni koodi löytyy GitHubista:
Käytän Atomia PlatformIO: n kanssa tämän projektin toteuttamiseen, joten tämä on PlatformIO -projekti. Käytin seuraavia kirjastoja:
- LoraMAC-in-C for Arduino kiitos Thomas Telkampille ja Matthijs Kooijmanille (https://github.com/matthijskooijman/arduino-lmic)
- CayenneLPP of The Things Network Arduino Library (https://github.com/TheThingsNetwork/arduino-device-lib)
- Adafruit DHT -kosteus- ja lämpötila-anturikirjasto (https://github.com/adafruit/DHT-sensor-library)
- Pienitehoinen: Kevyt pienitehoinen kirjasto Arduinolle (https://github.com/adafruit/DHT-sensor-library)
Vaihe 5: Cayenne MyDevices
Voit integroida sovelluksesi The Things Network -verkkoon Cayenne myDevicesin kanssa
Integraation lisääminen:
- Siirry The Things Network -sivuston sovelluskonsoliin;
- Valitse integraatiot oikeasta yläkulmasta;
- Valitse Cayenne;
- Seuraa ohjeita
Vaihe 6: Maanalainen sää
Jos haluat lähettää tietoja Weather undergroundiin, luo HTTP -integraatio. Tiedot lähetetään URL -osoitteeseen POST- tai GET -muodossa. Seuraava komentosarja tallentaa tiedot ja lähettää ne Weather Undergroundille. Rekisteröi oma sääasemasi osoitteessa
<? php
? php kaikuaika ();
file_put_contents ('json/post'.time ().'. json ', file_get_contents (' php: // input '));
$ json = file_get_contents ('php: // input'); $ data = json_decode ($ json);
// poista tiedot jsonista
$ lämpötila_1 = $ data-> hyötykuormakentät-> lämpötila_1; $ barometric_pressure_2 = $ data-> payload_fields-> barometric_pressure_2; $ suhteellinen_kosteus_3 = $ data-> hyötykuormakentät-> suhteellinen_kosteus_3;
// tempc to tempf
$ tempf = ($ lämpötila_1 * 9/5) + 32;
// paine
$ paine = $ barometrinen_paine_2/33.863886666667;
if (isset ($ pressure) &&! empty ($ pressure) && isset ($ tempf) && tyhjä ($ 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 = ". $ suhteellinen_kosteus_3." & baromin = ". $ paine);
}
?>
?>
Vaihe 7: Nauti sääasemastasi
Nauti sääasemastasi
Cayenne myDevicesissa voit jakaa projektin hallintapaneelin. Jaa omasi kommenteissa!
Tämä on minun: