diff --git a/README.md b/README.md new file mode 100644 index 0000000..591f050 --- /dev/null +++ b/README.md @@ -0,0 +1,33 @@ +# Arduino weather station + +This is a simple weather station based on Arduino Uno R3 and a TE Connectivity's weather hat. + +## Hardware +- Arduino Uno R3 +- TE Connectivity's weather hat +- 16x2 LCD display (optional) +- Raspberry Pi or any other SBC + +## Software +This project has a couple of library dependencies: + +#### Arduino +- [ArduinoJson](https://github.com/bblanchon/ArduinoJson) +- [TEWeatherShield](https://github.com/TEConnectivity/Weather_Shield_Arduino_Library) +- [LiquidCrystal_I2C](https://github.com/marcoschwartz/LiquidCrystal_I2C) + +#### Raspberry Pi +- **WireGuard** (optional, used to link a remote Home Assistant instance) +- **systemd** (used to prepare the environment on the Home Assistant instance) +- **ser2net** (used to expose the serial port to the Home Assistant instance) + +## Installation +1. Flash the Arduino with the `vremenska-postaja.ino` sketch or flash the included `build/vremenska-postaja.ino.hex` binary. + +2. Set up **ser2net** on the Raspberry Pi. The configuration file is located in `ser2net.conf`. The default port is `2000`. + +3. Set up **WireGuard** and link the Raspberry Pi to a remote Home Assistant instance. (Optional!) + +4. Set up **socat-remote** service on the Home Assistant instance. The service file is located in `socat-remote.service`. + +5. Add the `weather_station` platform to your Home Assistant instance. The configuration file is located in `configuration.yaml`. \ No newline at end of file