This recipe guides you through how to connect your Raspberry Pi to IBM Watson services and make a simple robot which can listen to your commands and turn on
, turn off
a lamp.
Click here or on the picture below to see the demo:
- A Raspberry Pi B. I use Raspberry 3 for this tutorial, which has built-in wifi. If you have other models, need to make sure you have Wifi dongle or other ways to get your Pi connected to the internet (eg: sharing through ethernet, etc)
- Male-female and male-male jumpers, Breadboard
- BC547 transistor.
- Songle SRD-05VDC-SL-C relay and 1n4001 diode.
- Speaker. I use an Anker A7910 mini speaker
- Lamp and power strip
- IBM Bluemix account, free
- Refer to this to know how to setup your Pi. Try to get the latest OS version.
- Git, Node.js, npm on your Raspberry:
sudo apt-get install nodejs npm node-semver
Here is the circuit diagram for the example
Follow this instruction to create a text to speech service in Bluemix
Login to Bluemix with your registered ID, Go to Catalog
, Search for speech to text
, or click here and select the service.
Name the service
and credential
if you want, or just leave them by default, Select Create
Once the service is created, go to Service credentials
, View credentials
section to record the username
and password
information. You will need it later for the app. You can always create a new credential
to access the service as needed, by selecting New credential
Clone the source code:
Get into your Pi using SSH or VNC client. From the terminal in your Raspberry Pi, perform this command to get the source code:
sudo git clone https://github.com/dnguyenv/lightup.git
Put your Watson services credentials (both Text to speech and Speech to text service) into the config.js file. You also can configure other values in the file to meet your need.
Run the code:
cd lightup
sudo npm install
sudo npm start
Enjoy!