pet-a-manger
🐈⬛🐈⬛ iwait, ifeed, istream while iwatch...
Opinionated cat feeder, optimised for RPi Zero W and other materials on hand.
iwait
trigger dispensation on a cron schedule
IWAIT_MEAL_SCHEDULES
controls cron schedule (e.g.21,2,6,*,*,*
to dispense@06:02:15
)IWAIT_SNACK_SCHEDULES
controls cron (snack) schedulesTZ
sets timezone (e.g.US/Pacific
)IWAIT_SLACK_{WEBHOOK_URL.ERRORS_ONLY}
controls Slack integration parameters
ifeed
dispense on
GPIO
(physical push buttons) orUSR{1,2}
Linux signals
IFEED_{MEAL,SNACK}_RUNSECS
controls dispensation duration in seconds onUSR{1,2}
eventsIFEED_BUTTON{1,2}_GPIO
sets button pins (physical board pin numbering schemeIFEED_PWM{1,2}_GPIO
sets servo motor pinsIFEED_HEARTBEAT_URL
send an empty HTTP request to reset alert triggerIFEED_ALERT_RESET_SIGNALS
reset trigger on specific signals only
istream
stream video to RTMP sink (poorly on RPi Zero W) with
raspivid
or serve timelapse stills (better) withraspistill
andnweb
ISTREAM_RTMP_URL
controls whereraspivid
streams to (e.g. YouTube, Restream, etc.); orISTREAM_STILL
image name forraspistill
timelapse (e.g. somewhere ontmpfs
ideally)ISTREAM_VIDEO_{H264_PROFILE,WIDTH,HEIGHT,FRAMERATE,BITRATE,KEYFRAME}
sets video parametersISTREAM_AUDIO_SAMPLE_RATE
(ffmpeg) sets empty audio stream bitrateISTREAM_IMAGE_{WIDTH,HEIGHT,ROTATE,ANNOTATE}
still image parameters
iwatch
serve a HTTP redirect or static HTML with
netcat
as well as/health
endpoint
IWATCH_STATIC_HTML
controls static HTML content (e.g. YouTube iframe/embed)IWATCH_REDIRECT_URL
controls redirect URL if no static HTML specified