Raspberry Pi servo controller driven by live weather data from SmartAtlantic.
On the Pi, after cloning or pulling this repo:
cd ~/windows
chmod +x setup.sh start.sh
./setup.sh
./start.shSee docs/SETUP.md for full setup, upgrade, and troubleshooting instructions.
- Raspberry Pi with GPIO access
- Python 3.10 or newer
- Raspberry Pi OS Bookworm (or another distro with Python 3.10+)
| File | Purpose |
|---|---|
main.py |
Reads weather data and drives the servo via GPIO |
weather_data.py |
Fetches weather from SmartAtlantic and writes data.txt |
setup.sh |
Creates a Python 3.10+ virtualenv and installs dependencies |
start.sh |
Activates the virtualenv and runs main.py |
requirements.txt |
Pinned Python dependencies |
Dockerfile |
Container image for Pi deployments |
Build for 64-bit Raspberry Pi OS:
docker build --platform linux/arm64 -t windows .Build for 32-bit Raspberry Pi OS:
docker build --platform linux/arm/v7 -t windows .GPIO access requires privileged mode or passing the GPIO device:
docker run --rm --privileged windowsSecurity-sensitive HTTP libraries (requests, urllib3, certifi, idna) are pinned to current releases and require Python 3.10+. Run ./setup.sh after pulling dependency updates to refresh your local venv/.
This repo previously committed a Python 3.7 venv/. That has been removed. After pulling the latest main, run ./setup.sh to recreate the environment with a supported Python version.