Fuse + Python + Lego NXT
I’ve been recently playing with my new Lego NXT robotics kit. Being a Linux nerd, I naturally wanted to do the programming on Linux using languages I like. To this end, I’ve been using the nxt-python project and NXC. However, I found the nxt-push script a little cumbersome and not very user friendly, and the nxt-filer gui was less than useful. I didn’t want to develop a complete file manager interface. After all, file managers have been redesigned and reimplemented a million different ways. All I really needed was a file interface to the NXT. Enter Fuse. So, I spent some time yesterday and developed a Fuse interface for the NXT using nxt-python and fuse python bindings. You can find the interface in, what will be, a collection of tools for manipulating and controlling the NXT brick on GitHub.
Thanks for the nxt-tools. The brick mounting via fuse works nicely here. I added a front-end script to my path and now can simply enter `mount-nxt` and open /media/nxt in a file manager:
#!/usr/bin/env python
# -*- coding: utf8 -*-
# :Copyright: © 2010 Günter Milde.
# Released without warranties or conditions of any kind
# under the terms of the Apache License, Version 2.0
# http://www.apache.org/licenses/LICENSE-2.0
“”"Mount a Lego Mindstorms NXTbrick
Default mount-point is /media/nxt
Requires nxttools, nxt_python, and python-fuse.
“”"
import sys
import nxtools.fuse.nxt_fs
# specify default mountpoint:
if not sys.argv:
sys.argv = ["mount-nxt"]
if len(sys.argv) < 2:
sys.argv.append('/media/nxt')
nxtools.fuse.nxt_fs.main()
Comment by Günter Milde — March 28, 2010 @ 2:17 pm