Keywords

1 Introduction

The development of agriculture is important for economic development in many countries, especially, those in the Southeast Asia. To improve the crop productivity, a monitoring system is introduced to apply in a farm field in order to collect the information of farm conditions (e.g., light intensity, humidity and temperature). This information can be later used in precision agriculture for improving crop productivity.

Nowadays, Internet of Things (IoT) technology has become more popular to employ in various fields, especially, in monitoring systems for agriculture [1, 2]. In [1], authors proposed an IoT as a monitoring system to sense soil moisture conductive for irrigation management. Furthermore, authors in [2] monitored the environmental data (e.g., temperature, carbon dioxide and light intensity) in a greenhouse by using an IoT technology. As a result, the operational efficiency could be improved. However, a monitoring system consists of several sensor nodes which communicate together as a network, also called a sensor network. Although the sensor network can be both wired and wireless, wireless sensor networks are favor to used in IoT since the networks support mobility and easy to change the network structure. Particularly, the wireless sensor networks offer more advantage when they come to difficult-to-wire areas (e.g., across a river or farm fields that are physically separated but operate as one). One of the major challenges in the wireless senor networks of IoT monitoring system is how to efficiently utilize energy in the network.

Recently, there are several researches about transmission protocols for IoT sensor networks in monitoring systems [3, 4]. [3] introduced a traditional routing protocol called Sensor Protocol for Information via Negotiation (SPIN) which floods a negotiation message such as current resources to neighbor sensor nodes before performing a data transmission. SPIN can conserve the energy by choosing a resource-efficient route which calculate from the negotiation messages. On the other hand, the flood information will dissipate much energy. Therefore, authors in [4] illustrated an enhanced SPIN called Energy-efficient Sensor Protocol for Information via Negotiation (ESPIN) with the purpose of reducing redundant data and improving the network performance as well as decreasing energy consumption of the whole network. Although, ESPIN can decrease some consuming energy, the overall consuming energy is still high due to the use of multicast in the data transmission phase.

In this paper, we focus on the energy-efficient data transmission algorithm for an IoT sensor network in an IoT monitoring system. The proposed algorithm is divided into two main steps. The first step is data selection. Since each data transmission consumes most energy power of the sensor node, only useful information should be selected to transmit. The second step is energy-efficient data transmission. All the selected data will be transmitted by using our proposed data-driven transmission protocol. The objective of the algorithm is to find an optimal route for each sensor node to transmit the collected data to the server with lower transmission energy while the overall sensor node throughput is guaranteed. Finally, we evaluate and compare performance of our proposed algorithm with existing algorithms [3, 4] by using an experiment.

2 A Data Collection Framework for an Energy-Efficient Monitoring System

To utilize the energy efficiently, the sensor nodes should be able to capture the important data adaptively to the change of environmental conditions. For example, a soil humidity sensor must work more frequently when the crop gets watering or raining while the sensor will rarely work when it is sunny. We consider that each sensor node has only one antenna. Therefore, it can either receive or transmit data at a time. Five important modes of a sensor node are (i) listening, (ii) collecting data, (iii) transmitting data, (iv) sleep, and (v) idle mode as shown in Fig. 1. The detail of each mode in the monitoring process is as follows:

Fig. 1.
figure 1

Our proposed data collection framework for a monitoring system

  • Listening Mode: Since the sensor nodes are sparsely located in a crop field, some sensor nodes cannot directly reach the server. These nodes need to relay the data through their neighbor nodes. As shown in Fig. 2, node 3, 4, and 5 must relay their data through either node 1 or 2. To successfully collect data from all the nodes, every node must start with this mode in order to help relaying data for their neighbors.

  • Collecting Data Mode: Each sensor node can compose of various types of sensors (e.g., air temperature, air humidity, soil moisture, and light intensity). After the farm conditions are sensed, the data will be kept in the buffer before transmitting to the server. From our experiment, the data transmission consumes the highest energy power compared to other activities. To reduce the energy usage, only useful data should be transmitted to the server. Also, the buffer size of a sensor node is limited. Consequently, only useful data will be kept in the buffer. Otherwise, it will be removed.

  • Transmitting Data Mode: When there is the sensing data in the buffer, the sensor nodes will try to transmit the data to the server. The detail of the proposed algorithm is presented in Sect. 3.

  • Sleep Mode: Since the environmental conditions are slowly changed in most of the cases, the sensed data is slightly different from the recent sensed data. To save the energy power, the sensor nodes can fall asleep for a while. In this mode, the sensor node will disable communication ports and unnecessary operations.

  • Idle Mode: After waking up from the sleep mode, the sensor node will enter to idle mode in order to set up the buffer, input pin, output pin, and other components in the sensor node being ready for working in other modes. The duration in this mode is less than 2 s.

3 The Data-Driven Transmission Algorithm

3.1 Problem Formulation

In this paper, we focus on energy-efficient data transmission in an IoT sensor network for a farm monitoring system. The monitoring system consists of N IoT sensor nodes (as shown in Fig. 2).

Fig. 2.
figure 2

An example of IoT sensor topologies in a monitoring system

From our experiment, the highest energy power is utilized for data transmission. Consequently, we focus on the energy efficiency of the data transmission in the monitoring system.

The objective of our data transmission algorithm is to minimize the overall consuming energy power while the achievable data rate is guaranteed. Consequently, the optimization problem can be formulated as:

