Introduction: Raspberry Pi Web Interface

These are the instructions to installing the web interface I developed for toggling the gpio pins of a raspberry pi in order to control an active low relay board desinged for arduino. It serves a simple page that allows you to click on a link to alter the state of the pins and gives you feedback on their status simply by turning the link green for an active relay and red for an inactive realy.

Step 1: Install Latest Raspbian Image

python 3.5 at least will be preinstalled

Step 2: Configure the Virtual Environment

This part is optional but it is good practice.

open a terminal and execute the folowing commands:

cd

python3 -m venv env

source ~/env/bin/activate

The last command makes this terminal run in the virtual environment. You know it worked if you see the (env) in front of the terminal

also install the libraries:

pip install django

pip install RPi.GPIO

RPi.GPIO needs to be reinstalled if you are in (env)

Step 3: Download Gpio Folder

Download gpio folder from github in home folder

GpioWebInterfaceProject_Click to go to github and download the files

Step 4: Run the Project

exetute always in the same (env) terminal these commands:

cd ~/gpioWebInterface/gpio

python manage.py makemigrations

python manage.py migrate

python manage.py createsuperuser (enter the administrator username email and password you are going to use to add links corresponding to GPIO pins)

python manage.py runserver 0:8000

Step 5: Final Thoughts

You can couple it with apache or what ever server you want. I did not find it necessary as there is no traffic to speak of. I run it behind a NAT with a port forwarding configuration and use no-ip for a dynamic dns domain name so I can access it from anywhere.

All you need for it to run in a remote location if a GSM Wifi access point as long as you use the recommended Raspberry pi zero w.

This Project is far from finished. It works but does not look pretty and has no security yet.