Keywords

1 Introduction

Sensor networks have been used to collect environmental information from a wide area effectively. Typical sensor network systems consist of a lot of sensor devices with a wireless communication module and some sensors, and a sink device that collects the data from the sensor devices. Since replacement cost of a battery is a huge issue in the system, the system requires the sensor devices to reduce required electric power for long-time operation.

Conventional researches have been classified into two research areas: media access control mechanisms and routing protocols. Conventional MAC mechanisms typically control transmission timing by using a special frame structure [13]. They also assign an active and a sleep period to realize a sleep operation that is a quite low-power operation mode of micro-computer [46]. Since synchronization of frame timing is important, time synchronization mechanisms have been also proposed [79]. As routing protocols, various routing protocols have been proposed [1012]. Since long operation is an important function in sensor networks, a lot of complex algorithms have been proposed to extend the lifetime. The complex algorithms usually require various information to optimize parameters for a routing. Therefore, traffic for control messages also increases according to an increase in complexity. Additionally, they also require a large size of memories to store the collected information and to calculate the optimum parameters. As a result, almost all conventional researches consider performance by simulations because almost all simulators do not consider a limited resource of memory space on hardware.

On the contrary, practical hardware for sensor networks is resource constrained devices that have a small size of memories and a limited computational resource because resource constrained devices are suitable to reduce power consumption of hardware. These sensor devices require a simple multi-hop communication mechanism to execute software on the limited resource hardware. Additionally, a typical quartz on a micro-computer board does not have enough accuracy to maintain synchronization timing even if time synchronization is an important issue to realize a sleep operation. Therefore, multi-hop communication mechanisms also are tolerant of rough time synchronization.

This paper focuses on Arduino boards that are well-known resource constrained devices. Typical Arduino boards implement only 2 KB SRAM and 32 KB flash Memory. Therefore, complex algorithms for multi-hop communication are difficult to execute on the limited hardware resource. This paper studies a simplified algorithm for multi-hop communication to implement on resource constrained devices. The proposed routing protocol can create a tree-based route between a device and a sink device by exchanging routing information between neighbor devices. The benefit of the proposed routing protocol is to reduce the number of control packets and required memory resource for route construction processes. In addition, the proposed media access mechanism provides an original frame structure to realize a sleep operation and to mitigate packet collisions. Since synchronization of a sleep period and an active period is required to reduce power consumption, the proposed protocol also deploys a time sharing mechanism to share the frame timing among neighbor devices. The proposed multi-hop communication mechanism is tolerant of rough time synchronization because it assumes enough long slot period comparing to the time synchronization accuracy. Experimental results show that the authors can implement the proposed mechanisms on Arduino compatible boards, and the proposed mechanisms can construct a sensor network with low-power consumption.

2 Proposed System

The proposed wireless sensor network comprises of a lot of sensor devices and a sink device. As sensor devices work by a battery, they use a sleep operation to mitigate consumed power. A sleep operation should be carefully considered in multi-hop networks because message relaying process is also performed in active periods. Hence, this paper proposes a special frame structure that assigns a unique period for a time synchronization, route construction, data transmission and an acknowledgement transmission. The proposed routing protocol can construct a tree-based route from sink device to sensor devices. Therefore, each sensor device can manage its route by storing an address of its upstream device.

Fig. 1
figure 1

Frame structure

2.1 Frame Structure

Figure 1 shows the proposed frame structure. The period in the frame structure is classified into a time synchronization slot, a routing slot, data transmission slot, and acknowledgement transmission slot. The details are described as follows.

  • Time synchronization slot

    The proposed mechanism requires devices to share the frame timing in the whole network. Therefore, the start timing of the frame should be synchronized among devices. Each device adjusts local time according to its upstream device during the time synchronization slot.

  • Routing slot

    Since a topology of typical sensor networks is almost static, dynamic changes of routes rarely happen. Hence, each device constructs a route during the routing slot. As a result, devices with a route can reduce power consumption during the routing slot by using a sleep mode.

  • Data transmission slot

    Signal arrival area of each sensor device is usually overlapped in practical situation because it’s difficult to optimize a location of each sensor device. Therefore, mitigating interference among sensor devices is important to improve communication performance. The proposed frame structure assigns a sub-slot classified by a hop-count from a sink device. Therefore, neighbor sensor devices usually use a different sub-slot to transmit a message. Additionally, our structure is easy to maintain the operation of a sleep mode.

  • Acknowledgement transmission slot

    The acknowledgement transmission slot is also classified to sub-slots according to the same reason for the data transmission slot. The frame structure can avoid interference among a data message and an acknowledgement message by dissociating the slot.

2.2 Time Synchronization

Figure 3 shows the communication sequence for time synchronization in the network shown in Fig. 2. At the start time of the time synchronization slot, the sink device broadcasts a TSYNC message including time information \(T_1\). The one-hop device receiving the message calculates \(T_2\) that is a different time to the sink device by reducing a propagation delay and a processing delay. Then, it adjusts the local time according to the difference between \(T_2\) and \(T_1\). After the adjustment of the local time, the one-hop device also broadcast a TSYNC message including time information \(T_3\). The second-hop device also performs the same processing for the time synchronization.

Fig. 2
figure 2

Example location of devices

Fig. 3
figure 3

Communication sequence for time synchronization

