NXTMOTE

From TinyOS Wiki
Revision as of 02:16, 12 April 2008 by Rasped (talk | contribs)
Jump to: navigation, search
LEGO MINDSTORMS NXT

TinyOS is a small operating for small (wireless) sensors. LEGO MINDSTORMS NXT is a platform for embedded systems experimentation: The combination of NXT and TinyOS is NXTMOTE.

NXTMOTE Projects

In case you play around with nxtmote in its present state, you can put your short project description here: NXTMOTE Projects

Getting started

A good place to start is the AT91SAM7] PDF. It contains register definitions and provides an overview of the ARM7 processor in NXT.

To understand the software provided by LEGO one should download it from the LEGO website. LEGO's own software for NXT is based on a small virtual machine. Furthermore, inside the operating system there are a number of modules which are updated in a round robin fashion each one ms.

After having read the hardware specification and the PDF documents that comes with the LEGO software it is time to look at the NXTMOTE software. This platform aims to do provide both the LEGO software wrapped in nesC for compatibility and completeness reasons and also expose a set of API components (HPL, HAL, and HIL) providing access to the expected TinyOS functionality on this platform.

LEGO MINDSTORMS EDUCATION KIT

You also need a MINDSTORMS set and for educational purposes the LEGO® MINDSTORMS® Education Base Set is best. An equally fine option is to buy a MINDSTORMS set from a local store.


Using the nescdt plugin for Eclipse

A basic plugin for Eclipse that shows if the .nc file is an interface, (generic) module, or (generic) configuration. It also does syntax highlighting. The source is included in the jar file, and it is easy to refine it. To install it:

  • Download the nescdt_x.x.x.jar file here
  • Save it in the root of Eclipse plugin directory (where the other jar plugins also reside)
  • Restart Eclipse (verify for yourself that it is installed: Help->About Eclipse SDK->Plug-in Details)
  • Create a new empty project (LINK) and name it what you want to (for exanmple tosproj)
  • Create a new folder in the project (right-click on the project) and name it what you want (recommended to name it to the folder we will link to in the next step)
  • Import and link to the part of the tiny-os tree or own code you want to (right-click and press import)
  • Choose the link option and proceed
  • When you are done the Eclipse ide should look something like this (link) for example

Setting up the host

There is a tutorial available the outlines some options for setting you machine. A nice utility called fwflash enables direct download of a nxtmote.bin image using the USB cable that comes with NXT.

Further information

The NXTMOTE project web site has additional information (like CVS browsing and nesdoc html). The project is (like most other projects in tinyos-2.x-contrib) classified as experimental...but you are welcome to send a help request to nxtmote(at)gmail.com.

Back to the TinyOS Documentation Wiki main page.