1. Design a protocol for communication between wireless sensors.
2. Here, the wireless sensors monitors temperature measurement parameters in the deployed area. 3. For these sensors to communicate, we need an efficient protocol/application. (To be designed). Specifics for Temperature Measurement: 1. Topology information is given (Refer map.) 2. One of the node is SINK NODE. a. This transmits all the queries to other wireless sensors in the infrastructure for gathering the metrics like avg. temp, max temp and min temp. b. This approach of sending the query to other sensors has to be done in an energy efficient way. (Critical Req.) 3. Thus, we need to implement Spanning Tree algorithm for this energy efficient transmission of the queries to fetch the metrics from the other Nodes(Wireless Sensors)
Spanning Tree Implementation:
1. No need of the sensor nodes to rebroadcast the message since the message from one node is received by the nodes in the wireless network range. 2. Hence, implement the spanning tree for a selected number of nodes only. This should make sure that all other nodes in the range should receive the message. 3. This method of smaller rebroadcasting saves energy. 4. Sink node: Knows the topology of the entire network, their (x,y) coordinates and IDs of the nodes. (Sink node should have these parameters of the child nodes function implementation for programming) 5. Then sink node computes Spanning Tree 6. Once spanning tree is computed, each node is aware of the following: a. If the given node is on the spanning tree i. The nodes children ii. The nodes parent iii. Non-tree neighbor b. If the given node is not on the spanning tree:
i.
Cluster head node which is the neighbor (Meaning,
immediate head node which is closest to itself i.e. neighbor ) 7. Sink node explicitly receives the info from user to compute and obtain the metric (User triggered operation not hardcoded) 8. Query dissemination: User triggered -> Sink Node (Spanning Tree) -> Broadcast/Rebroadcast 9. Query Response Collection: If (large message) { energy_consumed = higher; } then { If(intermediate nodes can process the metric before sending to sink) { energy_consumed = less; } else { find an method/alternate for lowering energy_consumption; (FO) } Data Integrity to be considered.
Topology Table Implementation:
1. Each node should maintain/access the topology table. (Access from Sink or Maintain its own?) 2. Information concerned for node: Node ID (Current & Neighbors) , Location (Current & Neighbors) and Address & Port No. 3. Sensor node should access its own info and neighbor node info. Exception: Sink Node. It should know and maintain all info. (Configure sink node like any other node. Permission to access list changes. Also, can we duplicate the sensor node part to the sink node with change in access to topology table? If so, how is spanning tree implemented at Sink?) Key points: 1. Solution to previous qn.: One instance on many machines i.e. One code as Sensor node and emulate the same as other nodes and also as sink. 2. Single table: Update and broadcast. 3.