$$\begin{aligned} \min&\displaystyle \sum _{n=1}^{N} \frac{1}{\mu _n} \end{aligned}$$
(1)
$$\begin{aligned} \text{ subject } \text{ to }&\displaystyle r_n \ge \tau _n, \forall n \in \mathcal {N} \end{aligned}$$
(2)

where \(\mu _n\) is the energy efficiency at node n. \(\mu _n\) can be defined by \(\frac{r_n}{E_n}\) where \(r_n\) is achievable bit rate of node n (bits/s) and \(E_n\) is electric energy at node n (J). \(\tau _n\) is the threshold of the data transmission rate at node n that makes the buffer at node n not overflow. Note that this value can be calculated from the arrival rate of the sensing data, the buffer size, and the data removal rate (i.e., the rate that insignificant sensing data is removed from the buffer). \(\mathcal {N}\) is the set of sensor nodes in the monitoring system.

3.2 The Proposed Algorithm

Due to the complexity of the problem shown in (1)–(2), we propose a data-driven algorithm based on a greedy method. Since the buffer size is limited, when the data is available in the buffer, the sensor node will try to transmit the data as soon as possible to avoid the buffer overflow. This is so called data-driven algorithm.

The complexity of selecting the best route for each sensor node is an NP problem. This causes the long computation time. Consequently, we use a greedy method for selecting the route. Although the greedy method cannot provide the optimal solution, it can provide the approximate value close to the optimal value with low complexity. As a result, our algorithm can quickly adapt to the change in the monitoring system.

From the Shannon’s equation, the maximum bit rate depends on signal-to-noise ratio (SNR) as shown in Eq. (3).

$$\begin{aligned} B_{rate} = B_{w} \log _{2}(1+SNR) \end{aligned}$$
(3)

where \(B_{rate}\) (bits/s) is proportional to the bandwidth of specific channel \(B_{w}\) (Hz). The SNR can be obtained from the received signal strength indicator (RSSI).

From Eq. (3), an IoT sensor node will select the best signal route at the time to transmit the data in order to achieve the best transmission rate. The overall process of our algorithm is illustrated in Fig. 3. The proposed algorithm is executed at the sensor nodes as a distributed manner.

Fig. 3.
figure 3

The proposed transmission algorithm

When the useful data is available in the buffer of a sensor node, the node will find its neighbor nodes and evaluate their RSSIs by extracting and considering the received beacon signals. Then, the sensor node will select the neighbor node with the highest RSSI and closer to the sink node than itself as a relay node. Then, the sensor node transmits data to the selected relay node. However, the transmission can fail if SNR at the relay node is lower than a threshold. For example, there exists a simultaneous transmission from other nodes to the same relay node or there exists high interference at the relay node. If the transmission is unsuccessful, the sensor node will repeat the steps to find the new relay node. To avoid the wasting energy power with unsuccessful transmissions, we set up the maximum number of attempting transmission \(A_t\). If the number of contiguous unsuccessful transmissions is greater than \(A_t\), the sensor node will stop transmitting data to the relay node and then go to the sleep mode.

4 Experimental Results

To evaluate our proposed framework, we set up an experiment by using Atmega328p micro-controller unit (MCU) [5] based on Arduio technology and ESP8266 WiFi [6] module to create IoT sensor nodes. Each node consists of a temperature and humidity sensor, a soil humidity sensor, and a light intensity sensor as shown in Fig. 4a and b. We deploy five sensor nodes in a crop field with one access point to transmit data to our remote server. A layer topology is used to locate our sensor nodes as shown in Fig. 2. In the experiment, we set listen duration and sleep duration as 120 and 600 s, respectively. The maximum number of attempting transmission (\(A_t\)) is set to 5. The total experimental duration is 8 h.

Fig. 4.
figure 4

Sensor node in actual experiment

We compare our proposed transmission algorithm with SPIN and ESPIN in three performance metrics which are the average duration time until the transmission successes, the total number of successful transmission bits, and the average energy consumption for every 10 min. Figure 5 shows the average transmission time until the transmission successes for each protocol. We can see that our proposed algorithm can spent less transmission time than other algorithms. Also, our proposed algorithm can achieve the highest number of successful transmission bits as shown in Fig. 6.

Fig. 5.
figure 5

The average duration time until the transmission successes

Fig. 6.
figure 6

The total number of successful transmission bits

Fig. 7.
figure 7

The average energy consumption for every 10 min

Finally, we illustrated the average energy consumption for every 10 min over the overall experimental duration (as shown in Fig. 7). Our algorithm consumes energy lower than SPIN and ESPIN about 20.81% and 11.34%, respectively. Consequently, our protocol can outperform SPIN and ESPIN in term of energy efficiency about 81.53% and 36.84% for SPIN and ESPIN, respectively. This results from that our proposed algorithm does not need to multicast an advertisement to many other nodes every time before transmitting the data as they do in SPIN and ESPIN. Moreover, SPIN and ESPIN must wait for the request messages from the relay nodes before starting the transmission. This process wastes energy consumption and provides the big overhead in the transmission process.

5 Conclusion

This paper has proposed an energy-efficient transmission framework for an IoT monitoring system in a precision farming. The proposed framework consists of five modes which are listening, collecting data, transmitting data, sleep, and idle mode. For each mode, we focus on energy efficiency so that the energy power for the overall monitoring process is efficiently used. We have also proposed a data-driven transmission algorithm based on a greedy method to employ in the transmitting data mode of our proposed framework. From the experiment, the results have revealed that our proposed algorithm can achieve higher energy efficiency than SPIN and ESPIN protocols about 81.53% and 36.84%, respectively.