Skip to main content

Synopsis

A simple, extensible web server for fetching and logging weather information and displaying nicely on a screen.

example image

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

example log output

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)

Table of built distributions (wheels) for wallberry-uberpotato 1.3.1
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page