Bluetooth serial port connection to the NXT from OSX
Tony Buser who is a project admin for ruby-nxt has instructions on how to connect to an NXT from OSX over a bluetooth RS-232 connection.
No Bluetooth using Rosetta emulation on Intel Macs
According to Tony Buser, connecting to the NXT via Bluetooth from NXT-G running on Intel Macs is a non-starter. It is very disappointing that LEGO hasn’t developed an Intel native NXT-G universal application (Apple is at fault here as well I’m sure). However, the bottom line is that Bluetooth is not available for apps running under the Rosetta emulator on OSX. The 1.1 update to NXT-G is due to ship on Nov. 23rd (from the LEGO shop). However, it looks like NXT# and NXT.pm will be viable options.
Robotic bulldozer
Very cool totally autonomous robotic bulldozer. It uses the new Power Function (PF) motors, which are controlled by the NXT via infrared signals through the new HiTechnic ‘Infrared Link’ (or IR-Link) sensor. Read more about it at nxtasy.org.
NXT# and NXT.pm
Wow! two modules to control an NXT robot via bluetooth using C# and Perl. We are on the bleeding edge (drip), but things look very promising.
We may be able to use the stock mindstorms firmware and use one of these modules to control it via bluetooth. Less painful than swapping out NXT firmware with leJOS NXJ or NXC. Besides C# and Perl are easier to interface with web servers.
Bluetooth drivers for communicating with the NXT
I just finished reading an interesting article on Communicating with LEGO NXT via Bluetooth in C# written by Pierre Poliakoff. There was a very useful hint in there that may explain our difficulties with communicating with the NXT via bluetooth from Windows. Pierre states…
I confirm what many other people have reported: Bluetooth communication with Lego NXT is very sensitive to the Bluetooth drivers used. Most of the time, it is strongly recommended to NOT install — or if they are already installed, to uninstall — the drivers provided by the Bluetooth adapter manufacturer and to use the Microsoft Bluetooth default drivers instead.Â
This article will help immensely if we have to resort to low level (byte-by-byte) bluetooth communication with the NXT. I’m hoping that we can find a library or high-level framework for bluetooth communication.Â
Bluetooth and links
My meeting with Professor Cumaranatunge started with me showing him the grabber program I had created. My first attempt did not work, as I had position the robot crooked on the diagram. Once I straightened the robot, it worked perfectly the next three times I executed the program. Professor Cumaranatunge was real impressed with what I had done. We plan on taping the robot in action and maybe even putting it on the school website.
Next we tried to tackle the Bluetooth problem. We were able to make a wireless connection between a Mac computer and the NXT brick. On the other hand, we were not able to find the solution to the problem that I had in connecting my PC to the robot. However, we have not given up hope that we may in fact be able to get the Bluetooth connection to work.
Finally, we began searching for information about how to remotely control the robot using Bluetooth. We were able to find some information about people who have used C# and
The following is a list of a few of the websites we have found so far:
http://www.codeproject.com/useritems/nxtBluetooth.asp
http://www.impossibilities.com/blog/pivot/entry.php?id=236
http://mindstormsnxt.blogspot.com/2006/08/nxt-bluetooth-and-control.html
Although the future is filled with uncertainty, both Professor Cumaranatunge and I feel certain that we will be able to find a solution.
First Step
Getting used to the NXT programming environment. Justin programmed the ball grabber.[MEDIA=1]Â We are having some difficulty connecting to the NXT via bluetooth from Windows XP. However, bluetooth works like a charm from MacOS. Getting bluetooth to work is critical for the project, so we will need to do more troubleshooting.
Bluetooth problems
Today I started the day off by trying to once again establish a Bluetooth connection between my computer and the NXT brick. Sadly, this did not take place. No matter what action I preformed, I just could not get the NXT device to connect with my computer. Ironically, both the NXT brick and my computer would inform me that the device was in range, but neither of the devices would allow a wireless connection to be formed. I decided to wait for my meeting on Thursday with Professor Cumaranatunge to see if we could fix the problem together.
Introduction to Bluetooth
Having learned the NXT programming environment, the next step in the project was to become familiar with Bluetooth. My endeavor in to the realm of the Bluetooth world started very promising, as I was able to connect my computer to the NXT brick despite receiving a warning message that my Bluetooth radio was incompatible with the NXT. With the Bluetooth working, I decided to send a copy of the grabber program to the device. This worked flawlessly.
Since I ultimately was looking to use Bluetooth as a method to remotely control the robot, I began exploring this possibility. I started by looking in the user manual that came with the NXT software. As my query, I typed in “Bluetoothâ€. I soon discovered that Bluetooth can be used in one of two ways: to send a program wirelessly from your computer to the NXT brick or to send messages between other NXT bricks. Because of the limited information about Bluetooth, I decided to move my search to the internet.
In doing so, I started by looking at the Lego Mindstorms website, http://mindstorms.lego.com/. I quickly came to the conclusion that the information provided on this site was extremely limited. As such, I moved my query to the web. When searching on the web, I came across a few blogs that briefly mentioned Bluetooth. I also found some experiments that were centered on the use of Bluetooth as a means of controlling an NXT robot wirelessly. However, most of the information I found dealt with the fact the people were having trouble getting their computer and the robot to connect using Bluetooth. After enduring much frustration, I decided to turn off the robot and my computer and come back to it the next day.