![]() |
![]() |
The software used within the node also needs to be written with energy conservation in mind, both in the overall operations being performed and also in the code
Figure 8.8 Demonstration network topology.
implementation. A key strategy used to operate the node in an energy-neutral manner is to track the level of available energy and to vary the duty cycle of the node accordingly. In this system this is achieved by interrogating the level of charge of the storage module(s) and assigning the node’s energy level to one of a set number of levels ranging from zero energy to full. At lower levels the sleep duration of the node will be increased, reducing as the energy store reaches higher levels. These energy levels are also used to make decisions regarding relaying messages from other nodes. The full details of these techniques will be presented in Section 8.5.2.
The basic operation of the energy-harvesting, energy-aware node within the scenario used for the demonstration consists of the node repeating a set core routine:
• The node queries and updates its current energy state and sets its power priority (PP) level.
• The energy multiplexer subsystem is scanned for any changes to the attached modules, either addition or removal.
• Any changes detected to the modules attached to the energy multiplexer subsystem are reported to the sink node using the RF link.
• Measurements are requested from the remote nodes, and responses are awaited for a fixed period of time.
• If a response is received from a remote node, a decision on whether to relay the message onwards is made by the intelligent energy management process, with the message being retransmitted if appropriate.
• The node will then perform a measurement using the sensor module attached to it and send the result of this measurement along with details of its current energy state to the sink node using the RF link.
• The current instantaneous production rates for all harvesting modules and the current amount of energy stored by storage modules that are attached to the energy multiplexer subsystem are measured and details of these reported to the sink node using the RF link.
• Having completed the main processing tasks, the node will update its energy status and power priority level.
• The node uses the power priority level to determine the duration for which it should sleep before starting the cycle again. When the energy available to the node is reduced, the sleep period will be increased, and conversely, as the energy level rises, the sleep period reduces.
• The microprocessor goes into a low-power sleep mode for the duration calculated previously, prior to restarting the cycle.
The software used to control the operation of the node has been written in C and then cross-compiled using the IAR Embedded Workbench development environment for the CC2430 System on Chip. Function libraries supplied for use with the development environment enable the control and operation of the various peripherals within the CC2430.