Software

The software takes the form of a BASH script running as a service on the Raspberry Pi. The script auto runs at start up allowing the system to operate without keyboard or mouse and ensuring automatic recovery from power outages.

A number of active web pages interact with the BASH script enabling remote control over the internet. The web pages are HTML with PHP, and use the jQTouch JavaScript plugin to provide animated graphics and page transitions. This give the web app the look and feel of a native iPhone app. The creators of the plugin are in the process of re-branded to jQT, so I’ll refer to it by the new name.

It’s worth pointing out that the software is not dependant on the circuit board, so can be evaluated in isolation. All the source code for the system is available on the Git Hub: https://github.com/oddwires/alarm-system

The rest of this page details the process to get the code from the Git Hub and onto your RasPi / iPhone.

Build details

The items below are sufficient to build the system to work over a local network.

Things you will need…

  • Raspberry Pi, monitor, keyboard, power supply
  • Network port (with Internet access)
  • The IP address of the RasPi
  • 8GB class 10 SD card
  • Windows 7 PC running terminal emulator software (eg PuTTY)
  • iPhone SE or Safari browser

The additional items below are required to access the system over the internet.

  • Router configured to provide address reservation for Raspberry PI
  • Router configured to forward Raspberry PI port 80
  • Email account and email server connection details (stages 6 & 7 assume this is a gmail.com account).

Linux build

The Linux build is based on the current Raspbian wheezy image. The image, and full instructions on how to load it to the SD card can be found at: http://www.raspberrypi.org/downloads

Don’t forget to use the config utility at first boot to expand the file system.

Update 25/05/2014 – I’ve just pushed ver 2.00 code to the GitHub.

Version 2.00 started after I upgraded my iPhone to IOS7, and found some issues with the jQT animations going a bit jittery. So I’ve completely re-worked the GUI using the latest version of jQT, and incorporated some fun new features, such as support of colour themes, ability to view log files, my own experimental colour theme ( khaki ), along with the new theme from jQT ( Innsbruck ). I’ve also made the interface much more of an ‘I’ thing by removing a lot of the unecessary buttons. Additionally there are all sorts of code enhancements, like moving away from ad-hock JavaScript routines, to using a single jQuery module, this gets all the supporting code together in one place. Hopefully this will make it easier to understand the operation of the code.

Update 10/01/2015 – Ver 3.00 code pushed to the GitHub.

Version 3.00 code is in the new ‘alarm-system’ repositry, and works with the new circuit board providing a more profesional solution to switching the remote control channels. It also provides an additional 4 Alarm Zone inputs, and numerous code improvements, and can be made to run on any Debian system, not just a Raspberry Pi. I’ve mopped up most of the previous issues spotted by Adilet and Ezio and fixed the file permissions in the install process. But I’m sure there is probably a shed load of new issues just waiting to be found. I’ll create some new pages with further details over the next few weeks.

Update 17/10/2015 – Ver 4.00 code pushed to the GitHub.

So many changes I created a dedicated page to explain them all.

Update 11/10/2017 – Ver 5.00 code pushed to the GitHub.

This has a new GUI based around the JQuery mobile framework. Also updates to control radiator valves. And the Operating System has been re-aligned to the current version of Raspian ( Stretch ).

Warning – The YouTube video is out of date – the current application is based around a standard menu bar structure, rather than the earlier rotating 3D cube. I’ve also made use of Action Bars to clear up the interface. But it should all be fairly intuitive. If you have any questions, just leave a comment and I’ll get back to you as soon as possible.

Configuration and Application install

I’ve removed the V2 build instructions from this page, as there where a few issues with that release. All the issues have been fixed in the V3 code, and the install instructions can be found on the Github wiki.