{'fraction_non_alphanumeric': 0.021804675551671402, 'fraction_numerical': 0.0061612409875464276, 'mean_word_length': 5.009978991596639, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Powering Wireless Sensor Networks Nodes for Complex Protocols on Harvested Energy

The energy source is one of the main constraints in many aspects of modern life. This fact is of crucial importance when addressing portable electronic devices operation. Portable devices, which can be considered as a distinctive characteristic of the 20th century last quarter, mostly rely on old battery technology as a source of energy. This fact is true for many autonomous electronic devices and is of vital importance when addressing Wireless Sensor Networks implementation. The most obvious energy source for a Wireless Sensor Network node is a battery. Batteries have nevertheless a number of drawbacks making them the main limitation when implementing these systems. Replacing batteries is therefore an important topic of both academic and industrial scientific work. This paper addresses software related implications of running a Wireless Sensor Network node that uses a complex communication protocol and is running on harvested energy.


Introduction
Wireless Sensor Networks (WSN) technology is currently one of the driving forces for wireless communications research and industrial applications [1], [2]. In fact, the ability to collect and transfer information provided by WSN is the base of a number of new industrial projects. WSN where made possible by the development of semiconductor industries that can include in the same silicon die analogue components together with digital and radio frequency circuits. The enabled multifunctional, low cost, low power, and small size fully independent systems are the base of WSN technology. The energy source is the main constraint when operating one such system [3]. The most obvious energy source for a WSN node is a battery, being these rechargeable devices or non-rechargeable ones (i.e. primary or secondary). Batteries have nevertheless a number of drawbacks that seriously limit the usage of WSN, and are in fact the main limitation to its widespread use. Low cost network implementation/operation will be addressed only if battery consumption is substantially reduced or altogether eliminated. In [4] and [5] financial costs associated with WSN deployment, commissioning and maintenance where presented. Bearing this in mind, it is easy to imagine that large network prices will grow, assuming prohibitive costs. Eliminating batteries will therefore be an advantage in all environments. An industrial environment provides a good illustration for the proposed considerations. Presently, due to the high competitiveness levels worldwide, in large modern industrial plants the overall reliability and the effective maintenance management are critical aspects. In that scope, when using a large number of three-phase squirrel-cage induction motors, the implementation of integrated motor diagnosis systems is highly desirable [4]. However, such systems are in general very expensive and require themselves maintenance resources for cleaning, battery replacement, among others. Energy harvesting can be an important asset for a wireless network despite in-loco power availability. In this case, there is plenty of available energy supply, but installing a node always requires wire cutting and screw fastening. Connecting a WSN node to a power line in an industrial environment will therefore require a skilled technician. Home automation provides a different scenario with similar considerations. Monitoring a large number of electrical charges in large office buildings requires the installation of a significantly large number of wireless devices. Again in this case, despite local power availability, the use of devices with no need for maintenance (e.g. battery replacement) provides the potential for decreasing maintenance costs. Power scavenger solutions may significantly contribute to reduce node placing and maintenance costs. WSNs whose nodes can easily be moved, are electrically isolated from high power supply and require no skilled workers for node placement and replacement, presents a significant cost reduction of network operation. This solution can only be effective by implementing energy scavenger and storage techniques.
Together with energy source WSN protocol operation is a fundamental concern. If one considers that WSN objective is to gather data and send it to one or more nodes in the network, more than simple data transmitting is required. Data must be identified and related to its origin, network traffic must be routed and a network topology must be put into operation. Nodes must follow a protocol to be part of the network and are required to execute bidirectional communications. Moreover nodes must be able to listen before transmitting thus requiring more energy than if they were only sending a small number of bytes. Protocol operation such as registering with the network or joining to a group of nodes within the network is required. Protocol operation thus requires energy and power availability that strongly relates with its complexity. Zigbee/IEEE802.15.4 [6], [7] is one example of a complex protocol that requires sending and receiving data in large amounts. Using Zigbee is justified by the market relevancy of this protocol.
The use of embedded microprocessors to control wireless communication in WSN allows each isolated device to be aware of network behaviour and thus be a useful participant in overall activities. For one such device, losing the power source, effectively removes it from the network, impairing node capabilities to contribute to network objectives. Even if no communications are required a dead node is unable to collect data or execute processing activities. It is therefore important to avoid power losses that effectively remove node from the network. For battery-less nodes, storage energy management is therefore a vital issue that assumes increasing importance if a complex, and thus heavy energy consumer, communication protocol is used. In this paper, a Zigbee battery-less node powered by an electromagnetic harvesting source using a Split-Core Toroidal Coil Current Transformer (SCCT) is presented. Texas Instruments Zigbee software stack (Z-Stack) is used to show communications viability from this power source. This paper is organized as follows: Section 2 describes Zigbee characteristics that are the most relevant for the proposed work. The implemented system architecture and hardware characteristics of proposed device are briefly described in Section 3. Z-Stack is described in Section 4 while proposed software adaptations are presented in Section 5. Section 5 also shows that successful communications are possible with the proposed Z-Stack changes. Conclusions are drawn in the remaining section.

Complex Wireless Sensor Networks Protocols -802.15.4/Zigbee
The Zigbee protocol specifies a wireless technology based on the IEEE 802.15.4 standard for wireless personal area networks (WPANs). The link between Zigbee and 802.15.4 can be described using the referenced ISO (Open Systems Interconnection) layers identified in Fig. 1. The 802.15.4 is a standard that defines the Physical and Medium Access Control (MAC) for low power and low data rate wireless networks. Zigbee is built on top of 802.15.4 specification and provides a definition for two layers of the OSI model: the Application Layer (APL) and the Network Layer (NWL). Throughout this paper these two protocol definitions are referenced indistinctively by the standard or as Zigbee.
Zigbee defines two physical devices: full function devices and reduced function devices. Full function devices (FFD), can work in any topology, are capable of being the Network Coordinator and can talk to any other device in the network. FFD can act as data routers within the network. Reduced function devices (RFD) cannot become a network coordinator can only talk to a network coordinator or router and may have a simple (e.g. hardware) implementation. There is exactly one coordinator in each network (Zigbee Coordinator -ZC), and it is this device that establishes the network. Routers (Zigbee Router -ZR) act as intermediate nodes, relaying data from other devices. End Devices (Zigbee End Devices -ZED) can be low-power/battery-powered devices. They have sufficient functionality to talk to their parents (either the coordinator or a router) and cannot relay data from other devices. A time division with multiple access (TDMA) scheme, with a carrier sense for multiple access with collision avoidance (CSMA/CA) mechanism is used by the radio for medium access. MAC data transactions are executed using four frame structures: Beacon frame, transmitted by ZC for network information and synchronization. Data frame, used for data transfers. Acknowledgment frame, used at various levels to confirm successful frame reception. MAC command frame, used for handling all MAC peer entity control transfers. The standard allows the optional use of a Superframe structure that has a variable size defined by the network coordinator. The Superframe is bounded by network beacon frames sent by the coordinator and is divided into 16 equally sized slots. A beacon frame is transmitted in the first slot of each Superframe. The beacons are used to synchronize attached devices, to identify PAN, and to describe structure of Superframes. The Superframe is moreover divided in tree periods. A contention access period (CAP) immediately follows the beacon frame. Any device wishing to communicate during the contention access period (CAP) between two beacons competes with other devices using a slotted CSMA/CA mechanism. Low latency applications may choose a guaranteed time slot (GTS) option. GTS can be used by any device to specific actions during each Superframe. The guaranteed time slots are issued during the contention free period (CFP), which always appears immediately after the CAP. The PAN coordinator may allocate up to seven of these GTSs and a GTS may have more than one slot period. However, a sufficient portion of the CAP remains for contention based access of other networked devices or new devices wishing to join the network. All contention based transactions have to be completed before the CFP. Also each device transmitting in a GTS has to ensure that the transaction is complete before the next GTS or the end of the CFP. An inactive period allows devices to sleep.
Zigbee operation can be done without using a Superframe. With this operation mode beacons are never sent by the PAN coordinator, and unslotted CSMA-CA is used for communications. The coordinator must always be on and ready to receive data. End devices will periodically wake up and poll the coordinator for pending messages. If any, the ZC sends pending messages or signals that no messages are available. Protocol operation requires that all nodes Join the network and are registered with the ZC. Zigbee protocol is based on periodic operation mode for all network participants. Nodes periodically wakeup and/or communicate with its router or coordinator. Periodic data (e.g motor control operation) may be handled using the beaconing system whereby the node waits up for the beacon, check for any messages and then goes back to sleep. Intermittent data can be handled either in a beacon-less system or in a disconnected fashion. In a disconnected operation the device only joins to the network when it needs to communicate. Connected operation mode requires that join procedure is executed once by the nodes. The Join procedure is therefore mandatory so that a node may be part of the network. By joining the network a device associates with other device that is already part of the network. A device that has other devices associated with it is a coordinator to those devices. A ZED is not allowed to receive associated nodes. Prior to joining the network each node must execute a network scan thus choosing a suitable parent using project design parameters. After potential parent identification, nodes issue an association request command frame. Parents must then determine if requesting nodes may join and sends a response frame in accordance. If join is successful, the response frame contains the short address that the device will use to be identified within the network. Fig. 2 illustrates protocol behavior for a Join operation. As shown, join is a device initiated procedure that sends an Association Request to a ZC. This procedure entails a Data Request action from the ZED as well as an Acknowledgement (Ack) reception. The join process may be executed in a direct or indirect mode. In direct mode the ZED doesn't enter sleep mode while waiting for ZC response. After a aResponseWaitTime period of time a Data request is executed to determine if the join request was accepted. The answer is issued using an Association response. By using indirect mode ZED may sleep after sending the join request. In this case ZED's must wake up to send a Data request for the join procedure and wait for ZC response and Acknowledgments. Fig. 3 illustrates the Active Scan procedure sequence. Active Scans consist on a sequence of beacon requests to determine the existence of network coordinators or routers using different radio channels. This operation is executed with radio frequency module turned on for each channel scan.  Fig. 2 and Fig. 3 show that network joining may entail a prolonged turn on time for the radio frequency module being therefore energy consuming. Fig. 4 illustrates a data request sequence diagram that fulfills WSN purpose of data transfer between nodes. As illustrated by this sequence diagram, a data request entails less energy consumption than the join or the Active Scan procedures. Join procedure is fundamental for protocol operation as nodes use it to acquire a valid network address. Only after acquiring a network address is protocol operation possible.
Zigbee defines application objects to implement desired functionalities. Two nodes with linked functionalities share common application object structures and communications are possible by encapsulating these data structures into MAC data frames. The process that relates two nodes application objects is described as binding. Binding is therefore implemented with procedure illustrated by Fig. 4.

Proposed System Implementation
In this work a battery-free Zigbee compliant wireless device node was implemented. The device is powered by an electromagnetic harvesting source using a Split-Core Toroidal Coil Current Transformer (SCCT). The Split-Core Transformer was success-fully applied in [5] to power a battery-free wireless device that is capable of monitoring threephase squirrel-cage induction motor parameters.  The included micro controller is fed by means the small SCCT coil inserted around the charge input power conductors. A harvesting system is capable of scavenging energy from this low power source. Also storage management is made so that the system is able to read environmental data (in [5] (neutralground/earth voltage is acquired) and execute wireless communication to a central console. As illustrated in Fig. 6 system was built using a Linear Technology LTC3108 AC/DC power converter [8] that implements a charge pump from the SCCT so that its AC voltage is rectified and boosted. A Texas Instruments CC2530 microntrontroller with a radio frequency module for 2.4-GHz IEEE 802.15.4 and ZigBee applications implements the processing and communication system capabilities. Also as illustrated in Fig. 6 a small resistor was placed in series with the CC2530 power line thus allowing current consumption measuring. The system was programmed using Texas Instruments Zigbee protocol (Z-Stack). Z-Stack is Texas Instruments IEEE 802.15.4/ZigBee compliant protocol stack. Z-Stack is compliant with the ZigBee 2007 (ZigBee and ZigBee PRO) specification, supporting both ZigBee and ZigBee PRO feature sets on the CC2530 System-on-Chip and a number of Texas microcontrollers. Fig. 7 illustrates system current consumption behavior when powering Z-Stack. System low power operation may be characterized by voltage line variation in Fig. 7. The microcontroller is initially powered off. As power voltage is supplied Z-Satck initialization procedure is possible and a small current consumption is measured. After initialization, system enters power down mode waiting for enough energy to be harvested to Zigbee operation. Thereafter, when protocol operation is possible, the node is able to execute network Join and device Bind procedures. As shown in this figure the harvesting system was able to power regular Zigbee operation as a 5 second communication period was sustained.

Z-Stack description
Texas Instruments Z-Stack implements a small operative system that is referred a board support package (BSP). This BSP consists of a hardware abstraction layer (HAL) and an operating system abstraction layer (OSAL). OSAL is a mechanism for task allocation of resources, implementing a cooperative, round-robin task servicing loop where each operation in Z-Stack runs as a task that is capable of communicating with other tasks through a message queue. Fig. 8 illustrates OSAL operation. The software executes system initialization before entering stack main loop. System start-up executes initialization to memory allocation system, OSAL basic timer, message queue, power management and task system. Each sub-system of the Z-Stack runs as an OSAL Task.
User applications run on tasks that must be created in software code. This is accomplished by adding task to the task array and at least one must be created. The OSAL searches for events created by the tasks and only allow the processor to sleep after all events have been served. System initialization workflow is shown in Fig. 9. The procedure thus shown is responsible by the first current spike illustrated in Fig. 7. The initialization procedure executes the following functionality: • All initialization procedure is executed without interrupts. Z-Stack first operation is interrupt disabling.
• Board configuration is executed. Z-Stack is distributed with software support for a number of Texas Instruments test boards. CC2530 IO ports are configured; • Power line voltage value is verified. Original OSAL only checks voltage line value once. Z-Stack runs only when power availability exists; • Peripheral functions are initialized for Z-Stack operation; • Flash memory is initialized; • Medium Access Control is initialized. CC2530 radio frequency module is configured; • Zigbee extended address is obtained; • OSAL tasks are initialized; • OSAL starts running;

Zigbee protocol running on harvested power
Unaltered Z-Stack running with the harvesting device was not possible. Unlike battery powered devices this system is unable to power the Zigbee protocol tasks for prolonged periods of time. To prevent uncontrolled device power down a return to sleep mode is mandatory within a time frame in the order of 100ms. Moreover the proposed system implements a ZED using a changed Z-Stack that must maintain compatibility with unaltered ZC software. Energy harvesting for WSN requires a meaningful change in node behaviour when compared with battery operated nodes. Nodes running on harvested energy may be programmed so that their energy constraints are short term while battery operated nodes have strong long term energy limitations. This fact is observable with procedure execution described in Section 2. Original OSAL implementation is developed for battery operated nodes with no short term energy limitations. Original implementation executes Z-Stack initialization, 802.15.4 Join and Zigbee Bind procedures as fast as possible without entering low power mode and only then returning to processor sleep mode. This is a natural and desirable behaviour for battery operated nodes. For such power supply short term energy exhaustion is not a problem and is therefore indifferent to remain on full power mode for 1 second or 10 seconds. Operating on harvested energy poses different engineering challenges. For one such system, prolonged (100ms+ seconds) full power operation is impossible because only the energy storage in the capacitor banks is available. That is short time energy availability is small. On the other hand, in the long run, energy is harvested thus allowing long term device powering. This work proposes alteration to the Original Z-Stack implementation so that a full Zigbee compliant node is possible to run on harvested power. Changes are proposed to the initialization procedure as well as to the main round robin operation. Table 1 shows proposed and implemented changes. Implemented software changes allowed Zigbee nodes running on harvested power to maintain communication sequence as a battery powered ones. Fig. 10 illustrates a radio frequency communication sequence obtained from a packet sniffing software. The behaviour thus shown presents no difference from a battery powered node as data exchanges are executed in the same sequence and consequences. The proposed device implemented a simple "Hello World" message transmission from a ZED to a ZC. Fig. 11 illustrates a sequence of two transmitted frames with a 5 second time interval as programmed. ZED data request

Conclusion
WSN can be viewed as distributed computational networks where each node has sensing, processing and communication capabilities. These characteristics are possible due to node embedded microprocessors thus allowing each isolated device to be aware of network behavior and an active network participant. The loss of energy effectively removes it from the network, impairing node capabilities even if no communications are required. Battery operated nodes energy management algorithms are usually simple and straight forward: For each communication or energy expensive activity a counter is decremented. A near zero counter value means power critical level is near. To these nodes active scan and join (e.g.) activities are considered as a large counter decrement and not critical per se. Battery-free nodes must operate using a different energy management algorithm in which join and scan actions may be critical on their own. For battery-less nodes power management is therefore a vital issue that assumes increasing importance if a complex, and thus heavy energy consumer, communication protocol is used.
In this paper a power management solution for WSN nodes powered with an energy harvesting device and running a complex protocol is presented. The implemented solution was able to operate from energy stored in capacitors. A complex protocol for WSN was adapted to operate with an energy harvesting solution. The proposed solution uses Texas Instruments Z-Stack Zigbee software bundle. Performed adaptation allowed 802.15.4/Zigbee protocol compliance to be maintained while system operation made possible for a micro power scavenger.