I decided to build a security system for my house. At first I thought this would be a relatively simple project, a couple of sensors and a controller of some sort. However, when I actually started researching the topic, it became apparent how many different approaches I could take. This led to some complicated decisions before I could even begin to build the system.
Cameras Or Sensors
The original plan was to just create an alarm system using motion sensors to determine if there was any activity around the house. However, while researching I found that the price of IP cameras had dropped considerably. After researching a number of cameras I decided that I would base the system around IP cameras, instead of motion sensors.
Cloud or Local Recoding
Once I started researching cameras it became apparent that there were two main categories of network cameras, cloud based and local recording. The cloud based cameras were extremely locked down with very few user customisable features. This would be okay if the software and apps that came with these cameras was of a high quality. Unfortunately after trying a number of prototypes, the majority appeared to be poorly designed and unreliable.
For some time I tried a Belkin cloud based camera. This was by far my favourite of the cameras as it had a high definition sensor and a very wide lens. Unfortunately the software it came with was so locked down that I could not integrate it with anything other than the app that it came with (which wasn’t very good). I even used Wireshark to monitor the traffic it sent over the network in the hope of being able to tap into the video stream. I did not succeed.
Having been disappointed with the performance of the Belkin camera I was not interested in any more cloud based cameras. Instead I decided to look at cameras that would allow me to record to one central location. While researching possibilities I came across the D-link range of network cameras. These cameras seemed to be of a higher quality then the others I had tried and also were very customisable to the users exact needs.
Having found cameras that seemed to satisfy my needs, I started looking to see if D-link had any devices that would allow me to record to a central location and trigger alerts when certain conditions were met.
After some looking I came across a D-Link device known as a NVR or Network Video Recorder. This device had the ability to record motion from all of the cameras and store it on internal hard drives. There were however a few problems with using this device. Firstly, it didn’t have any features that would allow me to trigger an alarm if motion was detected. Secondly, the device itself cost $600 AUD which was too expensive if the device did not fulfill all of the requirements.
While trying to figure out whether I could make the D-Link NVR work for my situation I wondered if anyone had created NVR software for a computer. After researching NVR software I found Blue Iris (http://blueirissoftware.com) which seemed to have many of the features I was looking for.
After more testing I decided that Blue Iris was ideal for my application as it had:
- Different “profiles” that it could be put in for armed and disarmed.
- An app allowing the cameras to be viewed remotely.
- Compatibility for my chosen D-Link cameras.
- An alarm function where it could actually sound an alarm using the audio output of a computer.
- The ability to trigger numerous types of alerts when motion was detected.
Having found software that I could use as my NVR the next step was to buy a computer that the software could run on. After looking around for some time at a variety of different computer systems I decided against a custom built machine and instead went for a reasonably powerful Lenovo workstation PC (M73). This PC had enough power to run the software even with several more cameras then I intended to use. It was also more efficient then the majority of other computers. The computer was a mini ATX form factor, meaning it would not take up too much space. Furthermore it had sufficient expansion slots for possibly adding a DIDO card or a second NIC in the future.
Once all of the devices were running, I calculated the expected current draw of the whole system. I then purchased a UPS with a high enough capacity to keep the system running for several hours without mains power.
Putting It All Together
Now that I had all of the equipment it was now time to connect them all together.
The setup of the computer was simple. First, I performed a fresh install of windows to remove all of the useless software that Lenovo had placed on it. Then I installed Blue Iris and configured the settings I needed.
The hard part was running the Cat 6 twisted pair Ethernet cable from my hidden security box to the location for each camera. This ultimately required running cables underneath the house as well as through the walls and ceilings. Finally when all of that was complete I had to learn how to crimp the RJ-45 connectors on the cable.
The next step was to create another network, separate from my home network for the security system to run on. To do this I purchased a router with an inbuilt 8 port switch. This allowed me to create another network and connect all of the cameras and the computer together.
I chose a different addressing scheme so it could easily be recognised as another part of the network and set up some port forwarding rules so that hosts from the main network could access the camera’s streams. I also needed to setup static IP addressing on all of the cameras to ensure that Blue Iris could always connect to them.
As an extra bonus, I used VLSM (Variable Length Subnet Masking) to only make the network large enough to support the number of devices I required.
The next step was to setup Blue Iris. First I configured each of the cameras and entered their IP address. Next I setup their sensitivity to motion. I performed this task a number of times, each time walking through the rooms and determining whether the camera was too sensitive or not sensitive enough.
Next I configured the different profiles in Blue Iris. For the moment I just created an armed and disarmed profile. The cameras were set to record all motion in both modes, however alerts were only to be sent to my phone if motion was detected in armed mode. Furthermore, when armed and motion is detected, the recordings made are emailed to myself to get the recording off site.
An Ongoing Project
The system is now working. It will most likely change as I learn more networking and security through my university degree. This will hopefully be an ever evolving system.