Synopsis
A simple, extensible web server for fetching and logging weather information and displaying nicely on a screen.
Dependencies
- forecastio
- python-flask
- matplotlib
- w1thermsensor (optional)
Hardware
- Raspberry pi
- DS18B20 1-wire temperature sensor (optional)
Setup
Install with pip and virtualenv:
python3 -m virtualenv ~/wallberry
source ~/wallberry/bin/activate
pip install wallberry-uberpotato
Requires a DarkSky API key (free from https://darksky.net/dev).
Change the example config file to include your key and your location. Save config file as config.py
Usage
Start the server on your local network by running sh wallberry/server.sh &
Open a web browser and navigate to localhost:5000
For a wall-clock, use crontab and screen to automatically start on boot
sudo apt-get install screen
crontab -e
add the following:
@reboot /usr/bin/screen -dmS Server /bin/sh ~/wallberry/server.sh
@reboot /bin/sh ~/wallberry/start.sh
0 7 * * * /bin/sh ~/wallberry/start.sh
0 23 * * * /bin/sh ~/wallberry/stop.sh
This will start a full-screen kiosk browser, and turn off the screen automatically from 11pm to 7am.
Included also is an example python script for a PIR motion sensor for automatically turning on and off the screen
Adding sensors
Send temperature, humidity, and pressure data to the server with a POST requst to /log with the format
{
name: <My Sensor Name>,
temperature: <Temp>, (optional)
humidity: <Humidity>, (optional)
pressure: <Pressure> (optional)
}
An example script weatherPOST.py is included for reference using a DS18B20 sensor. To set up this sensor on a rpi:
Normal mode:
Connect Vdd to 3.3v, data to gpio-4, ground to ground, pullup resistor between Vdd and data
to /boot/config.txt add:
dtoverlay=w1-gpio,gpiopin=4
4 is the default w1 gpio pin
to /etc/modules add:
w1-gpio
w1-therm
Parasitic mode:
Connect Vdd shorted with ground, data to gpio-4, pullup resistor between Vdd and data
to /boot/config.txt add:
dtoverlay=w1-gpio,gpiopin=4,pullup=1
to /etc/modules add:
w1-gpio
w1-therm strong_pullup=2
Call w1thermsensor ls to list the hardware addresses of all connected sensors
Viewing log history
A GET request to /log yields a date range selection and simple graph
Metadata
Release files for wallberry-uberpotato 1.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| wallberry_uberpotato-1.3.1-py3-none-any.whl | Python 3 | none | any | Details for wallberry_uberpotato-1.3.1-py3-none-any.whl |
Release files / wallberry_uberpotato-1.3.1-py3-none-any.whl
| Download URL | wallberry_uberpotato-1.3.1-py3-none-any.whl |
|---|---|
| Size | 346.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7c36d0cc896200513ce7a0a84728ec5b0e2020cf73e737fc29ca0c8eb2580bf7
|
|
BLAKE2b-256 checksum How to use checksums |
00aa3b2342bd3493194deaf95cf68b76902ee314b78ac40fa6fec1da4bc269c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.1 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5
|
Security for wallberry-uberpotato 1.3.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.