Category Archives: Raspberry Pi

Update 1-7-2015

Bit of an update, I’ve done more work on the back end and data collection and have ordered parts to begin a outdoor sensor array to compliment the weather station.

First upgrade was to my NAS which runs unRAID which previously had VirtualBox running on top of it to run the Webserver and Windows 7 VM for the home automation. The new version of unRAID includes the KVM visualization solution.

After updating unRAID and converting the VirtualBox images over everything was back up and running all with a nice web interface:

unraidvm

 

This allows for much easier control of the VM’s as well as start/shutdown with the NAS.

Two new data sources have been added to the system the first being the data from my front door RFID system which unfortunately doesn’t have a direct interface with mysql (it uses access) so I found a program that pulls data from msaccess into mysql here which I configured to poll every hour and insert into mysql.

This has been added to the web interface which now shows the Doorbell as well as the RFID data:

doors

Clicking into RFID gives the last 20 entries/exits allowing a quick view of who has been home over the last few days.

The second data source is CPU temperature from the Doorbell Raspberry Pi which was mostly out of curiosity but also to see how the Raspberry Pi was holding up to living outside.

I used a Python script to poll the data every 5 minutes and insert it into mysql, you can download the script here.

Below is a graph of the Pi temperature over a 24 hour period:

doorbellpigraph

And the added page for the sensor:

doorbellpi

Few changes to the internal web interface to show number of records for each sensor as well as min/max/avg of both temperature and humidity from each sensor:

tempreadings

minmaxavg

Mostly minor changes but gives a bit more info on everything.

 

I’ve ordered parts to build a outdoor sensor array which will be based off an Arduino with Ethernet shield and the following sensors:

DHT22 – Temperature and humidity

MQ-9 – Carbon Monoxide and Combustible gas sensor

BMP180 – Barometric pressure

ML8511 – UV level sensor

I may add a few other air quality sensors as well over time, this will be added to the data from the weather station and uRAD monitor data to give a good overview of outside conditions.

Update 21-5-15

Just a bit of a quick update on everything:

After running alright for about a month the Raspberry Pi in the doorbell locked up a few times and then stopped booting, from what I can tell my estimation of voltage drop over the PoE setup may have been a bit off and fed the Pi a bit too much voltage so I’ve bought a LM2596S step down voltage regulator off eBay and will run 12v over the PoE and then regulated 5v into the mini USB of the Pi.

Doorbell system is now back up and running and hopefully should remain stable now.

Voltage Regulator
Voltage Regulator

 

I’ve done a bit more work on the internal house website to add the ability to quickly see the pictures taken from the doorbell camera as well as current data from my uRAD Monitor.
It gives a good overview of current weather,  sensor data and last ring of the doorbell. As more sensors are added I’ll add them in here. Clicking on each of the sensors brings up the last 100 entries and clicking the front door brings up the last 20 doorbell presses.

uRAD Monitor section give the current radiation counts per minute as well as an average and the links below create graphs showing CPM vs wind, rain fall and temp/humidity.

Updated House web page
Updated House web page
Last 20 doorbell presses
Last 20 doorbell presses

The software that came with the weather station was pretty basic so I got Weather Display which is much more powerful and can export data directly into mysql as well as upload to a website, etc.

Weather Display
Weather Display

I’ve found the wireless from the weather station to be a bit unreliable hopefully just due to some flat batteries.

I’ve added new graphs to match weather data with radiation data from my uRAD Monitor, you can see flat sections in the graph where the weather station has not reported back correctly:

Rain vs CPM
Rain vs CPM
Temp and Humidity vs CPM
Temp and Humidity vs CPM
Wind speed and gust speed vs CPM
Wind speed and gust speed vs CPM

 

A bit more work has been done with the home automation system. I replaced the 4 channel relay board with an 8 channel board which will do low voltage operations (12v/5v) and have re-purposed the 4 channel board for 240v switching as to keep LV and HV separate.

This has allowed adding of several more devices without buying expensive Insteon modules for each device.

Here are the different “rooms” in HCA now:

Kitchen
Kitchen
Lounge
Lounge
Bathroom
Bathroom
Backyard
Backyard

The front yard “room” now also includes buttons to capture and email a picture from the doorbell camera as well as start a live stream as seen below:

Front yard
Front yard
Captured picture sent via E-Mail
Captured picture sent via E-Mail

Currently finishing off the 5.1 system in the lounge and after that work will begin on expanding the rack to a floor to ceiling 19″ rack.

Raspberry Pi Doorbell and Camera Part 2

After a session of lifting tin and climbing through the roof to run cables the camera has now made it’s way to it’s new home 🙂

After the cable was run I wired up the POE and Ethernet and found there was too much of a voltage drop over the line to keep the Raspberry Pi running while taking a picture so I changed out the 5v PSU for a 7.5v PSU to bring the line voltage up.

After I did this the Pi booted no worries and shot off a picture.

psu

My eBay case arrived and while not the most subtle case for the job it has more than enough room to house everything.

The Pi was mounted to the plastic board inside with a pair of zip ties and the camera with a good chunk of blue tack. I think I’ll eventually mount the camera better but with the camera board being so small it is a bit of a pain to mount.

case outside

case inside

camera

And after mounting the case out the front we have success:

front door

I made a few further changes to the software side as well as shown here:

run script

As you can see here upon the door bell being pressed the Pi:

1. Sends a pushover notification via the API

2. Captures two pictures. One low res and one hi res

3. Attaches and emails the low resolution picture

