LabVIEW for LEGO MINDSTORMS and LabVIEW for Education

cancel
Showing results for 
Search instead for 
Did you mean: 

bluetooth signal strength (RSSI)

I am currently working on an accademic project with multiple NXT's
 
I want to be able to extract the signal strength of the bluetooth when communicating between 2 NXT's
 
I know this is possible using direct commands from PC to nxt but is there a way of doing this within the NXT,
 
Any help or advice would be appriciated.
 
 
0 Kudos
Message 1 of 5
(9,656 Views)
While there are some bytes in the GETDEVICEINFO command that are reserved for Bluetooth signal strength, the LEGO firmware does not actually return any meaningful values in them.  (I think it just returns all zeros.)  To get signal strength working, I think your first step would be to download the open-source firmware from LEGO's website.  Eventually, you could modify the firmware to communicate with the Bluetooth radio on the NXT and retrieve the Bluetooth signal strength.

Alternatively, I've heard rumors that others have already started this work.  In particular, I believe the custom firmware distributed with RobotC was at one time working on adding this feature.  Not sure whether it was ever finished.
------
James Blair
NI R&D
0 Kudos
Message 2 of 5
(9,653 Views)
Hi,

I'm also working on a degree-level project that needs the RSSI from a bluetooth device, such as a mobile phone. It doesn't really matter if any data is passed between the NXT and the phone, all I need is for the NXT to read the RSSI. I've got the firmware development kit and all the bluetooth documentation from Lego, but still can't see how its done. Any help would be much appreciated!

Many thanks,

Andy.

0 Kudos
Message 3 of 5
(9,235 Views)
Most of the files you want to play with are \AT91SAM9DS256\Source\*_bt.*.  You can edit them using any C editor, including the Kickstart version of the IAR Embedded Workbench for ARM (which won't allow you to build the firmware, but will allow you to compile it and at least check for compile errors).

What you want to do is probably going to require a pretty thorough understanding of the ARM architecture and how it interfaces with the BlueCore chip (which is described in the LEGO Bluetooth Developer Kit).   If you expand the size of the firmware, you may run into other issues when you load it.

Once you think you have the source code fixed, you need to download the 30 day evaluation (not Kickstart) version if IAR Embedded Workbench for ARM v 4.42.  At this point, I believe that is the only solution that allows you to build the standard firmware.  The NXT doesn't have any easy way to debug your firmware, so unless you are willing to open it up, debugging is pretty much trial and error.

Good luck.
0 Kudos
Message 4 of 5
(9,220 Views)

Many thanks for the reply, I was getting pretty invovled in the firmware files when I found out that RobotC already has this function implemented  Smiley Happy

 

Andy.

 

0 Kudos
Message 5 of 5
(9,217 Views)