Jarvis runs on a Ubuntu Linux machine which is connected to our television and LAN. The interactions with the television, cable box, and soundbar are made possible by a USB IR Blaster connected to Jarvis.
- Tuning to Cable TV Channels.
- Loading/Searching Websites via PC connected to the TV (HTPC - running Ubuntu Linux).
- Shuffling Home Videos in a 4x4 grid on the TV (great for dinner parties)
- "Family Scripture Study" -- automatically loads and reads a chapter of scripture, remembering where you last left off.
- Network Diagnostic (ping a set of machines and report up/down status)
- "Kids Points" - We make our kids earn points which are redeemable for time on electronic devices (Xbox, iPad, etc). This bit of code keeps tracks of the kid's bank of points and when they are used.
- Send simple emails (can also send SMS texts).
- Web GUI Interface - I realized after I wrote all this code that I could slap an HTML5 GUI on top of it in case we didn't feel like yelling at Alexa (or want to control something from our Desktops / Phones / Tablets / etc).
- The hardware involved.
Fast forward to 4:12 if you want to skip to the HTML GUI and hardware.
Jarvis interacts with Amazon via the standard Amazon Web Service API (Amazon Skills Kit). The logic on my side is written in PHP. Some of the network automation (such as the IR blasting) is done via shell scripts.
The chimes you hear when add/removing kid points are network-wide notifications with popups notifying of the change. Likewise, whenever a command is given to Jarvis, the text is broadcast to all network machines with a native O/S popup as an FYI.
Comments