I've found that mica2 can send about 25 messages/sec total, which a
'modern' PC can receive and process without much trouble. The micaz
and others that use the higher speed radio will do about 100 m/s,
and may be limited by the serial-port baud rate if you are using
something like the MIB510 as the base-station. But again, the PC
should be able to keep up. It depends of course on _what_ you are
doing with the messages on the host side. A slow database insert
would perhaps require some kind of queueing mechanism.
If you are losing messages it's most likely from radio contention,
and the only real solution is to use a sequence number and retry
mechanism.
I can't really help with time-sync, there was some "Vanderbilt" code
being bandied about a while ago that purported to do it and was
fully implemented. The basic problem is that each of the Motes
starts it's internal clocks and timers at an arbitrary moment
(after it is switched on and stabilizes), so they have no shared
reference. Some sort of host message could be invented to send
a periodic reference to synchronize the re-Motes, but you'll run
into propagation delay problems if you want high accuracy --
say better than 100 ms, I'd think.
MS
Muhammad Azhar wrote:
Hi all,
If a number of motes are sending data to the root every 10 secs, does
the root need some sort of Queue to enqueue the messages, so that no
messages are lost? 'Coz when I did something like this, there were a
few instances when the motes were not sending messages to the root,
although it'd come back later. The motes were places statically, so is
it possible that the link quality is affecting the transmission? Or is
it simply because I didn't put my messages in queue, thus, some messages
were not processed by the root?
Also, are there any recommended articles on simple time
synchronization? I've read RBS and TPSN, but I don't really know how to
implement the former while for the latter, I do not have any idea on
lowering the granularity of the clock as well as time stamping the
packets at the RFM layer instead of the application layer. Although
there are codes for the latter, I think they're really quite complex.
I'd like to implement a really simple time synchronization.
By the way, what exactly does "local clock" mean? Is it just
referring to the timer value? In that case, wouldn't all "local clocks"
start from zero? If it is referring to a specific time, then how do we
implement this? In fact, is it possible to do this if my root is
permanently attached to the USB port of the PC where it is always
receiving data? Also, if we want to use a reference clock, does it mean
that other motes do not necessarily need a "clock"?
I'm really quite lost on implementing time sync. Furthermore, I can't
seem to find pseudocodes on this too (the only codes I found were
implemented by Saurabh G. which I really find too complex). But most
importantly, I need to know what local clock is referring to. Many
thanks for your patience.
Regards,
Azhar
_______________________________________________
Tinyos-help mailing list
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
_______________________________________________
Tinyos-help mailing list
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help