Turn on an LED With Watson Conversation
by ZRob314 in Circuits > Raspberry Pi
1912 Views, 4 Favorites, 0 Comments
Turn on an LED With Watson Conversation

What you'll need:
You will need to have node already installed on your Pi. You may find NPM's rpio-gpio site helpful for syntax.
Run the command npm install rpi-gpio in terminal.


We started with the conversation.js file from Watson's TJBot example, and added the following lines before we instantiated our bot.
var gpio = require('rpi-gpio');
var pin = 7;
gpio.setup(pin, gpio.DIR_OUT);
The first parameter for setup() is the channel. Make sure to reference the RPi pin number and not the GPIO. The second parameter is the direction, DIR_OUT writes to pin #7. You can also change the name of your bot to something different. We picked "Bob" as it was less likely to be confused with other words.
// instantiate our TJBot!
var tj = new TJBot(hardware, tjConfig, credentials);
tj.configuration.robot.name ="Bob";

After the utterances part of the code add the following code for speech recognition.
var containsOn = msg.indexOf("on") >= 0;
var containsOff = msg.indexOf("off") >= 0;
var containsLight = msg.indexOf("light") >= 0;
//turns on light
if (containsLight && containsOn ) {
console.log("Turn on Light")
gpio.write(pin,true);
};
// turns off light
if (containsLight && containsOff ) {
console.log("Turn off Light")
gpio.write(pin,false);
};

Setup for the pins.
The complete node js code.