/ras-pi

Primary LanguagePython

pi-screen

Brings up a web browser and cycles through a list of webpages on a Raspberry Pi.

Requirements

Python

The script is currently working with Python 2.7 and requires all the packages in requirements.txt.

pip install -r requirements.txt

Iceweasel & Geckodriver

The script makes use of Iceweasel as Chrome doesn't supported ARM architecture, therefore we need Firefox's webdriver e.g. geckodriver.

apt-get update && apt-get install iceweasel -y

wget https://github.com/mozilla/geckodriver/releases/download/v0.15.0/geckodriver-v0.15.0-arm7hf.tar.gz

tar -C /usr/local/bin -xvf geckodriver-v0.15.0-arm7hf.tar.gz

Due to the current version of iceweasel being 0.45, the latest version of geckodriver does not support it so we install version 0.15.0.

Config

In order to run the script, make a copy of example_config.yaml:

cp example_config.yaml config.yaml

Edit config.yaml to include or exclude the webpages or local files you want, as well as changing the sleep time between page changes.

auth_links

While it's a little fiddly as most login forms wildy differ, you can use this script to login to dashbaords that require credentials.

To use the auth_links feature, you will need to inspect the login form using your web browser (right click and choose inspect), and find the type and name of the element for both the username and password field. Once you have found these, put them the copied config.yaml. See the example_config.yaml for an example of how to do this.

There is also a login_type option to allow for you to cycle through webpages that have staggered login pages, such as Google Apps. this can be achieved by dding the key of login_type and the value of staggered in config.yaml.

Usage

To run the script, ensure screen.py and config.yaml are in the same directory:

python screen.py

If any changes are to be made, you just need to amend the yaml file and then restart the script.

Quick Setup

If you're looking to deploy and run this script quickly on a Raspberry Pi, you can use the setup.sh script which will:

  • Install Iceweasel
  • Clone the repo
  • Install the required Python packages
  • Download and move the geckodriver binary to /usr/local/bin
  • Create LXDE autostart entry to run the script on start up
sudo ./setup.sh

The only thing you'll need to do is edit config.yaml to include whatever you want to display.