I have recently finished working on a project that would use my raspberry pi to operate my doors deadbolt. There is an RFID reader connected though USB, a servo on port 18, a reed switch on 24 and a button to manually trigger the deadbolt on the inside of the house on port 23.
The problem is not the code for the system, but rather the GPIO ports. Occasionally the GPIO port that triggers a manual unlock for the door will randomly fire causing a major security breach. And looking from the logs, it looks like occasionally the GPIO port for the reed switch fires as well within 2 seconds. But not always. So as a temporary countermeasure, I have put a timer on how long the door can be left unlocked. But this is a poor excuse for a fix. The issue happens around three times a day.
I am not sure if anyone has any history of using this module, but I am using the RPIO module. The exact method I am using to unlock the door is: RPIO.add_interrupt_callback(23, self.e_inside_unlock, debounce_timeout_ms=1000)
. The log is created from the event calling self.e_inside_unlock
and the callback can only be triggered by the interrupt. The GPIO ports have resistors to limit current and is set up as follows (The second illustration is the one I have configured):
Thank you for your time. Any suggestions would be appreciated.