4. Inserts the date and time to a mysql database

5. Copies the hi resolution picture to my NAS

 

Here you can see the mysql table which simply contains the date and time the door bell was pressed, eventually I will do up a PHP interface to be able to view the data from mysql more easily.

mysql

 

And now onto the next project 🙂

Webserver, Mysql and Temp Sensors

A bit of work finally got done on the back end systems for home automation including setup of a new Debian VM for a web server and Mysql server to allow data collection from various sensors around the house as well as hosting the library data for Kodi (XBMC).

I now have two virtual machines running on the NAS. The Windows 7 machine runs Home control assistant which gives access to Insteon control as well as the USB relay boards from both PC and Phone.

The Debian machine is configured with Apache2 for web, Mysql database as well as running python scripts to poll the various sensors and insert the data into Mysql.

virtualbox

I currently am using two different sensors. The water proof DS18S20 temperature sensor and the DHT22 temperature/humidity sensor.

Further DHT22 sensors will be added to both the bathroom and en-suite to allow humidity based extraction fan toggling.

Sensor overview:

table

Temperature graph:

Temp

Humidity Graph:

Humidity

Currently all sensors are polled every 5 minutes and saved into Mysql. Graphing is done with jpgraph in PHP which I need to spend sometime on to get looking right/nice.

Another database keeps track of each time the door bell is pressed and I plan on making a PHP front end for it that will link to the pictures, etc.

I’ve also ordered a cheap weather station with wind speed, direction, rain collection, temp and humidity that allows USB data collection which I will add in as well which will hopefully give a good location weather overview and will allow me to control sprinklers, etc based on rain, etc.

Door bell system has been put into it’s new case and is ready to be mounted just need to run the CAT5 to it’s new home which should hopefully get done over the weekend.

Raspberry Pi Doorbell and Camera Part 1

After missing several people knocking at the door it was decided a doorbell was in order but I didn’t just want some annoying ringing bell to drive me nuts so after seeing Ahmad Khattab’s project on Hackaday here planning began on my own Raspberry Pi based door bell.

You can find Ahmad’s original Github repository here and Google doc with build instructions here.

Parts List:

Raspberry Pi Model B

Raspberry Pi Camera

Cheap wireless doorbell

Weather proof Case

 

I downloaded the complete SD image from here and used Win32 Disk Imager to put the image on an 8GB SD-Card after boot I went in and modified the code slightly by commenting out lines related to the LCD as I won’t be using it and have added support for Pushover a service that allows for push notifications to be sent to iOS, Android and also desktop browsers.

I also modified camera.py to take two pictures one at 800×600 which is emailed and a second at full resolution which is later copied to my NAS for storage.

launch.sh is used to start it monitoring the GPIO pin, I added this as a cron job on reboot.

Can download the modified files here.

The files that need to be customized for use are:

send_email_fast.py – Set your email address and SMTP server

send_email_attachment.py – Set your email address and SMTP server

pushover.py – Set your Pushover User and App Key’s

run.py – Un-comment and set path if you wish to copy the picture to a network share

There is also Google hangouts, twitter and Zapier support but I have not used them here.

 

With the software sorted it was onto the hardware:

DSC_1198

I stripped the circuit board from the receiver unit and un-soldered the speaker and battery connectors and replaced them with new leads. Someone was even nice enough to silk screen the board with all the appropriate labels.

DSC_1199

I then connected the battery leads to 3.3v (Pin 1) and Ground (Pin 9) and the speaker leads to GPIO7 (Pin 26) and Ground (Pin 25) for my build I omitted the 10K resister and am yet to have any issues.

gpio

DSC_1200

DSC_1222

A quick test and seconds later both a pushover notification and E-Mail arrived:

notification

Open up the email and we find the picture attached:

email

I’m still awaiting my case from China after it arrives the next step will be to mount all the hardware in the case, run a network cable to the location and wire up PoE for the unit.

I also intend to add support for the camera to be triggered by the motion sensor out the front for when I’m away or asleep for security.

 

Read on in Part 2

Wolfson Audio Card for Raspberry Pi

I had no end of trouble trying to download the SD-Card image from the Element14 website. Downloads stopping half way through, page being unavailable, etc but managed to find another smaller image that had been compiled on the forum.

You can see the original post here and the direct download from Google drive here.

Got it all installed and booted only to find my Audio board was DOA, after a quick phone call to Element14 a replacement was sent out.

Once it arrived I booted up Raspberrian and installed Shairport this time the card was detected correctly and played sound 🙂

DSC_0744

DSC_0745

All powered up:

DSC_1162

This particular Raspberry Pi runs the speakers in the Kitchen and on the deck and the difference in sound quality from the onboard to the Wolfson card is significant. Will be looking at getting at least one more for the lounge.

Would certainly recommend it if you are using your Raspberry Pi for analog audio.

Spa TV Install

After the speakers were installed it was quickly decided that we best have a screen as well.

I had a spare 17″ lcd lying around which I paired with a Raspberry Pi running XBMC.

12v and VGA run from the back of the screen back to the main rack keeping all the mains voltage well away from the bathroom.

The wall before.
The wall before.
All cut out
All cut out
Bracket, cables and plaster in place
Bracket, cables and plaster in place

 

Raspberry Pi driving Spa TV
Raspberry Pi driving Spa TV
Initial Testing
Initial Testing
Tinted glass and tiles in place
Tinted glass and tiles in place

All Finished including chocolate stains from the kids…

All Finished including chocolate stains from the kids...