NAO Robot Binding

Hi all,

for my final thesis I try to build a new binding for the humanoid robot NAO (see link below)
http://doc.aldebaran.com/2-1/family/robots/connectivity_nao.html

So i understand the logic what a binding is used for and checked a few sample bindings but the main question is how the connection between openHAB and NAO should working and what are the feature needs (network connection,…) from nao-side?

I hope my questions are specific enough so that you guys can give me support.

best regards
ralf

Hi Ralf,

Once you are done with that binding, I will definitely ask you for a demo video!

Well, this completely depends on what the NAO offers, there is no constraint from the openHAB side. Anything you can code in Java will work. Simplest way is of course, if you can reach the NAO through IP, e.g. by HTTP or some TCP socket communication.

Regards,
Kai

hi kai,

first, thanks for your response.
Yes, i got the same idea to connect NAO through IP. So I will try to develop binding in openHAB2. But in my opinion there are no IP-bindings-example in openHAB2. Do you know a good example for a binding? I think the hue binding from openHAB 1.X is a good one.

best regars
Ralf

openHAB 2 also comes with a new Hue binding, the sources are located at Eclipse SmartHome: https://github.com/eclipse/smarthome/tree/master/extensions/binding/org.eclipse.smarthome.binding.hue

Hi Kai,

at first I chose another way to establish Nao and OpenHAB because I got a feeling that is a lot work to understand the mechanism. But unfornately plan A seems to break down.
So I start a new beginning and try to implement a new binding. I’ve found a good reference binding implementation in “eclipse magazin” about a implementation for LIFX bulbs. In that case they used a Java Clientlibrary to set up a communication. I’m not sure if there exist a similar library for nao. What would be a alternate concept?

greets Ralf

Hi Ralf,

This very much depends on what is available for the Nao. How does its API look like? Can you access it through HTTP/REST/TCP/MQTT or something like this? Does it come with a readily usable Java-API? So all you need is a way to access the Nao from Java - there are no restrictions on what to use from the openHAB side.

Regards,
Kai

Hi Kai,

yes a Java-API exist, but the functionality is more limited as in python or c++ and a few limitations are given:
“OpenNAO does not have a JVM so the naoqi-java-sdk (jnaoqi) only allows you to call methods from PC to the robot (real or virtual).
Contrary to Python or C++, you cannot subscribe to events from Java, nor create NAOqi modules.”

http://doc.aldebaran.com/1-14/dev/java/index.html

So the question you have to answer yourself is: Is this enough and if not, what other ways are there to access the NAO from Java?