I would be most gracious for any advice I can get. This thread could lead to a series of questions but it's all for a good cause. My daughter doesn't like leaving her new kitty at home for long so i'm endeavoring to build her an IOT pet feeder that will have a camera on it so she can see her kitten when she's not there. I plan on printing the feeder itself with my 3D printer (Lulzbot Taz 5) and I have that design underway already. I've been reading and testing various IOT sw and hardware tools and have a descent handle on a variety of components that I believe i'll be able to stitch together to pull off this project.
I'm a solutions development manager for an enterprise sw company by trade and work very closely with multiple scrum teams of developers and am therefore fully indoctrinated into programming concepts and practices although disappointingly, have not had the time to learn to code to a point I could call myself proficient yet.
I will share my progress along the way for anyone who is interested and would be very grateful for any and all help. Just as a reference, here are some of the items and level of experience I have.
- Arduino Hardware - multiple form factors (nano, micro, uno) multiple on hand
- ESP8266-12E development board - multiple on hand
- Experience with straight Arduino sketches on these as well as ESP Easy to control a variety of sensors IO pins over MQTT etc
- Raspberry PI (multiple on hand)
- OpenHab - for home automation
- MQTT
- Firm grasp of all concepts and have installed brokers (Mosquito) on RPI, Windows and Mac
- Also have done some functional experiments with adafruit.io, AWS IOT and Microsoft Azure for IOT
- Node-red (beginner but reading feaverishly)
- Arduino coding (beginner to intermediate knowledge)
- General electronics (many parts on hand for a project like this)
- Mechanical CAD design Fusion360 - Intermediate
- 3D Printing (Lulzbot TAZ5)
At the moment, my plan is to design and print all parts of the feeder (multiple parts glued or screwed together). (my printer has a roughly 1 cubit foot print volume). It will be large enough that I can house the RPi and or Aruduino in a cavity back of the body.
The high level requirements of the project are the following:
- Storage vessel capable of holding 4-6 cups of food (enough for 3 days of food for the pet)
- Lower portion of vessel will be cone shaped with an opening at bottom to facilitate portioned feedings (currently under design)
- Distribution of food may be accomplished with screw drive (still working on design)
- The feeder will be connected to wifi network
- External internet access to the feeder will require authentication
- Feeder will have a web based front-end served from the RPI3
- Front end will be straight forward with a few basic buttons for dispensing food (hopefully 2 portion sizes) full and half meal portions
- Another button to start a camera on the feeder that will allow the owner to see if/when the pet approaches the feeder
At the moment, i'm thinking that Node-Red is my best candidate to accomplish all of the front end needs via the dashboard as I think I have enough general understanding to link dashboard buttons to routines that will trigger the motor rotation and dispense the food.
Currently i'm having trouble figuring out a way to display the pi camera within the dashboard to help facilitate taking the picture. Can anyone make a recommendation? I've installed the node-red-contrib-camerapi but am having trouble figuring out how to present it in the dashboard.
Thanks in advance for any help.