Nao is a wonderful humanoid robot for research. We have already covered a plenty of fun projects that involve teaching this robot new skills. This guide involves using a Raspberry Pi robot to control a Nao. Nao relies on a custom Java controller to listen to commands coming from MQTT.
This video shows how it all works. You can find out more about the project here.