A personal automation assistant for my dorm room is something I've planned on making before even coming to college, and luckily for me, an automation class gave me an excuse to make it sooner than I'd expected! Armed with a Raspberry Pi, some electronics, an Arduino Uno, and a whole 'lotta Python, I've created version 1.0 of BrYOUno (Bruno to his friends). Ask him how he's doing!
*Automates dorm lightswitch
*Plays Google Play Music
*Plays audio from MCParks Audio Server (a personal project of mine)
*Lists, adds, and completes Todoist tasks
*Queries Brown Dining API (or it will, when the API is updated)
*Logs all actions/errors to SQLite database
*Voice activated, or controllable from web dashboard
*GPIO digital output to infrared transmitter circuit
*Sends signal to infrared receiver, which inputs to an Arduino Uno
*Arduino Uno switches the state of a servo, which turns a piece of wood housing the lightswitch
#####Lights Demo Video
*GMusicProxy, open source locally hosted Google Play Music API
*User chooses between song, artist, playlist, or station, system obtains necessary information, then fetches the M3U playlist file
*M3U file is handed off to mplayer subprocess, which plays the audio
*Stopped with Flask API call, “/music/stop”
#####Google Play Music Demo Video
*ToDoist API/Python wrappers
*User is orally prompted whether they’d like to list, add, or complete a task
*Process is looped, so you can perform multiple operations at a time
#####Todoist Demo Video
In addition to voice commands, system may be controlled through web dashboard (Made with Google's Materialize CSS library) I have this one running on a tablet mounted above my bed.
All actions and errors are logged in an SQLite database, which is viewable online with sqllite-web
+Raspberry Pi (model 3 used)
+Microphone with onboard sound card
+Speakers
+Electronics for IR transmitter circuit (transmitter/LED, PNP transistor, resistor)
+Electronics for IR receiver (receiver, servo)
+Arduino (Uno used)
+Tablet/Phone/Computer for web interface
+Raspian 8
+Python 2.7
That's all I can think of, if I'm missing anything, feel free to open an issue!