wintIoTeam / Internet of Thieves
Alarm system for your home
The LoRaHomeSecurity system allows you to monitor your home in simple yet powerful way. When someone activates the motion sensor while your are not home you will be instantly informed on your smartphone. The thief will we scared by the alarm and immediately leave.
Since it's energy autonomous and independent from your home WiFi connection the system can work even more reliably compared to existing solutions. Further, you can attach motion activated beacons on some objects of interest (TV, Safe, etc). When one of this beacons is moved and starts to advertise, the LoRaHomeSecurity will also inform you.
When you come home the system will automagically recognise you by a beacon you wear on your keychain and disables the alarm. When you leave your house LoRaHomeSecurity will enable the alarm.
You can add keychain Beacons placing then near your smartphone. With 2 clicks the ID is added to the system and ready to be used. The same goes for the motion sensible Beacons which trigger the alarm.
- BLE Reader
- LoRa Radio
- Presence detector
- Spring Application (RESTful API)
- BLE Configurator
- Alarm Monitor
Principle of operation of the Node
The node has 3 tasks: Alarm Hostile BLE * Ping
At the beginning of each cycle the Alarm Task is executed. After that, the conditions are met the Hostile BLE and the Ping tasks are executed.
The system has 3 states: Alarm Disabled Alarm Enables * Alarm Fired
The Alarm task checks whether an alarm occurred. It checks if the flag “motion_detected” is set to true. This flag is set by an interrupt function triggered by the motion sensor. Before sending an alarm, the system listens for 5s on BLE Advertisement packets. If a friendly beacon is received, the alarm won’t be sent. Hostile BLE Task This task checks if a hostile BLE Tag is around. This task enables the BLE Chips and listens during 5 seconds. This task is executed every 30 seconds. The variable “next_hostile_ble_task” contains the timestamp of the next scheduled execution.
Like the Hostile BLE task, it will be executed on a regular basis. The variable “next_ping_task” stores the timestamp of the next planned execution. The default interval is 60s.
A timer executes the “kick_sys_timer” function every seconds. This function increments the “system_time_seconds” variable
The rgb LED can assume 3 different states: Off: in the case the system is in the “Alarm_Disabled” state Green: when the system is in the state “Alarm_Enables” Red: when the system is in the “Alarm_Fired” state
- Mathias Gugg
- Mirco Gysin
- Benjamin Häring
- Jonas Schoch