OctoPiPanel creates a simple interface on a small screen to control OctoPrint.
OctoPiPanel requires Pygame to be installed. Pygame can be downloaded from http://pygame.org.
OctoPiPanel is developed by Jonas Lorander (jonas@haksberg.net).
https://github.com/jonaslorander/OctoPiPanel
This is a (slow) work in progress.
Simplified BSD-2 License:
Copyright 2014 Jonas Lorander. All rights reserved.
- OctoPrint >= version 1.1.0 running on a Raspberry Pi on Raspbian
- Adafruit PiTFT (http://adafru.it/1601) (use this script to set it up; https://learn.adafruit.com/adafruit-pitft-28-inch-resistive-touchscreen-display-raspberry-pi/easy-install#diy-installer-script)
- Python 2.7 (should already be installed)
- PyGame (should already be installed)
- requests Python module
OctoPiPanel can be run on Windows as well to ease development.
Follow the DIY Installer Script setup at Adafruit to set up the Pi TFT correctly. https://learn.adafruit.com/adafruit-pitft-28-inch-resistive-touchscreen-display-raspberry-pi/easy-install
The setup is pretty basic. You'll be needing Python 2.7 which should be installed by default, Git, and pip.
cd ~
sudo apt-get install python-pip git
git clone https://github.com/jonaslorander/OctoPiPanel.git
cd OctoPiPanel
sudo pip install -r requirements.txt
- You need to activate the REST API in you OctoPrint settings and get your API-key with Octoprint Versions older then 1.1.1, otherwise you will be fine.
- Put the URL to you OctoPrint installation in the baseurl-property in the OctoPiPanel.cfg file. For instance
http://localhost:5000
orhttp://192.168.0.111:5000
. - Put your API-key in the apikey-property in the OctoPiPanel.cfg file.
- By default the background light och the displays turns off after 30 seconds (30 000 ms). This can be changed by editing the backlightofftime-property in the configuration file. Setting this value to 0 keeps the display from turning off the background light.
- If you have a display with a different resolution you can change the size of OctoPiPanel window using window_width- and window_height-properties in the configuration file.
Start OctoPiPanel by browsing to the folder of the Python-file and execute
sudo python ./OctoPiPanel.py &
In a screen session (auto start scripts will be coming later). Yes, sudo
must be used for the time being.
Make OctoPiPanel.py executable and then copy the script files to their respective folders and make the init script executable:
cd ~/OctoPiPanel
chmod +x OctoPiPanel.py
sudo cp scripts/octopipanel.init /etc/init.d/octopipanel
sudo chmod +x /etc/init.d/octopipanel
sudo cp scripts/octopipanel.default /etc/default/octopipanel
Then add the script to autostart using sudo update-rc.d octopipanel defaults
.
This will also allow you to start/stop/restart the OctoPiPanel daemon via
sudo service octopipanel {start|stop|restart}
Stop OctoPiPanel and then issue this command to update:
cd ~/OctoPiPanel/
git pull
sudo pip install -r requirements.txt
If you would like to switch branch to devel, do this:
cd ~/OctoPiPanel/
git pull
git checkout devel
sudo pip install -r requirements.txt
Then you can start OctoPiPanel again.
PygButton courtesy of Al Sweigart (al@inventwithpython.com)