Skip to content

EddWills95/ThermoPi

Repository files navigation

ThermoPi

Raspberry Pi Python, PHP and SQL thermostat

What You'll need.

  • Any sort of Raspberry Pi. I used the Zero.
  • DHT11 or 22 (Requires a small change in the code)
  • A relay. I grabbed a random one off ebay.

The way you wire this up is more or less up to you and can be changed in the main python script as I declare them early on. Look up the pinouts if you need to, but you essentially need the 5v, Ground and 2 other GPIO pins to run the whole thing.

There will be a picture of the current crude setup in this repo (until I design and 3d print a case).

Dependancies

Install Driver for DHT11

git clone https://github.com/adafruit/Adafruit_Python_DHT.git

cd Adafruit_Python_DHT

sudo apt-get install build-essential python-dev

sudo python setup.py install

SQL Server and PHPMyAdmin

sudo apt-get install mysql-server phpmyadmin 
nano /etc/apache2/apache2.conf

Add at the end:

Include /etc/phpmyadmin/apache.conf
/etc/init.d/apache2 restart 

(Might Need Sudo, just run sudo !!)

Install python-sql to get them to talk to each other

sudo apt-get install python-dev python-pip libmysqlclient-dev
pip install MySQL-python

This webpage should get you along the right track to getting PHPMyAdmin up and running.

https://pimylifeup.com/raspberry-pi-mysql-phpmyadmin/

The way I have this set up like the image uploaded in this Repo.

Config Setup

I have included an example, but essentially all you need to do here is put the password of your SQL server into it.

Web Setup

I decided to use Apache2 as my webserver. You can pretty much use whatever here so long as you can run PHP

https://www.stewright.me/2015/08/tutorial-install-apache-php-and-mysql-on-a-raspberry-pi-2/

That guide will get you going. You need to make sure you've got apache working which you can do by just visiting the IP address of your pi in a browser.

From there you can pretty much just drag and drop the files in the HTML folder into the /var/www/html folder of the pi. CyberDuck is a good way to get acess to the files without setting up a samba share or anything like that.

You Need to Change all the PHP files to have your password in.

use nano /var/www/html/*file*.php 

Reboot the Pi and See if it Works.

##Edit: Restart on Reboot I was having problems with the power in my area so decided to make sure that this starts on boot I've attatched the launcher.sh file which will wait 30 seconds after a reboot (to make sure mysql is running) and restart the script.

you need to edit crontab with this line

sudo crontab -e

at the end of that file add the line

@reboot sh /home/pi/launcher.sh > / home/pi/logs/conlog 2>&1

This should mean that in the case of a power loss when it reboots the script restarts and gets your heating working again.

About

Web Based Raspberry Pi ThermoStat

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published