Raspberry Pi Madness

More Power to #RaspberryPi madness – Voice control your TV/TataSky

This is sort of an update post on my project where I started to put an year old Raspberry Pi board to real use at home after using it as a Media Center for sometime now. And yes I am enjoying the Media Center.

I had initially started out to implement this project with #Intel #Galileo  Gen 1 but gave up – Handling Infrared was simply easier to use on Raspberry Pi than Galileo. So here’s some write on my hobby project.

See Galileo at http://www.intel.com/content/www/us/en/do-it-yourself/galileo-maker-quark-board.html

Quick Overview on the Project
Implement a unified remote control system to control both set-top box as well as my TV. User interfaces can be voice controlled via Apps or Gesture based. For Gesture I am still going to try and use
Galileo with Open CV.

Raspberry Pi Hardware Set-up
The Raspberry Pi IO can be used to decode as well as encode Infrared Remote control streams. I wired up a small circuit on the bread board to power up the IR transmitter and receiver and then
used the awesome Linux package LIRC available for Wheezy for RPi, I could easily decode the IR streams for TV and the set-top box. So the RPi now could control TV and set-top box.

References
I got most of the IR related information from Ken Shirriff’s blog: A Multi-Protocol Infrared Remote Library for the Arduino

The LIRC site http://www.lirc.org/
http://alexba.in/blog/2013/01/06/setting-up-lirc-on-the-raspberrypi/
for LIRC on Raspberry Pi

Web server
Wanting to use the node.js framework on Galileo to control and then forked off an implementation from https://github.com/cryptosig/GalileoLED-NodeJS which implemented web-server for GPIO control on Galileo – Most of my code here is reused and I should give credit for the original code and the coder for quality and readability.

I will add my code later on when I put in some security features into it. The web-server parses HTTP requests in a specific format and issues runs an LIRC command to transmit IR codes depending on the command being sent in the HTTP request. So I could now control IR transmission with a browser on a phone or any other connected device.

The Android App
I used an already available Android Voice recognition Android Speech Recognition – Example (http://www.learn2crack.com/2013/12/android-speech-recognition-example.html) on the net to be able to send HTTP requests to the static IP:port. For now the user would have to speak the name of the channel example MTV and /select/ [key press – I hate it] one of the results of the voice recognized and then the App would send that channel to the web-server. The web server on RPi then looks up the IR commands and passes it down to GPIO!!
Screenshot_2014-11-05-16-07-04
Future Stretch Goal Enhancements
Eliminate the need to key press voice recognition results.
Make App menu like Google Now starting off with Ok Google?
Enhance security by allowing Login sessions
Gesture Recognition – with Galileo to turn ON and OFF and probably even parse TV menu like Jarvis?

May be there are better things out there but it was fun learning to “make” things work

Thanks
Ghanashyam

[experiences dated Nov 2014]

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: