Communicate with the NXT over a network using the standard BT protocol


I have just completed a program that makes it possible to communicate with the NXT over a network using the LEGO Bluetooth protocol. The idea is simply to have a server between a number of network clients and the NXT. This makes it possible to forward messages from TCP/IP to Bluetooth and vice versa. I have also updated my C++ communication library so that it supports network communication. This makes it easy to send commands to the server. But wait there is more... if you don't want to write your own program to communicate with the NXT over the internet you can download a network client that will allow you to set and read all four sensors as well as control the motors.

Please place a comment - maybe tell what kind of cool projects you want to build with these tools. Happy Easter

Anders

Comments

Unknown said…
Interesting. :)
So it's php in the end, isn't it?
A similar idea with a JEE application has been on my stack for long now...

What could you do with this ability to control NXT clients over a distributed network? One thing that comes instantly into mind is collaborating robots that are distributed beyond bluetooth range of each other but in range of a central "hub" where a central server is coordinating their work.
A security network with mobile guard robots, for instance.
Anders Søborg said…
Hi Matthias

No the program doesn't use php. The server simply communicates with network clients using TCP/IP - the program is written in C++.

In order to realize your idea you would need to write a client program that can make a NXT connect to the server. The server only allows 100 clients to connect and communicate over TCP/IP with a single NXT. This makes it possible for multiple users to control the NXT from a remote computer. But hey you just gave me a new idea for a project. Thanks
Unknown said…
Something that came to my mind this very minute when I have been doing some Google Earth stuff: you could use a GPS sensor on a NXT and it could send its current position to the server (maybe via an on-board internet laptop). The server could create a related Google earth map and distribute the KML data to clients - they could visualize the position of the NXT then.

Well, this opens up a lot of possibilities...
Anders Søborg said…
I was thinking that you could use the server to remotely start and stop a data logging program and then download the log file over the internet.

Anders

Popular Posts