Hi,

I try to aggregate values sent by mote using CTP.

In the example MultihopOscilloscope, the aggregation is made by sending 5
readings in one message every 1024 ms. I would like to aggregate values
using their similarity, ie saying in a message that, for example, mote 5, 6
and 7 have sensed the same value 1500 whereas saying that mote 5 sensed
1500, mote 6 sensed 1500 and mote 7 sensed 1500.

So my message will look like this :

typedef nx_struct {
  uint16_t logic_date_send;        // Lamport send date
  uint8_t agg_buf_size;               // size off agg_buf
  uint8_t agg_buf[AGG_BUF_MAX_SIZE];    //
((<logic_date><mote_id>)+<nb_id><val>)*
} agg_msg_t;

agg_buf contains the real message expressed like this (using regular
expression) :
(<value><nb_id>(<mote_id><logic_date>)+)*
 2 byte    1 byte       1 byte        2 byte

With this sort of message, knowing that "call Send.maxPayloadLength()" (on
telosb) returns 20 byte, I can only have 2 different values in one message.
In the best case I can send 5 values for 5 mote which have sensed the same
value (I don't obtain better result compared with default
MultihopOscilloscope example, except for causal date precision).

if I express the message like this :
(<value><nb_id>(<mote_id><logic_date_1,logic_date_2>)+)*
where : logic_date_2 is the Lamport date since logic_date_1 where mote_id
sensed the same data,
I can maybe obtain better results.

So I really don't know what is the good way to aggregate data in a message
using similarity, maybe should I send several messages, each one containing
one value and a list of <mote_id, logic_date>.
I would like to know if someone have experience in programming aggregation
based on similarity, and which solution would be the best, or maybe some
publications on the subject.

Thanks,

Rémi
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to