Introduction: Gmail API Triggered Flag
"Mail Man" is a simple arduino based gmail notifier. It leverages the gmail api along with arduino serial communication to allow the arduino to control a servo and hence wave a gmail flag when a new message is received.
Step 1: Items for This Project
You will need the following items for this project:
- An Arduino. ( I used an Arduino Uno)
- A small micro servo
- 3D printed flag.
Step 2: Flag
3D print the flag using the attached stl file. The servo from adafruit will come with 2 small screws that can be used to lock the flag onto the servo hand.
Attachments
Step 3: Code
Python
This project will use a python script to make calls to the gmail api and an arduino scrip that will activate the servo. The python script will recognize whether a new email has been received by comparing the most recently stored email_id (an identifier used by the api to differentiate emails). The script will make this check every three seconds. If a new message is received, there will be a discrepancy between the email_id stored and a message will be sent to the arduino to trigger the servo.
Arduino
The arduino will be listening on at a baud of 9600. If a new message is received, it will rotate the servo.
please refer to this git repo for code - Notification Code
Step 4: That's It
Once the code is setup as mentioned in the repo, you should be good to go.
Think of creative ways of fastening the servo to your machine. I 3d printed a small hook (it is imperfect) and taped the servo to it. The hook is used to hang the servo on my screen.
Enhancement ideas.
- Package the arduino and servo in a small box.
- run a cron job to run the python script
- try using google apps script.
- use a raspberry pi instead of an arduino.