/roboFeeder

nodejs code to run Raspberry Pi RFID pet feeder

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

roboFeeder

##nodejs code to run a RFID pet feeder using a Raspberry Pi

github repository

project website

RoboFeeder

Dependencies:

TODO LIST

  • General
    • get hardware remaining specifications (wire lengths, wood sizes, etc.)
    • build instructable with pictures while building next physical device
    • rules page is slow to load - wondering if compiling complex jade template and then rendering it is too much for Raspi B+, test on RasPi 2
    • add/update to instructions for servo setup, pi-blaster install/setup (pi-blaster) [https://github.com/sarfata/pi-blaster] [https://github.com/sarfata/pi-blaster.js]
    • add servo and flag to parts list
    • add needed tools list
    • update fritzing schematic to include servo/flag
  • UI
    • logo - use awesome logo my sister made on site and such, add pictures of flag with logo waving to site
    • help page - add to this page as I get additional feedback from beta testers

Parts List:

  • Raspberry Pi (B+, Pi 2)
  • Micro SD card (8GB+) compatible with Raspberry Pi with Raspbian installed (Amazon)
  • Wireless network dongle compatible with Raspberry Pi with a decent antenna (Adafruit)
  • PIR Sensor (SparkFun)
  • RFID Sensor with serial output (9600 bps to use codebase without changing) (Amazon)
  • Logic Level Converter 5v - 3.3V (bi-directional) (SparkFun)
  • L293D Chip - Dual H-Bridge Motor Driver (Adafruit)
  • AdaFruit Half-size Perma-proto Raspberry Pi (Adafruit)
  • Downgrade GPIO Ribbon Cable for Pi A+/B+/Pi 2 - 40p to 26p (Adafruit)
  • Resistors (220, 1K, 10K)
  • Wire (ideally of various colors) //TODO: estimate total length, gauge and optimal number of colors
  • Momentary Push Button Switch x2 (Adafruit)
  • CD/DVD-ROM Drive (Up-cycled - as long as the drive tray and motor work, the older the better, older drives are more robust)
  • Hinge (1-2 inch) //TODO: measure
  • Hook and Eye Latch //TODO: measure
  • Small self tapping screws //TODO: Measure size and count quantity
  • 3/4 inch wood //TODO - get minimum measurements of piece that all pieces can be cut from
  • 5.5v - 23v output Standard AC to DC wall plug - Size M (ideally recycle an unused one from something else or get one from your local reuse store)
  • Size M DC Coaxial input power jack (Radioshack)
  • Hobbywing 5V/6V 3 Amp Switch-Mode Ultimate BEC (DealExtreme)
  • Shrink Tubing(Adafruit)
  • Male Single Row Headers (Adafruit)
  • Female Headers(Adafruit)

Setup Instructions

  • setup wifi

    • credentials go in the file /etc/network/interfaces
    • follow these instructions from Adafruit (even though they say they are for Occidentalis (Adafruit's OS) they work fine for Raspbian)
  • disable shell and kernel messages via serial in the raspi-config utility

  • connect to the pi via ssh, make sure you are in the pi user's home directory (/home/pi/) and run git clone https://github.com/DrCord/roboFeeder.git

  • cd roboFeeder then sudo npm install

  • add this code to the /etc/rc.local file before the exit 0 line

    `#autorun pi-blaster script to allow servo control'

    su pi -c 'sudo /home/pi/pi-blaster/pi-blaster < /dev/null &'

    #autorun node.js server,js file on boot

    su pi -c 'sudo node /home/pi/roboFeeder/app.js < /dev/null &'

    #autorun the soft shutdown switch code

    python /home/pi/roboFeeder/softShutdownSwitch.py

License

Software, parts list and CAD files to build and run a Raspberry Pi controlled pet feeder Copyright (C) 2015 Cord Slatton-Valle cord42@gmail.com (cordslatton.com)[http://www.cordslatton.com]

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.