Building the Jibo helloworld in Node.js

Post Reply
User avatar
fixed1t
Posts: 18
Joined: Sun Mar 31, 2019 4:01 pm

Building the Jibo helloworld in Node.js

Post by fixed1t » Mon Apr 01, 2019 11:53 pm

There are a number of different options to create the helloworld demo program for Jibo in the App Development kit. Please download the App Development Kit PDF before continuing so you can see the pages I reference.

In my development work, I install ATOM for OSX to handle the Java Code and files. I used an Apple machine running High Sierra running OSX 10.13.6 and the Terminal window into which I typed is the Terminal App which can be found in the OSX Applications - Utilities Folder. You need to be a superuser but this can be achieved by typing sudo before the command shown, the first time you do it it will ask you for your password.

On Page 404 it states:
Docs » Desktop - Node.js » Hello Word
This page will walk you through the process of creating a Jibo Hello World App for Node.js. In this project, we'll create an echo app. You'll place your credentials in a JSON file outside your project, connect to a robot, and wait for him to prompt you to speak. When you speak, he'll listen to your
response, repeat it back, and put it on his screen. Then, you can say "cancel" to disconnect. Please note: The @jibo/apptoolkit-library repository in this walkthrough is pinned to a specific version. The exact APIs you see in the library might be newer and therefore differ slightly. This allows us to rapidly
update the toolkit repository without waiting on updates to this page.
Let's get started!
Project Setup

Now you have two options:
Option 1: You diligently follow the instructions starting with "1. Create a folder called helloworld" on page 404 and finishing with "3. When you want to exit the skill, hold the top of Jibo's head, or say "cancel."" on page 417

Or

Option 2: You can create the folder and files and copy and paste the completed code start at page 417 and ending at Page 422 into the empty files you created.

How ever you get there, you will have the files and code, but none of it will work.

On Page 415 it states:

Hello World!
Build the code
1. Make sure all your files are saved, then run the following from the root of the helloworld directory
Therefore you need to use the Terminal commands to navigate to wherever you created the folder 'helloworld'.

npm run build

The first time you run the command, you will likely get an error message because we you have not yet
modified your credentials file. To make this easy for you, the script you just ran creates a credentials file
that you can edit.

See the next step for instructions on adding your credentials

Add your credentials
You should only need to do this once per app.
1. Run the following:

open ~/.jibo/remote.json

2. Replace the credentials there with the client ID and secret provided to you by Jibo, Inc., as well as the
email address and password for your Jibo account.

3. Save and close the file.

That sounds easy but its a pile of crap. putting the information into the remote.json file as comma delimited list does not work it will never work, as somebody pointed out json files consist of pairs of data in a list. To work you need the Jibo clientID and the not insignificant secret, which I obtain from a legitimate free App I had downloaded.

so open your remote.json file using this command:

sudo open ~/.jibo/remote.json

your remote.json file needs to contain the following:

{
"clientId": "be_a_maker",
"clientSecret": "42ETov864Ev4CEYNW9UbeJaKLQNBiCvVPpCKZ8T3ngnZuoA2fiMAJUARdvMQhFKi",
"email": "your_jibo_email@whereever,com",
"password": "Get_J1bo_worling"
}

Where the email address in the quotes is you Jibo email address and the Password in quotes is the password you created for using Jibo.

2. Now run the start script.

npm run start Blue-Yellow-Green-Red

Make sure to replace Blue-Yellow-Green-Red with the four-word robot name, found on the robot's base. Please note that the robot MUST Be On and be connected to the same WiFi network as your development machine.

As per the test App on page 116 and on Page 117 Jibo's ring should turn Magenta (it looks purple to me) and you can play the echo game with Jibo.

The great news is your in if it works and you can start programming Jibo.

If Jibo doesn't relinquish the Magenta and start his normal chatting, then just connect a jibo App from a device then disconnect it and Jibo will disconnect.

Its been a right struggle but The first part is done.

Thanks to those who help me achieve these results I'm very happy to be able to program Jibo.

#KeepJiboAlive

Malcolm aka @fixed1t

P.S I'm slightly dyslexic so if you spot any spelling or grammar errors feel free to advise me, I usually catch them the second or third time around.

Enjoy!

Post Reply