Items used in this project
Normally, the Google Home permits only control by touch and voice and you always need to have your smart phone/tablet by your side to control Chromcasts. Moreover, neither touch, nor voice commands can match the satisfaction that a clickable control offers.
This project implements a 2in1 remote using which you can control both your Chomecast and Google Home. The project costs just about $15 and you need not think twice before handing over this remote to your kids, unlike your smart devices.
Step-1 - Install drivers for Button SHIM using:
- sudo curl https://get.pimoroni.com/buttonshim | bash
Step-2 - Install dependencies using:
- sudo apt-get install git
- sudo pip3 install pychromecast
Step-3 - Clone the project using:
- cd /home/pi/
- sudo git clone https://github.com/shivasiddharth/pi-gcast-remote
Step-4 - Declare your Google Cast devices in the g-cast-controller.py script
- #Enter the IP Addresses of your Google Cast devices
- #Enter the names of the Google Cast devices as in the Google App
- chromecasts_name=['Living Room Speaker','Living Room TV']
Step-5 - Setup the script to start on boot using:
- sudo chmod +x /home/pi/pi-gcast-remote/scripts/service-installer.sh
- sudo /home/pi/pi-gcast-remote/scripts/service-installer.sh
Step-6 - Enable the service to start on boot:
To switch between the devices, press and hold the A button/key.
Note: pychromecast API takes time to get the list of active devices, hence continuous device status monitoring has not been added as it would cause delays to get a response from a device on button press. So the remote control program should be started after making sure that your devices are online.