Alarmino is a device I’ve built, that connects to my home burglar alarm system, and sends SMS messages to my phone whenever the alarm is triggered.
By now you might be thinking “oh no, yet another one of these send-me-an-sms-when-my-alarm-goes-off devices”, right? But please wait. There’s one big difference; Unlike most other such devices, Alarmino’s SMS messages include all the details typically available only to a central monitoring station such as the number of the zone that was triggered and the type of the event (burglary, fire, water leakage, etc).
Alarmino is build with an Arduino-Uno board, a GSM shield and some custom electronics.
What does it look like?
This is a picture of Alarmino inside its plastic box. You can see the GSM shield (with its antenna on the right) and the custom hardware. The Arduino-Uno is not visible here. You’ll just have to take my word – there’s an Arduino hidden there below the GSM shield.
Why did I need Alarmino in the first place?
Like many other homes, mine has a burglar alarm system installed. Alarm systems are designed to be connected to a central monitoring station via phone. When an alarm event is triggered at my home, my alarm calls the central station and reports the event (more technical details below). An operator at the central station receives a notification of the event, and decides what needs to be done. Typically the operator would call me on my cell phone (or send me an SMS), and report the event. I can then decide what to do; e.g. ignore the event, rush home to see what’s going on, dispatch a security patrol, etc.
Here is a drawing depicting this arrangement:
Recently I decided that I want my alarm to call my cell phone directly instead of going through a central station service. This is relatively simple – basically the alarm should be configured to call my cell phone instead of the central station. The big drawback of this change is that I only get a notification that an alarm was triggered. I don’t get any indication on the type of event. Specifically I want to know which of the many zones I have was the one that triggered the alarm. Basically each zone corresponds to an alarm sensor. The zone number is extremely important to me because different zones have different severity, and I tend to react differently to events triggered by different zones.
I realized that what I need is a device that will emulate the central station. It will receive the alarm’s calls, will ‘talk’ with the alarm and receive all the event’s details, and send me an SMS with all this information. And this is how Alarmino came to be.
What’s with this funny “Alarmino” name anyway?
I chose the name “Alarmino” following the popular tradition of naming all things Arduino with words ending with “ino”. And most importantly, it brings a nice Italian chic to the project, don’t you think?
- Connects to any alarm system that “speaks” the Contact-ID protocol (virtually any commercial alarm system in existence)
- User interface is based on a build-in shell. The user controls Alarmino by connecting a PC to its USB port, and running a standard terminal application (such as PuTTY). Console commands include:
- ? – Prints a help message describing all available commands and their syntax
- S – Prints current system status
- L – Prints event log
- N – Program a new phone number
- P – Set/change password
- D – Set system debugging message level
- T – Set system time and date
- C – Check and prints the current credit situation with the cellular carrier (useful when using a prepaid SIM)
- A – Generate an artificial ContactID msg and send a report via SMS messages to all configured phone numbers. Used for testing that the system is configured and operate properly
- M – Connect terminal directly to the GSM modem. This enables the user to “talk” directly to the GSM modem by entering AT commands. It enables all sorts of ultra-geeky things
- System status can be queried by sending an SMS from a phone to Alarmino. When Alarmino receives such an SMS, it responds by sending an SMS of its own with the required information. The reported status information include:
- Remaining credit with the cellular operator (useful when using a prepaid SIM)
- GSM signal quality. Admittedly this is not terribly useful, because obviously if you get this message, the GSM reception is good enough. However techies love this kind of data, and we’re all techies here, aren’t we?
- Current temperature. Also for techies, so they can verify that the temperature doesn’t get too close to the maximum operating temperature allowed
- Received SMS commands (such as status query described above) are password protected. Each such SMS message must start with a pre-configured password. Other received SMS messages are silently ignored
- Alarmino stores alarm events in a log in its non-volatile memory (EEPROM). The last 16 events are stored. Every new event replaces the oldest one. For every event Alarmino stores the Contact-ID information (e.g. which zone triggered the alarm), and the date and time when it occurred
You can read more details about Alarmino in the following pages: