FonGuard turns your phone into a sentinel watching out for intruders
and
reporting any suspect motion, noise or vibration
in real time.
FonGuard aims to detect intruders by using any of these three triggers:
- Camera (motion detection)
- Microphone (noise detection)
- Accelerometer (vibration detection)
Once FonGuard has detected something, it will perform the action(s) associated with the trigger as described in the rules (see below).
The following actions are currently available:
- SMS
- MMS
- Phone call
- HTTP request
- AWS S3 upload
Action | Mobile Network | Mobile Data | Wi-Fi |
---|---|---|---|
SMS | Required | ||
MMS | Required | ||
Phone call | Required | ||
HTTP | Sufficient | Sufficient | |
AWS S3 | Sufficient | Sufficient |
For example:
- Sending an MMS requires Mobile Data to be enabled and available, while sending an SMS only requires Mobile Network and will work even if you have no Mobile Data (left)
- Sending an HTTP request can work with either Mobile Data or Wi-Fi Internet alone
For this reason, it is recommended to have multiple actions configured. For example:
- MMS: will send a notification with attachment
- SMS: will send a notification (without attachment) in case you have no Mobile Data left
- AWS S3: will upload the attachment in case there is no Mobile Data left for the MMS but you still have Internet access (e.g. via Wi-Fi)
Rules are simply the link between a trigger (e.g. motion) and an action (e.g. upload the picture where the motion was detected on Google Drive).
Additionally, rules hold extra parameters to tweak the behavior of the action (see below).
An unlimited number of rules can be created for any combination of trigger and action.
Settings are at the core of FonGuard and need to be carefully tweaked for the app to work correctly.
Each device is different and so the triggers settings need to be adjusted for the specific
hardware that you have. For example, some cameras might be much more noisy than others, so in this
case you would need to configure a higher pixel_value_diff_threshold
.
Also, by default, there is no action defined, so you need to define the action(s) you want and create rule(s) to associate trigger(s) with the action(s) you defined.
All this can be done easily by writing a JSON file and then importing it into the app ("Import" tab in the app). Due to the vast (and growing) number of settings in FonGuard, it is NOT possible to edit the settings via the user interface.
Here is an example JSON settings file along with the description of each parameter. You can
copy/paste it and modify the values to suit your needs. Make sure to remove all the comments
(everything after //
, including //
) because otherwise you will get syntax errors.
Checked checkbox means the feature is already implemented and working, unchecked checkbox means it's still in development.
- Triggers
- Camera (motion detection)
- Microphone (noise detection)
- Accelerometer (vibration detection)
- Heartbeat (device/app death detection)
- Actions
- SMS
- MMS
- Phone call
- HTTP (GET, POST)
- AWS S3
- Rules
- Retry mechanism
- Cooldown mechanism
- Enable/disable payload attachment
- Settings
- Import
- Export
Any help is very appreciated and most welcome!
Feel free to contribute to the project by:
- Implementing a new feature or fixing a bug: open a Pull Request
- Reporting a bug or suggesting a new feature: open an Issue
- GuiTeK (project owner)