Make your pet's food bowl smarter by tracking refilling and consumption automatically.
We all love our pets. Sometimes they get sick, and they might be masters in masking their symptoms (specially cats). Lack of appetite or appetite disorders, in general, can be an indicator of a underlying serious condition. The early we caught those on, the better. This tool hopefully would allow pet owners to identify eating habits anomalies prematurely, additionally, provide them with data to better inform decisions.
- Track refilling and consumption events.
- Compute consumption trends over days.
- Notification via SMS for events like consumption, refilling, and inactivity period (via Twillio integration).
- Compute consumption trends over hours & weekdays (punch card).
- Compute consumption trends over weeks.
- Identify and notify anomalies (consumption deviated from expectation).
- Optimization: cache
- clone this repo
- create a
config/local.properties
and override the properties to adjust to your environment (scale calibration, serial port path, etc.). - initialize your sqlite database:
$ sqlite3 data.db < schema.sql
- install dependencies:
npm install
- run:
npm start
- your device should be serving a web application at port 8080
- A Scale (e.g. cheap kitchen scale)
- Sparkfun OpenScale or anything that will output the same serial data (Arduino + Temperature Sensor), as specified by the firmware.
- A small computer like Raspberry PI, with access to the Internet, so that it can run a server.
NOTE: if using OpenScale, you need to configure it first to 1) disable timestamp, disable remote temperature, and enable raw.
┌───── usb ──────┐
│ │
.───────. │ │
,' `. ┌───────────┐ ┌───────────┐
,' `. │ │ │ │
; : │ │ │ │
│ │══════│ OpenScale │ │ Raspberry │
│ scale │══════│ board │ │ PI │
: ; │ │ │ │
╲ ╱ │ │ │ │
`. ,' │ │ │ │
`. ,' └───────────┘ └───────────┘
`─────'