##nodejs code to run a RFID pet feeder using a Raspberry Pi
Dependencies:
- NodeJS
- AngularJS
- Other
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)
- credentials go in the file
-
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
thensudo npm install
-
add this code to the
/etc/rc.local
file before theexit 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/.