Fig. 4
figure 4

Example device location for routing construction process

Fig. 5
figure 5

Example routing construction process

Fig. 6
figure 6

Data collection sequence

Fig. 7
figure 7

Operation example of data collection

2.3 Routing

Figure 5 shows the routing procedure in the device location of Fig. 4. In the example device location, the sensor devices A and C have an available route to the sink device. The routing slot has some sub-slots: a route request sub-slot, a route reply sub-slot, and a route construction sub-slot. Sensor devices B and D without any available route transmit a RREQ (Route REQuest) message to the neighbor device in the route request sub-slot. As a reply message to the RREQ messages, sensor devices A and C reply the RREP (Route REPly) message in the route reply sub-slot. Then, sensor device B and D start a route construction process by transmitting the RCREQ (Route Construction REQuest) message to sensor device A and C respectively. Sensor device A and C reply the RCREP (Route Construction REPly) messages to sensor device B and D respectively. Finally, sensor device B and D confirm the route construction by transmitting the RCACK (Route Construction ACKnowledgement) message. As a result, our routing protocol can construct a tree-based route from a sink device.

2.4 Data Collection

Figure 6 shows the data collection sequence in the location of Fig. 7. Since the unique sub-slot is assigned according to a hop-count from a sink device, each sensor device transmits a data message and an acknowledgement message during its sub-slot period. In Fig. 7, sensor devices A and B transmit a data message during the data sub-slot for two-hop devices. Then, sensor device C replies the acknowledgement messages to sensor device A and B during the acknowledgement sub-slot for two-hop devices. It also transmits these data messages to the sink device during the data sub-slot for one-hop devices. Finally, the sink device also replies the acknowledgement messages to the sensor device C during the acknowledgement sub-slot for one-hop devices.

3 Experimental Results

In the experimental results, we have evaluated accuracy of the time synchronization scheme and packet arrival ratio. We have employed Arduino compatible board for devices and Xbee Series 1 that is an IEEE 802.15.4 based wireless module.

3.1 Time Synchronization Accuracy

Figure 8 shows the evaluation model of the time synchronization. In the evaluation, we have prepared a two devices for an evaluation device and a reference device. The reference device provides reference time for the evaluation device by using the proposed time synchronization scheme. Digital I/O ports of both devices are connected by jumper wire to evaluate the difference of the local time.

In the proposed scheme, the reference device sends a Tsync(Time synchronization) packet that contains the current time T1 to the evaluation device. The evaluation device records the reception time T2 when it receives the Tsync packet. It also determines the deviation of the time and synchronizes the time by calculating \(T2 - T1\). The reference device records the local time T3 and outputs a signal from the digital I/O port immediately. The evaluation device records the local time T4 when it recognizes the signal from the reference device immediately. We have evaluated the difference \(|T4 - T3|\) as the accuracy of the time synchronization. The experimental results show the average value of 100 trials. From the experimental results, we can find that accuracy of the time synchronization scheme is about 4.7 [ms]. The proposed frame structure requires synchronization among neighbor devices, not in whole network devices. Therefore, neighbor devices can share the frame structure within about 5 [ms] even if the number of multi-hop increases.

Fig. 8
figure 8

System model for time synchronization accuracy evaluation

Fig. 9
figure 9

Topologies for packet arrival ratio evaluation

Fig. 10
figure 10

Parameters of frame structure

3.2 Packet Arrival Ratio

We have evaluated the packet arrival ratio of the proposed system in the two network topologies in Fig. 9. We have calculated the packet arrival ratio by the following equation.

$$\begin{aligned} Packet\, arrival\, rate = \frac{The\, number\, of\, packets\, that\, the\, sink\, node\, receives}{The\, number\, of\, packets\, that\, each\, node\, has\, generated} \end{aligned}$$
(1)

Figure 9 shows the network topologies in the experiments. In the network topology 1, the five sensor devices transmit data to the sink device in one-hop communication. In the network topology 2, each sensor device transmits data to the sink device by multi-hop communication. In the experiment, each device is placed at 2 m intervals, and we have set the parameters for frame structure in Fig. 10. The maximum number of hops is set to 10 hops, and the transmission power of XBee is 10 mW. In order to evaluate the static condition of the route, we have built the route before the experiment.

Table 1 shows the packet arrival ratio. In the network 1, each device had a high packet arrival ratio because the performance of the one-hop communication is enough reliable for a packet delivery. In the network 2, the packet arrival ratio decreases according to the increase of the hop counts because continuous successful deliveries are required to deliver a packet in multi-hop communication. Since wireless communication usually suffers from random errors due to noise, more reliable communication can be performed by implementing retransmission mechanisms for packets.

Table 1 Packet arrival ratio

4 Conclusion

This paper proposes a sensor network system suitable for resource constrained devices. The proposed routing protocol can create a tree-based route between a device and a sink device by exchanging routing information between neighbor devices. Therefore, our protocol can reduce the number of control packets and required memory resource. In addition, the proposed media access mechanism provides an original frame structure to realize a sleep operation and to mitigate packet collisions. Since the frame structure should be shared among devices, a frame synchronization scheme is also deployed. Experimental results show that the authors can implement the proposed mechanisms on Arduino compatible boards, and the proposed mechanisms can construct a sensor network with low-power consumption.