Navigation Menu

Skip to content

rodrigosetti/pet-monitor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pet Monitor

Make your pet's food bowl smarter by tracking refilling and consumption automatically.

picture

Screenshot Screenshot Screenshot

Why

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.

Features

  • 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).

Planned

  • Compute consumption trends over weeks.
  • Identify and notify anomalies (consumption deviated from expectation).
  • Optimization: cache

Requirements

Software

Installation

  1. clone this repo
  2. create a config/local.properties and override the properties to adjust to your environment (scale calibration, serial port path, etc.).
  3. initialize your sqlite database:
$ sqlite3 data.db < schema.sql
  1. install dependencies: npm install
  2. run: npm start
  3. your device should be serving a web application at port 8080

Extras

  • Use forever to manage your server process.
  • Use ngrok to expose your local server.

Hardware

  • 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.

Diagram

                               ┌───── usb ──────┐
                               │                │
     .───────.                 │                │
   ,'         `.         ┌───────────┐    ┌───────────┐
 ,'             `.       │           │    │           │
;                 :      │           │    │           │
│                 │══════│ OpenScale │    │ Raspberry │
│      scale      │══════│   board   │    │    PI     │
:                 ;      │           │    │           │
 ╲               ╱       │           │    │           │
  `.           ,'        │           │    │           │
    `.       ,'          └───────────┘    └───────────┘
      `─────'

About

Make your pet's food bowl smarter by tracking refilling and consumption automatically.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published