22

I want to start coding in Python or Ruby. Since I own a Lego Midstorms kit I thought it would be nice to program against it. Are there any good translators / interpeters for the Mindstorms brick?

vainolo
  • 6,907
  • 4
  • 24
  • 47
nojevive
  • 3,518
  • 3
  • 22
  • 18
  • I wonder if LeJos nxj (java and relatively active) could be used with jruby http://lejos.sourceforge.net/forum/index.php – Peter Ehrlich May 27 '12 at 00:55

4 Answers4

7

The nxt-python and ruby-nxt projects are remote control interfaces to the NXT. They both run on a PC and remotely control the NXT via Bluetooth or USB. If you are looking for running alternative firmware on the NXT, there are several different alternatives.

Steve Hassenplug has a webpage with a comprehensive list of all of the known alternative firmware and remote control options.
NXT Software

Louis Davis
  • 774
  • 7
  • 8
  • Hi, thanks for the pointer to the site, I guess there's a good starting point ;-) – nojevive Jun 22 '09 at 21:56
  • Thanks, I know it wasn't exactly the answer you were looking for, but like you said, it is a place to start. Maybe someone will create an interpreter for python or ruby in the future. There are already projects for Java and Lua, so python and/or ruby might not be far behind. :) – Louis Davis Jun 22 '09 at 22:02
3

With python you can use jaraco.nxt or nxt-python to control the NXT robot. I don't own one so I've never used any of those.

Found this example using nxt-python:

#!/usr/bin/env python

import nxt.locator
from nxt.motor import Motor, PORT_B, PORT_C

def spin_around(b):
        m_left = Motor(b, PORT_B)
        m_left.update(100, 360)
        m_right = Motor(b, PORT_C)
        m_right.update(-100, 360)

sock = nxt.locator.find_one_brick()
if sock:
        spin_around(sock.connect())
        sock.close()
else:
        print 'No NXT bricks found'

Seems nice.

nosklo
  • 217,122
  • 57
  • 293
  • 297
1

Here's an open source project for Ruby

Praveen Angyan
  • 7,227
  • 29
  • 34
1

Try pynxc http://code.google.com/p/pynxc/