The aim of the project is to build a cam based footfall system to count people passages across a specified area of a shop, office, etc.
Count events are raised when persons cross the area in the configured directions (i.e. entry and exit).
Since data must be stored both locally and remotely, the device must be connected to a WiFi network to work properly.
Below are sample videos of what we would like to build:
DEVICE START UP
If not connected to a local network, the device activates a WiFi hotspot with HTML interface page to insert the configuration parameters:
- WiFi SSID
- WiFi password
- Owner email (the email used for the account registration process in our service website)
As soon as the device is connected to the Internet, the application updates the system datetime and then calls our REST API to register the device.
If the registration process occurs successfully, the WiFi SSID and password are stored for the next startups and an OK message is shown.
Otherwise, the HTML form is reproposed (without parameters saving) and a warning message pops up.
It occurs by posting some (json formatted) data to a specified URL:
- The mac address string of the device
- The owner email string
- The current local datetime
A successfully registration activates the counting functionalities of the application.
- When the application detects a passage (entry/exit) across the area, an event is stored in the local database.
- The total counts of the current day are sent remotely every 1 minute.
- The event data are sent remotely every X (e.g. 15) minutes.
Data time columns:
- ID (univocal reference)
- TIMESTAMP (local datetime)
- DIRECTION (entry=1, exit=2)
- FLAG (stored/not stored in the remote server)
CURRENT TOTAL COUNTS
Data are posted to our REST API in a json formatted string containing:
- mac address string
- entry value
- exit valuetimestamp
- mode (an integer constant with value equal to 2)
Unflagged data are posted to our REST API in a json formatted array of items containing:
- reference id
The url path contains the mac address of the device.
The http response contains a json formatted array of all the reference ids successfully stored in the web server.
The application updated the database flagging all the remotely stored records.
The application shows an HTML page at the LAN IP address with the main parameters of work and current relevant data.
The application controls one or more leds to signal the current device situation: for example, if the Internet connection fails a led starts flashing.
To apply for this job, please use the form below.