for my final thesis I try to build a new binding for the humanoid robot NAO (see link below)
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.
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.
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.
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?
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.
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.”
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?