PiControl
Raspberry Pi Control Center (One interface for all your Raspberry’s)
Installation
Automated Installation (quick and easy)
- Download and run the PiControl installation script
sudo wget https://bcarroll.github.com/PiControl/getPiControl.py && sudo python getPiControl.py
Manual Installation (do all the dirty work yourself)
- Download the code
git clone https://github.com/bcarroll/PiControl.git
or
- Install Operating System dependencies (mostly for SSL support)
sudo apt-get update
sudo apt-get install gcc libffi-dev libssl-dev python-dev python-cryptography wiringpi
- Install Python dependencies
cd /directory/where/you/cloned-or_unzipped
sudo pip install Flask Flask-SSLify flask_socketio flask_sqlalchemy ipaddress netifaces netaddr psutil simplepam wiringpi requests xmltodict
- Set executable flag on the PiControl start script
- chmod +x /directory/where/you/cloned-or_unzipped/PiControl.sh
The above command changes the mode of the PiControl.sh script so it can be executed from a shell.
- Change ownership of the PiControl directory
- chown -R pi:pi /directory/where/you/cloned-or_unzipped
- Optional - Start PiControl when your Raspberry Pi boots
*
echo "Start PiControl"| sudo tee --append /etc/rc.local
*echo "sudo -u pi python /directory/where/you/cloned-or_unzipped/PiControl.sh start &"| sudo tee --append /etc/rc.local
The above command adds a new line to /etc/rc.local which will start PiControl as the "pi" user when the Raspberry Pi boots.
If you remove the "sudo -u pi" part, PiControl will run as "root" (not advised, for security reasons).
You can also create a new account to run PiControl as with the [adduser](https://www.raspberrypi.org/documentation/linux/usage/users.md) command.
Start PiControl
cd /directory/where/you/cloned-or_unzipped && ./PiControl.sh start
Usage
Once you have PiControl installed and running, open a web browser (either on the Pi itself or another machine (or smartphone) that can communication with the Pi)
In the web browser, goto https://ipaddress_of_your_pi:31415
If you are using a web browser from a UNIX-ish machine (Linux, UNIX, MacOS) and you know the hostname of your Pi, you can access PiControl via https://hostname.local:31415 (replace “hostname” in the URL with your Pi’s actual hostname)
Notice:
You will be presented with an SSL Security Error/Warning, because PiControl, by default, uses a self-signed SSL certificate, and your browser doesn’t trust self signed certificates. PiControl uses SSL to make sure the data that is transmitted is encrypted. To get arounf the certificate error, the web browser will let you add an exception for the URL so the SSL error is not displayed the next time you visit the URL.
If you do not want to use the included self-signed certificate, you can replace SSL/server.crt and SSL/server.key with a commercial SSL certificate. - If this applies to you, you probably now how to make that happen.
Once you get past the SSL warning screen, you will be presented with the PiControl login interface. Login using your Raspberry Pi credential (“pi”) and password.
Login with a valid OS user account (pi)
The main screen displays the hostname of your Raspberry Pi in the upper left, a picture of the hardware on the upper right and the Raspberry Pi Model information and hardware details.
The menubar on the left side of the screen allows you to view/control various aspects of your Raspberry Pi.
The Dashboard section displays charts containing data for all of the devices on your network that are running PiControl (with the same secret key)
The Nodes section displays all of the discovered devices on your network that are running PiControl (with the same secret key)
Clicking on a Node in the Nodes list will take you to the PiControl interface on that Node.
System Menu
The Processes section displays all running processes
The Disk section displays disk usage
The Localisation section displays locale configuration (Keyboard layout, etc…)
The Memory section displays memory (virtual and physical) usage and voltages
The Network section displays information about all the available Network Interfaces
The Services section displays information for all the configured services
The Users section displays information about user accounts
The Video section displays information about the video configuration
Hardware Menu
The GPIO section displays the current status of all the Raspberry Pi GPIO pins, and allows you to change the values (on/HIGH or off/LOW)
The Settings section allows you to configure PiControl (logging, secret key, beacon settings, background threads)