To varying the data packet send interval in RPL using cooja network simulator
Step 1: udp-client.c – handles the data packet sending
Default interval defined. We can change interval of transmission.
#define PERIOD 10 // change the interval
#define START_INTERVAL (15 * CLOCK_SECOND)
#define SEND_INTERVAL (PERIOD * CLOCK_SECOND)
#define SEND_TIME (random_rand() % (SEND_INTERVAL))
Step 2: code to calling function.
PROCESS_THREAD(udp_client_process, ev, data)
{
etimer_set(&periodic, SEND_INTERVAL);
while(1) {
PROCESS_YIELD();
if(ev == tcpip_event) {
tcpip_handler();
}
if(etimer_expired(&periodic)) {
etimer_reset(&periodic);
ctimer_set(&backoff_timer, SEND_TIME, send_packet, NULL);
}
}