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;
}
}
次に、 receive メソッドがあります (すべてのメソッドは同じ .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;
}
メッセージを送信すると、親ノードは自分の子供からメッセージを受信しますが、魔女の子供が時間内に応答したことをどのように知ることができますか?
たとえば、1 人の父親が 3 つのノードにメッセージを送信している場合、このノードのうち何人が応答したか、また父親の ID をどのように知ることができますか?
言い忘れましたが、父ノードと子ノードは同じコードを実行しますが、父は「コーディネーター」のように振る舞うので、ときどき子供にメッセージを送信する必要があります。このコードをシミュレートするために TOSSIM を使用しています。
前もって感謝します!