InfoPi Information server application
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
provider
web
.gitignore
.gitmodules
LICENSE
README.md
Screenshot.png
display-ctl
infopi
ns_api_key.sample.py
req_handler.py
server.py

README.md

InfoPi Information server application

Represents a single-page web application that displays various live data, like weather forecast and train departure times.

The back-end (web server) part is using Python 3. The front-end is written on AngularJS 1.x and Twitter Bootstrap 3.x.

My own implementation is specifically crafted for:

  • RaspberryPi running Raspbian Jessie.
  • Full HD monitor (1920×1080 pixels) in the portrait orientation.

This is how the information page looks like: Screenshot of the application

Dependencies

  1. Python 3.4
  2. dateutil
  3. Astral 1.0 (used for displaying moon phases)

Getting started

  1. Clone the infopi git repo with submodules:

    git clone --recurse https://github.com/yktoo/infopi.git

  2. Install dateutil. In Ubuntu/Debian:

    sudo apt-get install python3-dateutil

  3. Install astral:

    pip3 install astral

  4. Request an NS API key here.

  5. Once you have the key, open the file ns_api_key.sample.py, update the properties and save it as ns_api_key.py.

  6. Start the server:

    ./infopi

  7. Open a web browser and direct it to localhost:8000. If you're using Chrome or Chromium, the command line is:

    chromium-browser --incognito --kiosk http://localhost:8000/

  8. In order to make InfoPi start at bootup, you can add the following commands to ~/.config/lxsession/LXDE-pi/autostart:

# Optional: remote desktop server that would allow
# to connect to your Pi via VNC
x11vnc -forever

# InfoPi web server
/path/to/your/infopi/infopi

# Browser
chromium-browser --incognito --kiosk http://localhost:8000/

License

See LICENSE.

Credits

Data providers