Difference between revisions of "Rssi Demo"
(Continuing the tutorial) |
|||
Line 3: | Line 3: | ||
* a simple application that periodically sends messages over the radio, and | * a simple application that periodically sends messages over the radio, and | ||
* a modified version of BaseStation that includes the Rssi data on the payload of messages received over the radio before forwarding them over to the serial link. | * a modified version of BaseStation that includes the Rssi data on the payload of messages received over the radio before forwarding them over to the serial link. | ||
+ | |||
+ | It will also be shown how to get RSSI noise floor readings, to estimate the channel background noise when no node is transmitting. | ||
Currently, this demo works only for motes that use CC1000 or CC2420 radio transceivers, but it should contain enough information for porting it to other chips that provide RSSI in a similar manner. | Currently, this demo works only for motes that use CC1000 or CC2420 radio transceivers, but it should contain enough information for porting it to other chips that provide RSSI in a similar manner. | ||
Line 8: | Line 10: | ||
= Introduction = | = Introduction = | ||
− | [http://en.wikipedia.org/wiki/Received_Signal_Strength_Indication RSSI] is an acronym for Received Signal Strength Indication. It is a measure of the signal power on the radio link, usually in the units of [http://en.wikipedia.org/wiki/DBm dBm] while a message is being received. It can be used for | + | [http://en.wikipedia.org/wiki/Received_Signal_Strength_Indication RSSI] is an acronym for Received Signal Strength Indication. It is a measure of the signal power on the radio link, usually in the units of [http://en.wikipedia.org/wiki/DBm dBm], while a message is being received. It can be used for estimating node connectivity and node distance (although the relation between distance and RSSI is noisy and not straightforward), among other things. Another usage of RSSI is to sample the channel power when no node is transmitting to estimate the background noise, also known as noise floor. |
+ | |||
+ | According to TinyOS' HAA | ||
+ | <ref name="tep2"> | ||
+ | [http://www.tinyos.net/tinyos-2.x/doc/html/tep2.html TEP 2: Hardware Abstraction Architecture] | ||
+ | </ref> | ||
+ | the RSSI data is not provided by the standard platform independent Hardware Interface Layer (represented interfaces <code>Packet</code> and <code>AMPacket</code>, as explained in TEP 116 | ||
+ | <ref name="tep116"> | ||
+ | [http://www.tinyos.net/tinyos-2.x/doc/html/tep116.html TEP 116: Packet Protocols] | ||
+ | </ref> | ||
+ | ). RSSI must be accessed by a platform-specific HAL interface, as in the case of the CC2420 or by a specific field of the <code>message_t</code> struct as defined in the <code>platform_message.h</code> (see TEP 111 | ||
+ | <ref name="tep111"> | ||
+ | [http://www.tinyos.net/tinyos-2.x/doc/html/tep111.html TEP 111: message_t] | ||
+ | </ref>) | ||
+ | like in the case of the CC1000. | ||
+ | |||
+ | = References = | ||
+ | <references/> |
Revision as of 05:33, 11 April 2008
This lesson is to give an example on how to get Rssi readings from incoming packets. It consists of two applications:
- a simple application that periodically sends messages over the radio, and
- a modified version of BaseStation that includes the Rssi data on the payload of messages received over the radio before forwarding them over to the serial link.
It will also be shown how to get RSSI noise floor readings, to estimate the channel background noise when no node is transmitting.
Currently, this demo works only for motes that use CC1000 or CC2420 radio transceivers, but it should contain enough information for porting it to other chips that provide RSSI in a similar manner.
Introduction
RSSI is an acronym for Received Signal Strength Indication. It is a measure of the signal power on the radio link, usually in the units of dBm, while a message is being received. It can be used for estimating node connectivity and node distance (although the relation between distance and RSSI is noisy and not straightforward), among other things. Another usage of RSSI is to sample the channel power when no node is transmitting to estimate the background noise, also known as noise floor.
According to TinyOS' HAA <ref name="tep2">
TEP 2: Hardware Abstraction Architecture
</ref>
the RSSI data is not provided by the standard platform independent Hardware Interface Layer (represented interfaces Packet
and AMPacket
, as explained in TEP 116
<ref name="tep116">
TEP 116: Packet Protocols
</ref>
). RSSI must be accessed by a platform-specific HAL interface, as in the case of the CC2420 or by a specific field of the message_t
struct as defined in the platform_message.h
(see TEP 111
<ref name="tep111">
TEP 111: message_t
</ref>) like in the case of the CC1000.
References
<references/>