One way to create beacon nodes is to have a predefined co-ordinate system and preprogram the beacon nodes with their x,y positions. Each beacon holds a packet
typedef struct AnchorXY
{
int X, Y, id;
}
If your project involves mobile non beacon nodes, have the beacon nodes periodically broadcast an "AnchorXY" packet. Each mobile node can maintain a link list of the AnchorXY packets it receives and when it has >= 4 triangulate to arrive at its position estimate. You can let the beacon nodes transmit a packet as
typedef struct Beacon
{
AnchorXY pkt;
int hopCount;
int ngb_id;
}
As this packet goes over multiple hops over the network, the "immediate neighbour ID = ngb_id" field can be updated to TOS_LOCAL_ADDR at every node and the hopCount incremented by one. In this way, an interested mobile node can come to know how far it is from each beacon and the neighbour from which it received the AnchorXY packet. For more details refer the paper
"Robust positionning algorithms in wireless sensor networks" by Chris Savarese
If your network is sufficently dense and isotropic, you need not use RSSI to calculate distance in metres. You can use distance = correction factor * hopCount to get the distance from each beacon approximately. The correction factor is a measure of the average hop distance in the network.
Refer "Ad-Hoc positioning system" by Badri nath to understand the calculation of correction factor.
On 7/4/06, Esmaeil Nadimi <
[EMAIL PROTECTED]> wrote:
Hi all
I am doing a project which I need to localize the nodes (Micaz motes)
using RSSI. How can I define some nodes as beacons (the nodes which they
know their position) in such a way that mobile nodes communicate with
them and also with the gateway.
Is there any application similar or any code?
Thanks in advance
Esmaeil
_______________________________________________
Tinyos-help mailing list
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
--
regards,
Aditya Bhave
_______________________________________________ Tinyos-help mailing list [email protected] https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
