Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/edward62740/i2ds
This is a security sensor system with app control and cloud messaging capabilities.
https://github.com/edward62740/i2ds
efr32 fcm-notifications firebase freertos iot-sensors micrium security sub-ghz wifi
Last synced: about 1 month ago
JSON representation
This is a security sensor system with app control and cloud messaging capabilities.
- Host: GitHub
- URL: https://github.com/edward62740/i2ds
- Owner: edward62740
- Created: 2022-01-04T06:55:52.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2022-09-29T13:11:08.000Z (over 2 years ago)
- Last Synced: 2023-03-04T05:04:02.339Z (almost 2 years ago)
- Topics: efr32, fcm-notifications, firebase, freertos, iot-sensors, micrium, security, sub-ghz, wifi
- Language: C
- Homepage:
- Size: 892 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Internal Intruder Detection System (I2DS)
## Overview
This is a sub-GHz proprietary security sensor system. The sensors listed below will enter sensing mode once enabled through the [CPN GUI](https://github.com/edward62740/i2ds/blob/master/CPN%20ESP32/src/app_gui.cpp) or the [mobile app](https://github.com/edward62740/i2ds/tree/master/App). Any detected intrusion will then trigger a [FCM](https://github.com/edward62740/i2ds-fcm) background notification on the smartphones of the users with the mobile app installed.
Used in conjunction with [WMNS](https://github.com/edward62740/Wireless-Mesh-Network-System) for integrated data collection and security.## Related/Parallel Development
[Firebase Cloud Messaging](https://github.com/edward62740/i2ds-fcm) for providing mobile notifications of security events
[Google Actions + Dialogflow](https://github.com/edward62740/i2ds-assistant) to integrate with Google Home systems
[Camera + tflite Person Detector](https://github.com/edward62740/i2ds-sentinel) to provide image capture and continuous on-device person detection with tensorflow lite
[Firebase Responder](https://github.com/edward62740/firebase-responder) to trigger other IoT devices' actions## System Structure
![](https://github.com/edward62740/i2ds/blob/master/Documentation/functional.png)
#### Subnetwork
All network management and communication between sensors is restricted to this region. Some management functions are exposed to the Wi-Fi/GUI co-processor via USART.
#### Local Sensor Network
Includes the subnetwork, as well as the CPN Wi-Fi section, which is used to communicate with Firebase RTDB.
#### Mobile App
Used to control the active/inactive state of the sensors, receive status updates.
#### FCM
Used to detect certain changes to the RTDB (i.e sensor triggered), and notify the user even if the app is not running.
## Sensors
CPN | PIRSN | ACSN
:-------------------------:|:-------------------------:|:-------------------------:
This is the main network controller
and provides a touch GUI for setting sensors|
This is a PIR sensor node for detecting *motion* |
This is a hall-effect sensor for detecting
open/closed doors and windows## Important Information
### PIRSN
* This sensor uses EKMB1110112 PIR sensor to detect motion up to a distance of 7m (indoors).
* Typical 5.5uA in sleep, avg 19uA with 2s polling and 5s reporting interval.### ACSN
* This sensor uses the SM353LT hall effect sensor to detect when the sensor's magnet moves away (door opens).
* Typical 5.3uA in sleep, avg 19uA with 2s polling and 5s reporting interval.### CPN
* This device contains two microcontrollers, for the sensor network [(EFR32xG23)](https://www.silabs.com/wireless/proprietary/efr32fg23-sub-ghz-wireless-soc) and Wi-Fi/GUI (ESP32). Sensor network functions are exposed to the Wi-Fi processor via USART. While there is significant traffic, in effect the only change that can be made to the sensor network is to activate/inactivate the sensors. Doing so also requires the relevant Firebase auth credentials. This provides some protection from attacks based on injecting false data into the system to incapacitate the sensor network.
* This device also provides internal battery backup with FCM notification when triggered. It is assumed that physical security beyond debug lock, encryption etc. is not crucial as the sensors would have already triggered warnings before the CPN can be tampered with. This functionality is mostly to keep the system afloat during a power outage (but this must be used with a backup 4G network or other such systems).### Overall System
* From testing, there was a net delay of 3-4s from sensor triggered to receiving FCM notification on client smartphone. Results will vary based on Internet speeds.
* Sensors are capable of receiving messages to implement the aforementioned enabling/disabling feature. This is necessary to prevent constant triggering of the sensor when not in use, and is much more energy efficient than letting the sensor trigger all the time and filter on the coordinator side.
* The subnetwork communicates in the 915MHz ISM band, but a simple hardware swap of the chip antenna (W3211 -> W3214) allows for reconfiguration to 868MHz band. RF matching is optimized for both. Modulation/frequency is set to OQPSK 500kbps, to increase operational range set to DSSS with lower bitrate, enable FEC.
* For increased network size, where >2 hops are expected, the ACK timeout should be increased.## Security
* The sensor HW is built around the [EFR32xG23](https://www.silabs.com/wireless/proprietary/efr32fg23-sub-ghz-wireless-soc) series, industry-leading at the time of this release, with PSA 3 level security qualifications. Anti-tamper functions are configured such that the sensor will automatically raise a warning and drop out of the network if tamper is detected.
* Sensor OTA communication is AES encrypted with [Mbed TLS](https://github.com/Mbed-TLS/mbedtls).
* Only necessary state control functions are exposed outside of the subnetwork.
* Parts of this project are not published due to security concerns. Please contact the developer for more information.## Upkeep
* Estimated $0.00 cost from Firebase cloud functions for triggering [FCM](https://github.com/edward62740/i2ds-fcm), unless triggered more than 2 million times/month for some reason.
* More than 2 years battery life for sensors, using low-cost CR2450 cells.
* Electricity costs from CPN. Consumes less power than a night-light.