Update: September 2019
It has occurred to me that I just haven't had time to actually update this site in around 6 years, so it is quite out of date. So, I have decided to start making a new one.
Bear with me, I just need to find time to put some content together :)

All posts tagged hardware

Video Doorbell with Raspberry Pi

I’ve been wanting to play with some video streaming for a while now, so last weekend I decided to order the Raspberry Pi Camera Board and see what it was capable of. This little camera – it’s tiny! – packs a punch! The still images are great, and the video is super clear. After messing around with it for a few hours, I figured I should do something constructive with it so set about thinking what would be useful/fun/something I always wanted to do.

Video Doorbell.

Yep. I’ve always fancied the idea of having a doorbell ping my mobile phone and let me see and speak to the person who rang it, there are probably already commercial products that do that (I haven’t looked) but quite frankly it wouldn’t be half as fun as building my own.

The general idea I currently have is:

  • Button is connected to GPIO, when pressed sends a message to a remote server to contact the device(s) registered
  • At the same time the camera is fired up and starts to send data to the remote server
  • If the mobile device accepts the ‘call’ then it connects to the video stream
  • If the mobile user hangs up (and there are no other mobile users viewing) then a message is sent to the remote server, and then onto the Pi to terminate the stream
  • If the hang up button is pressed on the Pi, then a message is sent to the remote server to contact the mobile device(s) to terminate the connection to the stream, and put the app back in the background

Something like that. I’m still not entirely sure what language(s) will be used, I had wanted to use Go so I could have a play with that, but I’m also thinking it would be quite cool if the entire stack – pi, server, mobile – was all written in JavaScript (node and Titanium) but I’m not sure yet, leaning more towards Go and native mobile apps, but we shall see Smile

I’ll be updating this post as things progress, stay tuned!