Receives AcuRite 5n1 Weather Station measurements and uploads them to multiple weather services.
Supported weather services:
Based on TTGO / LILYGO LoRa32 (ESP32 + SX1278 433 Mhz transceiver).
- Armenian Camp, Artanish, Armenia
- PWSWeather - https://www.pwsweather.com/station/pws/ARMENIANCAMP
- Windy.com - https://www.windy.com/station/pws-f0d6df5a
- WindGuru - https://www.windguru.cz/station/4155
- WeatherUnderground - https://www.wunderground.com/dashboard/pws/IGEGHA5
- Connect a button between GPIO4 and GND.
- Connect ESP32 to PC.
- Run
Upload Filesystem Image
andUpload
PlatformIO targets - Find ESP32 started and showing info.
- Unplug power cable from device.
- Press and hold a button (connect GPIO4 to GND).
- Plug the power cable back holding the button. Device will start in Configuration Mode. Once it starts, release the button.
- Find Wi-Fi AP info and IP address on the device screen (by default it's
WBridge-AP
non-protected Wi-Fi network and most likely 192.168.4.1 IP). - Connect to the AP, open IP address in web browser.
- Enter your Wi-Fi Network Name (SSID) and Password.
- Select Weather Station from the list (the device will listen for station signals, to get updated list refresh the page). Currently supported AcuRite 5n1 only.
- Fill weather service credentials. Empty credentials will disable respective exporter.
- If you're not in UTC timezone, please specify your timezone in POSIX format, see the documentation.
- Click on the "SAVE SETTINGS" button.
- Find your device rebooted and using the new settings.
- Lopaka.app which helped designing and developing display screens extremely easy and fast.
- JesAde for LoRa32 module case 3D model.
- NorthernMan54 for his port of rtl_433 library for ESP.
- Flipper Zero developers for creating a handy tool with 433Mhz signals recording feature (the device was developed without having physical access to the weather station, only signal records were used).
- The code is written not really efficient, consumes many memory. But this wasn't a plan to have it efficient, I wanted to have it simply working in short time :)
- To reduce memory consumption, the code contains shrunk port of rtl_433 library copied directly to lib/.
- It's pretty easy to support other stations (not AcuRite 5n1 only), but there was not really reasonable to have this in current use case.
- Precipitation measurements from AcuRite 5n1 are received in weird time window, to be investigated whether they're interpreted correctly. Rain precipitation exporting to weather services are temporary disable to avoid sending garbage.
For debugging purpose, raw weather station data and important log messages can be sent
to Loki. To enable Loki logging,
copy config/secrets.ini.dist into config/secrets.ini
and configure Loki exporter there. Then you'll be able to read station logs remotely in Loki, without connecting ESP to PC.
Check internals at LokiLogger.