0
votes

I need to create a network of 10 motes. I want each mote to provide 3 services with s1 = 0.25, s2 = 0.5 and s3 = 0.025. Also, I want to identify / select selfish / malicious mote(s).

Any help will be highly appreciated.

1
You need to clarify this question a lot more, what exactly do you mean by "services with s1=0.25, s2=0.5 and s3 = 0.025"? - KillaKem
In my project, I've network of nodes. Node is either a service provider or service requester. A node provide a service or services. For each service there is a value e.g. Service S1 = 0.25. - Wasif Hamdani

1 Answers

1
votes

A solution to this should not be complicated to write yourself but I guess you can look at using the service registration and dissemination hack (servreg-hack) application in contiki. The operation of the application is very simple, all the application does is enable nodes to advertise services that they offer by broadcasting a SERVICE_ID (which is just an unsigned 8-bit integer). When a another node in the vicinity of the broadcasting node receives a message it stores the SERVICE_ID and the address of the node that sent the message. If the node needs a service, it can then just look up the address of a node that offers the service by calling the servreg_hack_lookup function.

The unicast-sender and unicast receiver applications in the examples section of the contiki distribution (Contiki/examples/ipv6/simple-udp-rpl) use servreg_hack.

So on both nodes you would initialise the servreg app by calling

servreg_hack_init();

then on the service provider you would register a service by calling

servreg_hack_register(SERVICE_ID, service_provider_ip_addr);

this service would then be received and registered on the service user node. The service user would can then call

service_provider_ipaddr = servreg_hack_lookup(SERVICE_ID);

to get the address of the node that provides the service identified by SERVICE_ID.