About.

There's not much to say, really. It's a gate. With a WiFi interface

Oh, OK, here's the gen:

Hardware



An Electric Imp device looks after the WiFi and basic I/O. It has a super-low-quiescent switch mode power supply attached to it, along with some signal conditioning and an I2C temperature device. The whole unit runs on a wide range of 4V through 50V DC, and pulls typically 8uA.
So as you can see running it on 4 AA cells is easy.
Theres a proximity magnetic reed switch with some signal conditioning on a bit of veroboard.
And a magnet in the gate.

It's all held together with hot glue. Of course.

Software

The Electric Imp talks to an agent hosted by the Electric Imp company (the price I pay for not having to faff with a WiFi TCP/IP stack is having to use their service...), which spits out JSON every hour or so with the gate state and the temperature, and the device time.
When the gate opens the Electric Imp is woken up and reports gate open. Thence it goes low power again waiting for the gate to close, when it sends another JSON packet.
Once the gate closes it goes back to its one hour poll of the gate.

The server software runs in C# using the following stack:

This service polls the agent JSON code and parses it (using some nice async C# code... love that parallel stuff) into the database
When the gate opens, it does a screen grab from the CCTV system, and saves that to the database as well, as a BLOB.
(This bit is under dev as I want it to grab a clip of video and analyse that - this bit is ongoing...)

Then the service (which is arranged as a collection of independant modules communicating via Microsoft Reactive Extensions in a pub sub arrangement) does a bunch of analysis on gate state vs the rules - gate open late at night, gate left open, etc.
The result of this analysys, and various housekeeping, gets fed through to a messaging subsystem that sends me an SMS text or an email, or both, depending on the event being registered.

Theres a bunch of other stuff in there too, which will be included in the Battery Monitor project...

The Web UI is again C#.Net:

The website is hosted on IIS7 by Arvixe in Texas.