简体   繁体   中英

How to access motes info from collect-view using script editor cooja simulator?

I'm trying to write a script(Javascript) to log mote information from the collect-view tool, I did not find any tutorial nor documentation that shows how to access mote information using the script editor, I would be very thankful for any help.

Thank you!

TIMEOUT(900000, log.log("Total PRR " + totalPRR + "\n"));

 packetsReceived= new Array();

packetsSent = new Array();

serverID = 1;

nodeCount = 6;

totalPRR = 0;

t_total = 0;

throughput = 0;

PDR=0;

data_length = 100;

Average_delay = 0;

timeReceived= new Array();

timeSent = new Array();

delay = new Array();

for(i = 0; i < ( nodeCount-1); i++) {

packetsReceived[i] = 0;

packetsSent[i] = 0;

timeReceived[i] = 0.0;

timeSent[i] = 0.0;

delay[i] = 0.0;

}

while(1) {

YIELD();

msgArray = msg.split(' ');

// log.log("string: "+msgArray+"\n");



if(msgArray[0].equals("receiver")) {

// Received packet

senderID = parseInt(msgArray[1]);

packetsReceived[senderID]++;

timeReceived[senderID] = time;

log.log("\n" + " SenderID " + senderID + " PRR " + packetsReceived[senderID] / packetsSent[senderID] + "timeReceived[senderID]" +  timeReceived[senderID] + " timeSent[senderID] " + timeSent[senderID] + "\n");

totalReceived = totalSent = 0;

totaldelay = 0;

count1 = 0;

for(i = 0; i < ( nodeCount-1); i++) 
{

    totalReceived += packetsReceived[i];

    totalSent += packetsSent[i];

    if (timeReceived[i] > 0) {

        delay[i] = timeReceived[i] - timeSent[i];

        delay[i] = delay[i] / 10000000 ;


        if (delay[i] > 0) 
        {

         

            totaldelay = totaldelay + delay[i];

            count1++;

        }

}

}

totalPRR = totalReceived / totalSent;

total_simulation_time=time;
log.log("\n"+"Total simulation time"+total_simulation_time+"\n");

throughput = (totalReceived * data_length * 8 *1000) / total_simulation_time;

log.log("\n"+"Total Received " + totalReceived + "totalSent" + totalSent + "\n");
PDR=(totalReceived / totalSent) * 100;

t_total = totalPRR * 100 ;

 

log.log("\n" + "Total Packet reception rate " + totalPRR + " Total_delay " + totaldelay + "Packet Delivery Ratio" + PDR + "\n");

log.log("\n"+ "Throughput "+throughput+"\n");

} 

else if(msgArray[0].equals("sender")) {

// Sent packet
receiverID = parseInt(msgArray[1]);


packetsSent[receiverID]++;

timeSent[receiverID] = time;

log.log( "\n" + " packetsSent[id]"  + packetsSent[receiverID]  + " timeSent[id] " + timeSent[receiverID] +  " id " + receiverID + "\n");

}



}

I have used this script for my project. It is self-explanatory. But if you have any doubt then ask me.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM