我完全迷失了使用 TinyOS,我想我需要一些帮助。
我有一个节点向所有听他的节点发送消息,所以,这个节点不时向他的所有“孩子”发送消息
event void Timer.fired() {
call Read.read();
}
event void Read.readDone(error_t result, uint16_t data) {
if (!busy) {
Msg* localpkt = (Msg*) (call Packet.getPayload(&packet, sizeof(Msg)));
if (localpkt == NULL) { return; }
localpkt->data = data;
if (call AMSend.send(AM_BROADCAST_ADDR, &packet, sizeof(Msg)) == SUCCESS) {
busy = TRUE;
}
}
然后,我有接收方法(所有方法都在同一个 .nc 中)
event message_t* Receive.receive(message_t* msg, void* payload, uint8_t len){
if (len == sizeof(Msg)) {
Msg* localpkt = (Msg*)payload;
data = localpkt->data;
}
return msg;
}
当我发送消息时,父节点会收到他的孩子的消息,但是我怎么知道女巫孩子及时回复了呢?
例如,如果我有一位父亲为 3 个节点发送消息,我怎么知道有多少个节点回复了我,我怎么知道他的 ID?
我忘了说,父亲节点和孩子节点执行相同的代码,但是父亲充当“协调者”,所以我们必须不时向他的孩子发送消息。我正在使用 TOSSIM 来模拟这段代码。
提前致谢!