This demonstrates how to determine if the security system status has changed, what has changed, and how to take action based on those changes. Status : Processes and prints the security system status to a serial interface, including reading from serial for the virtual keypad. The included examples demonstrate how to use the library and can be used as-is or adapted to integrate with other software. At this point, this interface resolves all of the earlier issues and goes beyond my initial goal of simply seeing if the alarm is triggered. After resolving the data errors, it was possible to reverse engineer the protocol by capturing the Keybus binary data as the security system handled various events. Updating the existing projects to fix this turned out to be more troublesome than starting from scratch, so this project was born. Poking around with a logic analyzer and oscilloscope revealed that the errors capturing the Keybus data were timing issues. While there has been excellent discussion about the DSC Keybus protocol and a few existing projects, there were major issues that remained unsolved.
Tapping into the data lines is an ideal task for a microcontroller and also presented an opportunity to work with the Arduino platform. I was interested in finding a solution that directly accessed the pair of data lines that DSC uses for their proprietary Keybus protocol to send data between the panel and modules keypads, etc. I Wanted : Notification if the alarm triggered.
#Dsc Serial Protocol code
All the code is available on GitHub in case you also have a DSC 1550 alarm system. This allows him to send text messages to himself when the alarm system is armed, disarmed, or triggered. He’s using an Arduino Uno and an Ethernet breakout board to hook it up to the network. The cool thing is he was actually inspired by another similar project we shared on Hackaday a few years ago entitled Bending a Home Security Control Panel to Your Will. But that project only showed you how to interface the Arduino with the keypad - went the extra mile and interfaced directly with the control board for more features. Not wanting to pay a monthly fee to have it setup, he decided to try interfacing an Arduino with the system in order to push events to the net! When moved into his new house, he found an old alarm panel set up - but it had no monitoring service any more.