Bluetooth interface of Smartphone using Voice commands
Overview
Our project aims to control a Smartphone using voice commands that are relayed using a Bluetooth module. We use an ARM Microcontroller(LPC 1768), an Android smartphone, an RN-41 Bluetooth module and an EasyVR speech recognition module.
Fig 1: Setup
The EasyVR module was used for speech recognition. We used the EasyVR commander to train the required voice commands.
Fig 2: EasyVR module and microphone
When the EasyVR matches the user's command to a command in its database it returns a specific character for every command that's matched. This character is relayed to the smartphone using the Bluetooth module. The application used on the smartphone is called the BlueSerialTest, the code for which was modified to implement the specific functions required based on the character that was returned by the EasyVR module.
The code for this project was divided in to two parts i.e, interfacing the mbed with the EasyVR and the RN-41 Bluetooth module and the code for the smartphone application. The mbed code was developed in C++ using the mbed cloud compiler. The smartphone application was developed using Java API.
Connections
Fig 3: Wire connections from EasyVR to mbed
mbed | EasyVR | wire color |
---|---|---|
gnd | gnd | black |
Vout | Vcc | red |
RX(14) | ETX | white |
TX(13) | ERX | blue |
Table 1: mbed to EasyVR connections
RN41 Pin | mbed Pin |
---|---|
1-GND | GND |
11- VDD | Vout |
12 - GND | GND |
13 - RX | p9 |
14 - TX | p10 |
28 - GND | GND |
29 - GND | GND |
Table 2: mbed to RN41 connections
Training using the EasyVR GUI
The serial bridge code below can then be run on mbed so that it can talk to their PC-based EasyVR GUI training program over mbed's USB Virtual Com Port. This software allows the user to create and test new speaker dependent (i.e., trained for one person) command words.
Fig 4: EasyVR commander GUI used for training voice commands
Import programEasyVR_Bridge
Serial Bridge program to support using the EasyVR with mbed. It is run when using the PC-based EasyVR GUI tools for voice recognition training and testing.
Demo
As can be seen from the video we couldn't succeed in using our custom commands that we trained using the EasyVR commander, so we had to revert back to the default number commands. In this demo when the user says number '1' the phone calls back the most recent caller, for '2' the phone call a particular contact from the phone's contact list, '3' opens up the music player, '4' disconnects an incoming call.
Code
mbed part
Import programBluetooth_Smartphone
4180 final project
App part
https://github.com/sd08/BlueSerialTest.git
References
Please log in to post comments.