0. Set up your Raspberry Pi
This kit has been tested on Raspberry Pi 4 and 5. If you just got your RPi, follow their documentations to set it up. 📷 You will also need a camera attached to the RPi to test this out. This is the most standard RPi camera, but any camera should work. 📢 If you want to hear the narration, you will need to set up 11labs and attach a speaker to the RPi.1. Create and activate your venv
2. Install requirements
3. Create an .env file
4. Get OpenAI API key
Visit https://platform.openai.com/account/api-keys to get your OpenAI API key and set theOPENAI_API_KEY
in the .env
file
5. Get Resend key
Visit https://resend.com/api-keys to get your Resend API key and setRESEND_API_KEY
in the .env
file
Note that before using Resend to send emails, you also need to verify your domain here. Resend also has a helpful guide on everything related to domains.
You can send text messages to your phone by email using your cellphone provider’s email SMS gateway. See this article here for how it works and common US providers’ gateway.
6. (Optional) Get ElevenLabs key
a. Go to https://elevenlabs.io/, log in, and click on your profile picture on lower left. Select “Profile + API key”. Copy the API key and save it asELEVEN_API_KEY
in the .env
file
b. Select a 11labs voice by clicking on “Voices” on the left side nav bar and navigate to “VoiceLab”. Copy the voice ID and save it as ELEVEN_VOICE_ID
in .env
7. (Optional) Enable local object detection
SetUSE_LOCAL_MODEL
in your .env
file to true
. See variable interesting_array
in camera.py
for trigger objects. Helpful to cut down OpenAI calls but off by default to speed up start up time.
8. Run the program
8. Update the prompt!
You probably noticed that we have a default prompt in .env calledREQUEST_PROMPT
— you can update this prompt and tell the AI model to detect other things! One example that worked for me is the following prompt — I got a summary of what my cat was doing every minute.
"You are an AI assistant who can send emails based on what you see in the picture. If you see a cat in the picture, send an email summarizing what it's doing. The email should include a description parameter, which is describing what the cat is doing. For example, the description could be 'The cat is playing with a ball.'"