https://github.com/a-dubs/smart-alarm-clock-mat
Alarm clock on smartphone that is turned off only by standing on a pressure sensitive mat for 10 minutes
https://github.com/a-dubs/smart-alarm-clock-mat
expressjs nodejs raspberry-pi rest-api
Last synced: about 2 months ago
JSON representation
Alarm clock on smartphone that is turned off only by standing on a pressure sensitive mat for 10 minutes
- Host: GitHub
- URL: https://github.com/a-dubs/smart-alarm-clock-mat
- Owner: a-dubs
- License: gpl-3.0
- Created: 2022-01-06T18:43:00.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-04-16T00:05:30.000Z (about 2 years ago)
- Last Synced: 2025-01-20T19:51:55.413Z (over 1 year ago)
- Topics: expressjs, nodejs, raspberry-pi, rest-api
- Homepage:
- Size: 59.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Smart Mat Alarm Clock
Alarm clock on smartphone that is turned off only by standing on a pressure sensitive mat for 10 minutes
## Summary
- This project had 3 different pieces
- The smart mat
- Pressure sensitive mat that acts as button of sorts - when stepped on, its resistance drops to nearly zero and allows current to flow through.
- Raspberry Pi Zero W that runs a python script which sends HTTP requests to the API hosted on my server
- Sends periodic "heartbeat" POST request every 30 seconds
- Sends POST request whenever the state of that mat changes
- Has ghosting/accidental step off prevention - mat's state must change for >5 seconds before POST request gets send to API
- The alarm clock software and automation on my phone
- "Wake me up!" Android app provides the alarms that are monitored and triggered by "Tasker"
- "Tasker" Android app monitors and triggers alarms provided "Wake me up!"
- The Tasker app is where all of the logic lives:
- Request current state of the mat (stood on / not stood on) every minute
- If mat is not being stood on, retrigger the alarm and reset the minutes stood on counter
- If 10 consecutive iterations (each 1 minute long) occur where the mat is stood on, then disable the alarm
- The public API hosted on my server
- Node.Js with Express
- Receives the mat's current state and filters out false positives
## Project Metadata
**Project Status** : Archived
**Project Progress** : Completed
**Project dates** : Dec '21 - March '22