A Flask-based web application that tracks children's location to aid parental control using Arduino Cloud.
Clone this repo:
git clone git@github.com:emberfox205/stalkinator.git
Install all the dependencies (preferably into a virtual environment):
pip install -r requirements.txt
Register an Arduio Cloud account and subscribe to at least the Maker tier.
Register for a Geoapify key (free of charge).
In your local repo, set up an .env
file with the following structure:
CLIENT_ID=arduino_client_id
CLIENT_SECRET=arduino_secret
GEOAPIFY_API_KEY="geoapify_api_key"
Replace arduino_client_id
, arduino_secret
and geoapify_api_key
with actual data.
Note
The Geoapify key must be quoted.
[Optionally] Install DB Browser for SQLite to manage the database with a GUI.
Download mobile Arduino app for the tracked target:
Turn the device into a Thing/Device and note the Thing ID to register on the web application.
Note
When registering on the webpage, your email matters as emails informing whether the tracked target has left / entered safezone or entered dangerzone will be sent there. Check your spam in case you can not see them.
Run app.py
for the application itself. Follow standard Flask procedures to open a localhost website. app.py
can be run independently without Arduino data for demonstration purposes.
python app.py
Run data_script.py
to interact with the Arduino Cloud API.
python data_script.py
Warning
- Only the Billiards category in the Dangerzone tab is functional. Other options are for demonstration.
- Options in the Settings tab are for demonstration purposes only. They are, for now, out of scope of the project.