XMPP (Extensible Messaging and Presence Protocol) is a widely used protocol for real-time information exchange in the Internet. In this paper, we extend it to the area of WSN (wireless sensor networks) based on IPv6 and present a lightweight XMPP client protocol software optimized for sensor nodes.
Considering the resource-limited characteristic of the sensor nodes, we use UDP as the underlying transmission mechanism for XMPP instead of traditional TCP mechanism.
With the purpose of decreasing the implementation overhead, we developed the XMPP client software through the use of finite state machine methods. The state design and frame parsing process of the software are presented. Because XMPP is an application layer protocol and the WSN protocol stack is based on FSM (Finite State Machine) methods, when re-designing the application layer protocol, the design scheme of for the FSM becomes the most important part of our implementation of XMPP.
This finite state machine shows the XMPP sensor client how to work. All of these states are necessary for the process of authentication. Without the successfully authentication between sensor client and XMPP server, it is hart to extend the XMPP. After the successful authentication, the idle state and the state of sending data become the main states because the interaction of data between XMPP client in wireless sensor networks and XMPP client in Internet simply need the periodic skip of these two states.
The XMPP client in wireless sensor networks which is based on IPv6 technology needs to handle the response frame from the XMPP server and it also should parse the application layer strings. The XMPP client matches a specific string of the response frame and then sets corresponding state for the XMPP client.
The appropriate flag needs to be set as a sign of successful reception as well. If the XMPP client matches the special string successfully, the state of finite state machine of XMPP client jumps to the corresponding state and then sends corresponding data to its XMPP server.
To capture the packets, the capturing packet software needs to be used in Linux environment. It can clearly display the process of authentication between sensor client and XMPP server. This process uses UDP transport mechanism which can reduce power consumption and the amount of code greatly.
Finally, the proposed XMPP scheme and the client software was tested on an IPv6-based WSN platform. The test system uses CC2530 nodes as the XMPP clients in wireless sensor networks and uses source insight as the developing tool and the C51RF-CC2530-PK development board as the border router.
Linux was the running environment for XMPP server and uses pidgin software as the Internet client. The test system verified the XMPP via the successful interaction of data between Internet client and sensor client in wireless sensor networks
The experimental results show that using XMPP over UDP is feasible. It also demonstrates that XMPP can be used in the sensor networks as a unified method for information delivery among different kinds of sensors and networks.
To read more of this external content, download the paper from the author archives online at Atlantis Press.