The firmware for uWeather, an ESP8266-based weather station
 
 
 
 
 
 
Go to file
Kenneth Barbour 25f20a1ada removed unused views 2020-07-08 21:54:47 -04:00
bin web frontend for configuration and local weather display 2020-01-06 16:22:59 -05:00
frontend removed unused views 2020-07-08 21:54:47 -04:00
include Initial commit 2019-12-18 13:48:02 -05:00
lib Initial commit 2019-12-18 13:48:02 -05:00
src NTP disabled if no host set 2020-07-04 08:27:37 -04:00
test Initial commit 2019-12-18 13:48:02 -05:00
.gitignore ignore data directory 2020-01-06 21:11:03 -05:00
.travis.yml Initial commit 2019-12-18 13:48:02 -05:00
README.markdown updated readme with finished todo 2020-06-30 21:26:55 -04:00
platformio.ini report the current weather 2020-01-24 10:49:34 -05:00

README.markdown

uWeather Firmware

Firmware for a small Arduino/ESP8266 + BME280 Weather Station

Features

Weather over HTTP

See live weather data over a small webapp running on the weather station. Connect over mDNS or directly to the station's IP address if mDNS is not configured or supported.

MQTT Data

The station can send JSON encoded weather data to a configured MQTT Host. Currently, only communication over the standard port without TLS or authentication is supported.

Build/Install

pio run -t upload, then pio run -t uploadfs to build and upload code and filesystem for the first time, while connected over USB/Serial.

If station is connected to wifi, uploading over the air is preferred: pio run -t upload --upload-port 192.168.1.72 (substituting the station's IP address)

Initial Station Setup

After installing firmware and booting for the first time:

  1. Using a smartphone or laptop, connect to the station's WiFi Access Point
  2. Access the setup page from 192.168.1.4/setup
  3. Enter WiFi configuration and station settings
  4. Optionally commit config settings to EEPROM(WiFi is automatically committed) by POST-ing to /config/commit for the settings to persist after a restart.

TODO

  • Implement /wifi/scan
  • Shutdown web server
  • Configurable MQTT update interval
  • Deep sleep
  • Remotely disable deep sleep