There are many ways to implement Wireless Sensor Networks(WSN). In this post I am going to write about different ways of developing WSN based applications. The most common type of network topology for these type of applications is Star/Mesh, where there will be one Master/Co-ordinator which will take sensor data from all the nodes.
The WSN applications can be classified into two categories PUSH type and PULL type based on the Application level programming.
In this type of applications the communication is initiated and controlled by the master. Whenever master requires sensor data, it will send a request to the sensor node and the node will return data. In this type of networks all the sensor node radio’s should be in active listening mode. This may consume lot of power.
In this type of applications the Master/Co-ordinator do not have any control over the data flow. The sensor nodes will send data to the master without any request from the master. One of the main advantage of this method is that you can switch off your radio while you are not sending data (This depends on the node type in MESH networks. In mesh networks only end devices can switch off their radios).
When sensor nodes will send data to the master depends on the application requirements. In general one may send data in the following cases.
1. Periodic triggering
Some applications require the data to be sent periodically. One may use Timer based interrupt or delay routines to achieve this scenario. The Timer based interrupts have one advantage over delay method. In timer based methods, you can put your controller in sleep mode as most of the latest controllers support wake-up on timer interrupts.
2. External interrupts/ Change in sensor output
You may want send data to the master when an external interrupt occurs. In this case also you can put your controller in sleep mode to save power. If you want to send data on change in sensor input value, you have to measure the sensor readings continuously and check for any changes. This method is very useful if the transmission of data is costly and your controller power requirements are very less compared to the radio. You can also combine this method with Periodic triggering method for better battery life.
Which method to choose depends on the
- Amount of power available for each node(may be battery with/without renewable energy resources)
- Radio feature set
- Controller feature set and
- Application type.