No description
Find a file
2023-08-16 16:53:38 +02:00
scanner Try to restart network if it fails first time 2023-08-16 16:04:41 +02:00
website Error on unknown dev, format 2023-08-16 16:53:38 +02:00
README.md Error on unknown dev, format 2023-08-16 16:53:38 +02:00

CZI presence detector

Tool to detect the presence of pre-defined devices by their WiFi MAC addresses.

How scanning works

Sets the wifi adapter into monitor mode, then listens to surrounding packets listing all detected devices into wifi_map.yaml. Resets the wifi adapter to normal mode for uploading the results, filters the results by the mac addresses in identities.yaml and sends all matched identities to the front-end webhook server in website. This server stores the presence information locally and displays it with website/index.php with a timestamp of the last update.

What the website is capable of

Shows the last update of the upload.py routine. It also allows to add identities by their name and mac and to delete identities by their mac. The mac addresses are hashed server-side and then stored into the world-accessible identities.json.

Set-up

Dependencies:

  • Scanner: Python3, trackerjacker (pip3)
  • Website: php

Configs to change:

  • scanner/scan.sh:
    • WiFi adapter name
    • network restart routines (front-end)
  • scanner/upload.py:
    • URLs for webhook and identities
    • webhook secret
  • public/update.php:
    • webhook secret

Put scanner onto the scanning device (e.g. Raspberry Pi) and put scanner/scan.sh into a cron job. Put website onto a php-capable webserver and point your domain to it.