DIY: Control TV With Alexa IoT TV Controller

By Ashwini Kumar Sinha

- Advertisement -
 

In a smart home electronic appliances can be controlled through voice or gesture, including a TV set. Unfortunately, this feature is not available in most TVs. To use such a feature, a Fire TV stick is needed, but it gives only limited TV access.


So, here is an exciting IoT project to make an Alexa IoT TV controller that will solve the problem. The system works by connecting Alexa to an IoT device over Wi-Fi. The IoT device receives commands from Alexa to trigger the IR LED for controlling the set-top box or TV.

Author’s prototype
Fig. 1: Author’s prototype

The Alexa IoT TV controller is not just restricted to controlling TVs. You can use it to control any device that uses an IR remote control. Sounds interesting? Gather your tools and let us get started with this terrific IoT project.

- Advertisement -

To install the ESP8266 board in Arduino IDE, go to Files→Preferences→Paste the URL. Then go to Tools→Board Managers→Search esp8266 and install the board in Arduino IDE.

Also, install the library espalexa in Arduino IDE, which will allow Alexa to control the IoT appliances that have been added to the Alexa app. Next, install the IR remote library that will allow you to decode the hex code for transmission to the TV.

Coding

We need to write two codes: one for ESP8266-01 that will be used as an IoT device for Alexa and the other for Arduino that will trigger the IR LED to control the TV. For controlling the TV using Alexa, create the code using espalexa library. It also allows the addition of lighting devices to Alexa. However, do remember to set the function for passing the control commands to Arduino for controlling the TV instead of lights.

Code for ESP8266
Fig. 2: Code for ESP8266
Code setup function
Fig. 3: Code setup function
ESP code consisting of commands to send from serial to Arduino
Fig. 4: ESP code consisting of commands to send from serial to Arduino
Arduino code
Fig. 5: Arduino code
IR remote code
Fig. 6: IR remote code
Arduino code with IR PWM code to send from IR LED
Fig. 7: Arduino code with IR PWM code to send from IR LED
Defining variables to store the IR code array
Fig. 8: Defining variables to store the IR code array
Arduino setup function
Fig. 9: Arduino setup function
Loop function for Arduino
Fig. 10: Loop function for Arduino
Code sending IR signal for respective buttons of remote
Fig. 11: Code sending IR signal for respective buttons of remote

Esp8266-01 code

For writing the code, first initialise espalexa library and then add the required device(s) in the code so that Alexa receives the function of individual buttons of the TV remote.

Note. Since espalexa cannot be made to work as a remote device, use the following hack instead. Create a function for light, which will trigger the IR LED of the TV and enable you to control it like an IR remote. For example, for the ‘on’ button, create a function named as Light 1 in the code. Continue adding 13 to 14 separate functions, say, Light 1 up to Light 13 (as per requirement) for performing other operations.

In the setup function, set a serial baud rate of either 9600 or 115200 so that commands can be successfully passed on to Arduino.

Create a loop function for setting the function of devices such as Light 1, Light 2, etc.

Whenever Alexa is given a command, it will trigger functions Light 1, Light 2, etc associated with a specific connected device, that is, TV remote. These functions correspond to commands like volume up/down, TV on/off, next channel, favourite channel, etc.

Arduino code. Write the code for Arduino to retrieve commands from espalexa and then trigger the IR LED to perform as a TV remote control.

 

 

SHARE YOUR THOUGHTS & COMMENTS

 
 

What's New @ Electronicsforu.com

Most Popular DIYs

Electronics Components

Truly Innovative Tech