OSX, NXT, BlueTooth and Ruby - A match made in byte heaven?
Ruby, if you have never come across it, is an interpreted language which is object oriented, very easy to write and understand, and has some very good roots, such as Perl, and Smalltalk, with some aspects that are similar to the best of Java and Python. It is a very forgiving language to program in, and the kind where 5 lines of Ruby can do what may take 500 lines of Java or C code.
Now some clever NXT’er (is that a word?), Tony Buser, has now put together a Ruby module for communicating with the NXT via bluetooth. This control set up is in a kind of macro-mode, where the PC is using bluetooth to read sensors, and set actuators, but may also be adapted just to provide prompts to a program on the machine. It is not however, a Ruby interpreter that runs on the NXT. It is in many ways a similar setup to Microsoft Robotics Studio (MSRS).
It runs nicely in OSX, and probably Linux, once you have paired your NXT and setup a bluetooth serial port connection in /dev. I cannot say what its compatibility in Windows would be like, as although Ruby runs in Windows, the serial port and bluetooth may be much harder to deal with. Windows does not have any structure equivalent to /dev.
I am not yet sure of how Tony intends to license the project going forward, but I will be watching this one with interest. Its definitely usable, although there are a few things that may need to happen before prime time, including documentation.
- https://github.com/zuk/ruby-nxt - The current module source for browsing
- http://news.lugnet.com/robotics/nxt/?n=58 - Announcement of this project on lugnet