Introduction

 This document describes the Voice control of RPI board using Tech 4 Home remote. Voice command from remote is transferred to RPI board  via bluetooth and is processed by Voice plugin to proceed further.

Environment Setup

The build procedure is as follows:

  

  • Cloning the code before login once to code.rdkcentral.com, user would get the Authentication error, even though the account is in good standing and has all the required access.
  • Please login to code.rdkcentral.com before attempting to clone.

Ex: 

$ sudo dd if=rdk-generic-hybrid-thunder-image_default_20200302530659.rootfs.rpi-sdimg of=/dev/sdc bs=4M
317+0 records in
317+0 records out
1329594368 bytes (1.3 GB, 1.2 GiB) copied, 104.88 s, 12.7 MB/s
$ sync

The SD card is then inserted to the Raspberry Pi board and booted to check for containers created.

The Raspberry Pi board is connected to the PC via a USB to serial converter and the logs can be checked in console or can be connected via HDMI cable to a TV and logs will be shown in the terminal.

Test Setup

        For testing Voice plugin , we need Tech 4 Home remote and RPI board with bluetooth support. Before using the remote, it needs to be paired and assigned to the RPI board. 

Already assigned remote needs to unassigned before assigning a new remote.


         

 


 We can pair remote using Controller UI via Bluetooth Control panel. Before we start, we have to make sure BluetoothControl and BluetoothRemoteControl plugins are enabled, if not the same can be enabled via controller UI.

The scan is initiated from UI and once remote is detected we can pair it. 

After scan, UI list out the available bluetooth devices, select Remote based on the MAC address of the remote. After scanning if the device is not listed in drop down column, reload Controller UI once.


RPi - Board

Eg:

curl --data-binary '{"jsonrpc": "2.0", "id": 1234567890, "method": "BluetoothRemoteControl.1.address" }' -H 'content-type:text/plain;' http://192.168.1.6/jsonrpc
{"jsonrpc":"2.0","id":1234567890,"result":"04:EE:03:78:39:DB"}root@raspberrypi-rdk-hybrid-thunder:~#

 curl --data-binary '{"jsonrpc": "2.0", "id": 1234567890, "method": "BluetoothControl.1.device@04:EE:03:78:39:DB" }' -H 'content-type:text/plain;' http://192.168.1.6/jsonrpc

{"jsonrpc":"2.0","id":1234567890,"result":{"name":"Notus S1","type":"LowEnergy","connected":true,"paired":true}}root@raspberrypi-rdk-hybrid-thunder:~#

Executing System

   Press and hold voice button in Tech 4 Home remote and give audio command, like launch CNN. 

   Release the button once audio command is completed.

   Observe the TV monitor to confirm whether CNN is launched as per request.

Troubleshooting

root@raspberrypi-rdk-hybrid-thunder:~# ls BluetoothControl/Devices/
   04:EE:03:78:39:DB.json