Journal of Information Technology and Computer Science Volume 8, Number 1, April 2023, pp. 52-59
Journal Homepage: www.jitecs.ub.ac.id
Enhancing River Monitoring Embedded System using Time Redundancy Fault Tolerance to Resolve Transient
Sensor Fault
Mochammad Hannats Hanafi Ichsan*1, Muhammad Adinura Julian Habibie2, Wijaya Kurniawan3
1,2,3Brawijaya University, Malang
{1hanas.hanafi,3wjaykurnia}@ub.ac.id, {2adinura.julian}@gmail.com
*Corresponding Author
Received 04 October 2022; accepted 08 March 2023
Abstract. Reading data from sensors in the context of the Internet of Things (IoT) is one of the main parameters of a high-reliability system. Data reading by sensors is prone to errors due to various variables that the problem cannot accommodate. One method to overcome this problem is the time redundancy algorithm, where the sensor takes data and its best value several times. In this study, the sensors used to calculate the water levels are ultrasonic sensors and resistance. At the river monitoring point, data is sent using the UDP (User Datagram Protocol) protocol that previous studies have used. This research has been done as a prototype with a maximum distance between sensor nodes of one meter. The results of sending data using UDP were successful, with an average delay of 3293 microseconds. And the ultrasonic sensor that has been tested based on transient fault against time redundancy has an accuracy of 94.5% based on a sampling delay of 1000ms.
Keywords: River Monitoring, Embedded System, Time Redundancy, Fault Tolerance, and Sensor Fault
1 Introduction
The last decade has seen a rapid increase in the use of the Internet of Things (IoT) and Embedded System, which has been implemented in various aspects [1]. One of them is to monitor river water canals which are used as a tool to prevent flooding [2, 3, 4]. However, the reliability aspect of such a critical system has not been studied comprehensively. The most crucial element of the monitoring system is how the sensors read the data correctly [5]. Because if it is wrong in reading the data, then the system's decision to control it will be wrong and cause unwanted things—for example, flooding and equipment damage. If the system has a significant error, it will not be trusted or used [6].
Various techniques have been applied to overcome the problem of reading data, ranging from expensive sensors to significant infrastructure changes [7, 8, 9]. However, this does not guarantee a system is said to be successful or reliable, and it only takes considerable time. This research was motivated by previous research that was carried out, namely, developing a prototype of a water canal to prevent flooding in rivers [10, 11]. Fault tolerance is a system's ability to continue performing its duties when an error occurs. In creating a system considered high reliability, several methods can be used, the most common of which is to process the data received by the sensor with the concept of redundancy [12]. This redundancy can be in the form of additional hardware or program code to verify the output value results [13]. One of the errors that can occur in
Mochammad Hannats., et al. , Enchancing River Monitoring... 53
p-ISSN: 2540-9433; e-ISSN: 2540-9824
sensors in a system is a transient fault [14]. The transient fault is a sensor reading error that appears at one time and then disappears [15]. The transient fault problem can be solved by adding a time redundancy algorithm to the system [16]. Time redundancy is the repetition of a task by computing, executing commands, or sending data two or more at different times [17]. The results of the duplication will then be compared with the data that has been previously stored. If the data is different, an error occurs in the system [18].
Previous research detected floods using fuzzy logic using ultrasonic sensors with embedded systems using NRF24L01 which has an error of 4.64% [11]. However, this study calculated errors based on manual calculations, so only the incoming data were assessed. This study has not included data that failed due to transient faults. The sensor's location and the monitoring point's location are different. So it is also necessary to send data from sensor readings. The UDP protocol was chosen because it has good reliability on embedded systems.
Based on the possibility of a fault in the system, in this study, time redundancy will be implemented to overcome the problem of transient faults. Adding time redundancy to sensor readings aims to overcome transient faults occurring when the sensor reads a value. So that the results of this study will be able to conclude the impact of system read errors and the success of time redundancy on the transient sensor. UDP is used as well as adding a data transmission protocol because the sensor points and monitoring locations are in different places.
2 Related Works
Another previous research conducted is water channel control using Fuzzy Logic [11] and Simple Additive Weighting (SAW) [10]. The river must have a smooth flow and be free of obstructions. Floods in rivers are caused by clogged drains and fewer catchment areas of high rainfall in a location [19]. However, under certain conditions, if it is in the highlands with high rainfall, it will impact the volume of Water in the lowlands. So often, floods occur in the lowlands [20, 21]. Figure 1 shows prior research that points A are upstream and B is downstream. Then on the prototype, there is a Flow Control System to control water flow to point B. The Flow Control System has sensors for the height and speed of the river water flow. Water moving at point B will flow naturally at first. However, if one downstream at point B experiences heavy rain and puddles, the Flow Control System will close so that Water will flow at another point B. The data is processed at the Control Station to determine the opening and closing of the door on the Flow Control System, which is the input for Fuzzy Logic and SAW.
In previous studies, ultrasonic sensors produced river water level data. The data is vital, so the data produced must be accurate. Ultrasonic sensors are hazardous to creating data reading errors due to various factors. These errors can occur at any time, but the data must be maintained because it affects the Flow Control System on other river segments. Therefore, a method is needed to overcome the fault on the ultrasonic sensor, which is the Fault Tolerance Computer System theory to support data accuracy in Flow Control.
54 JITeCS Volume 8, Number 1, April 2023, pp 52-59
p-ISSN: 2540-9433; e-ISSN: 2540-9824 A
B
B
B
A = Main River B = Branch River
Flow Control System River Water Flow
Control Station
Figure 1. River Models
Sensor Node on each section of river B must send data to the Control Station very accurately. A suitable method for this problem is time redundancy. The time redundancy process is that the sensor retrieves data within a certain period, as much as the required amount. After data have been collected, the data will be processed by the Voter. The way the voter works is to choose one of the data considered the most appropriate to be sent to the Control Station. This process does not interfere with other operations and maintains data security. This research focuses on processing data on ultrasonic sensors with time redundancy and sending data to the Control Station.
3 Research Method
This study focuses on processing the input from the Water Height Sensor, which uses an ultrasonic sensor based on its voltage. Then the data is collected in Arduino on the Flow Control System as a Sensor Node so that the Time Redundancy method can process the data obtained. After that, the Voter will select the data to be issued/sent to the Control Station, as seen in Figure 2.
In this study, the variation of the delay in data collection and the amount of data is very influential. So the method of retrieval and the amount of data will be experimental. Data from the Ultrasonic Sensor will be taken at intervals of 100 milliseconds to 1000 milliseconds. Then the amount of data to be taken varies from two to five.
Figure 2 explains how Time Redundancy works. At time t0, the system will read the input and then process it. Then the output value will be stored and processed by the Voter. The system will perform the same process for t1, t2 to t-n. The value of n is the amount of data. In this study, experimental actions have been conducted. Every two to five data will be selected every 100 milliseconds to 1000 milliseconds. Data that have been collected will be compared in Voter. Voters will take the average data value. Then the Sensor Node sends data to the Control Station using the UDP Protocol. This protocol was chosen because it is considered the most reliable.
4 Results and Discussion
This research is a prototype, where the data units are compared with a scale of 1:10 for water levels. The height data on this prototype are 2 cm, 3 cm, 4 cm, 5 cm, and 6 cm. For sending data with UDP between Arduino (Flow Control System) and Node MCU (Control Station) is 1 meter. The test aims to determine how many delays and sampling are appropriate so that the system gets the best results from the sensors obtained against Time Redundancy.
Mochammad Hannats., et al. , Enchancing River Monitoring... 55
p-ISSN: 2540-9433; e-ISSN: 2540-9824
River Branch Input (Transient) (Water Height Sensor)
Control Station Node MCU
Output (Water Height Value) Compute
Compute
Compute
Store
Store
Store
Voter Arduino Mega – Control Flow System
Process - (Time Redundancy) t0 input
t1 input
t-n input
Output
Figure 2. System Block Diagram 4.1 Time Redundancy Testing Scenario
This data sampling test is used to determine how much data is appropriate to take in a specific period. This first test determines the next testing stage related to the data used. Each Sampling Delay from 100 milliseconds multiplied up to 1000 milliseconds against 2 cm to 6 cm (every 1 cm). Data retrieval for each delay starts from 2 data to 5 data.
Table 1. Time Redundancy Testing Result Delay Sampling
(ms)
The amount of Accurate the Data 2 Data 3 Data 4 Data 5 Data
100 18.26% 73.21% 77.48% 90.82%
200 64.16% 92.20% 90.72% 91.71%
300 70.36% 84.89% 89.87% 89.12%
400 66.59% 68.62% 91.93% 93.80%
500 70.62% 87.34% 87.57% 92.30%
600 62.72% 88.39% 89.90% 94.30%
700 92.36% 90.46% 91.25% 94.66%
800 74.62% 92.82% 89.54% 95.12%
900 81.44% 93.25% 92.30% 89.71%
1000 85.34% 90.33% 95.25% 92.56%
Average System
Accuracy 84.20%
Best Accuracy 95.25%
Based on Table 1. Sampling tests were carried out. The average accuracy obtained was 84.20%. But the best accuracy is on 4 data with a 1000 millisecond delay.
56 JITeCS Volume 8, Number 1, April 2023, pp 52-59
p-ISSN: 2540-9433; e-ISSN: 2540-9824
In Table 2, the trend of the data can be seen that time does not affect the accuracy of the data. The accuracy of the data obtained by each row of data varies significantly. It can be low or high. From the best accuracy, more detailed testing related to the Time Redundancy of this system was carried out in the next test.
4.2 Time Redundancy Testing Scenario Against Water Level
This test is to determine the level of sensor readings with various phases. The results of sensor readings are tested in the river prototype. In this prototype, a random water ripple has been made. Determination of the amount of data retrieval is based on the previous test, i.e., every 1 phase of data collection is carried out four times with a delay of 1000 milliseconds.
Table 2. Time Redundancy Accuracy Testing Result Testing Phase Data
Number- Sensor Reading
(cm)
Time Redundancy Output (cm)
Digital Ruler
(cm)
Accuracy
Testing Phase
2 cm - Part 1 1 1.97
1.94 2 98.00%
2 2.3
3 1.92
4 1.56
Testing Phase
2 cm - Part 2 5 1.97
2.18 2 94.00%
6 2.23
7 2.11
8 2.39
Testing Phase
3 cm - Part 1 1 2.9
2.78 3 92.67%
2 2.87
3 2.39
4 2.97
Testing Phase
3 cm - Part 2 5 2.08
2.83 3 94.33%
6 3.39
7 2.94
8 2.92
Testing Phase 4 cm - Part 1
1 4.02
3.71 4 90.33%
2 3.51
3 4.4
4 3.92
Testing Phase 4 cm - Part 2
5 3.46
3.77 4 92.33%
6 4.23
7 3.54
8 3.87
Testing Phase
5 cm - Part 1 1 4.9
4.81 5 93.67%
2 4.46
3 4.51
4 5.39
Testing Phase
5 cm - Part 2 5 4.9
2.86 5 95.33%
6 4.8
7 4.82
Mochammad Hannats., et al. , Enchancing River Monitoring... 57
p-ISSN: 2540-9433; e-ISSN: 2540-9824 Testing Phase Data
Number- Sensor Reading
(cm)
Time Redundancy Output (cm)
Digital Ruler
(cm)
Accuracy
8 4.92
Testing Phase
6 cm - Part 1 1 5.97
6.13 6 95.67%
2 5.92
3 5.87
4 6.77
Testing Phase
6 cm - Part 2 5 5.49
6.04 6 98.67%
6 6.04
7 6.3
8 6.33
Accuracy Average 94.50%
In the testing scenario in Table 2, system results with Time Redundancy are compared with the Digital Ruler, and then the results are compared. The average accuracy of all testing phases in this test was 94.50%. This result can be said to be quite good and reliable enough to be implemented.
4.3 Data Delivery Testing Scenario
The final testing scenario of this research is the test of sending data. The data is generated by the Sensor Node using Arduino. The data is sent to the Control Center using the MCU Node. The system prototype's distance is 1 meter—protocol for sending data using UDP. The data is calculated from when Arduino sends it until the MCU Node receives it.
Based on this test, the success rate of data transmission is 100%, where the Flow Control System sends all data to the Control Node. However, as seen in Figure 3, the delay in sending data looks less stable. The fastest data transmission is 146 milliseconds, and the longest is 168 milliseconds. The average data transmission time of the 30 data sent is 157.1 milliseconds. It is also quite acceptable for a prototype.
Figure 3. Data Delivery Testing Result
5 Conclusion and Future Works
This research has developed a Fault Tolerant System based on previous research for Flood Monitoring in River Water Canals. The Fault Tolerant system uses Time Redundancy by implementing an Ultrasonic Sensor to measure the water level. The water level is calculated based on the resistance of the sensor. Time redundancy implementation is tested by measuring the sampling delay of data collection and the
120 140 160 180
1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930
Delay (Microsecond)
Testing Number
Delay
58 JITeCS Volume 8, Number 1, April 2023, pp 52-59
p-ISSN: 2540-9433; e-ISSN: 2540-9824
amount of data taken. From four to five data with a delay of 100 – 1000 milliseconds, the overall average accuracy gets 84.20%. However, the best level of accuracy is by using a sampling delay of 1000 ms and a lot of data sampling as many as four data, which is 95.25%. The use of a sampling delay that is too small will have an impact on the increasing number of reading errors that occur. The amount of sampling data will affect the accuracy of the reading because if there is too little sampling, errors that occur when reading will be difficult to correct. Time redundancy significantly influences sensor readings because the rippling river water surface condition can be seen with tests with a lot of data sampling, and the slightest delay has the worst accuracy rate.
Delivery performance testing is done by measuring the success rate of delivery and delivery delay from the Sensor Node (Arduino) to the Control Center (Node MCU) using the UDP Protocol. The delivery rate test was carried out 30 times with a distance of 1 meter, and all were successful. This prototype shows that data can be sent using the UDP Protocol to two different hardware, and data integrity is well maintained.
Further research can be done by implementing Time Redundancy to sensors or other relevant systems. Delay sampling can be made with tighter intervals and longer times so that the accuracy is more detailed. The system can be integrated with cloud- based systems because it can be widely used. For example, data can be monitored on a website or mobile phone application.
References
1. P. Marwedel, Embedded system design: embedded systems foundations of cyber- physical systems, and the internet of things, Springer Nature, 2021.
2. M. Siek dan L. Larry, "Design and Implementation of Internet of Things and Cloud Technology in Flood Risk Mitigation," dalam 2021 3rd International Conference on Cybernetics and Intelligent System (ICORIS), Makasar, Indonesia, 2021.
3. H. R. Goyal, K. K. Ghanshala dan S. Sharma, “Intelligent Internet of Things based Flood Management System,” dalam 2022 6th International Conference on Intelligent Computing and Control Systems (ICICCS), Madurai, India, 2022.
4. S. S. Hussen Hajjaj, M. T. Hameed Sultan, M. H. Moktar dan S. H. Lee, "Utilizing the internet of things (IoT) to develop a remotely monitored autonomous floodgate for water management and control," Water, vol. 12, no. 2, p. 502, 2020.
5. M. A. Akkaş, R. Sokullu dan H. E. Cetin, "Healthcare and patient monitoring using IoT,"
Internet of Things, vol. 11, p. 100173, 2020.
6. K. M. de Bruijn, C. Maran, M. Zygnerski, J. Jurado, A. Burzel, C. Jeuken dan J.
Obeysekera, "Flood resilience of critical infrastructure: Approach and method applied to Fort Lauderdale, Florida," Water, vol. 11, no. 3, p. 517, 2019.
7. D. Perera, J. Agnihotri, O. Seidou dan R. Djalante, "Identifying societal challenges in flood early warning systems," International Journal of Disaster Risk Reduction, vol. 51, p. 101794, 2020.
8. H. S. Munawar, F. Ullah, S. Qayyum, S. I. Khan dan M. Mojtahedi, "Uavs in disaster management: Application of integrated aerial imagery and convolutional neural network for flood detection," Sustainability, vol. 13, no. 4, p. 7547, 2021.
9. S. Puttinaovarat dan P. Horkaew, "Flood forecasting system based on integrated big and crowdsource data by using machine learning techniques," IEEE Access, vol. 8, pp. 5885- 5905, 2020.
10. M. H. H. Ichsan dan A. E. Prasetya, "Fuzzy Logic and Simple Additive Weighting Implementation on River Flow Controlling System," dalam Journal of Physics:
Conference Series, 2021.
Mochammad Hannats., et al. , Enchancing River Monitoring... 59
p-ISSN: 2540-9433; e-ISSN: 2540-9824
11. M. H. H. Ichsan, W. Kurniawan dan A. T. Wulandari, "Fuzzy Logic for Flood Detection System in an Embedded System," Lombok, Indonesia, 2019.
12. E. Abdulhay, V. Elamaran, N. Arunkumar dan V. Venkataraman, "Fault-tolerant medical imaging system with quintuple modular redundancy (QMR) configurations,"
Journal of Ambient Intelligence and Humanized Computing, pp. 1-13, 2018.
13. S. Arslan dan O. Unsal, "Efficient selective replication of critical code regions for SDC mitigation leveraging redundant multithreading," The Journal of Supercomputing, vol.
77, no. 12, pp. 14130-14160, 2021.
14. Z. Noshad, N. Javaid, T. Saba, Z. Wadud, M. Q. Saleem, M. E. Alzahrani dan O. E.
Sheta, "Fault detection in wireless sensor networks through the random forest classifier,"
Sensors, vol. 19, no. 7, p. 1568, 2019.
15. J. Zhou, X. S. Hu, Y. Ma, J. Sun, T. Wei dan S. Hu, "Improving availability of multicore real-time systems suffering both permanent and transient faults," IEEE Transactions on Computers, vol. 68, no. 12, pp. 1785-1801, 2019.
16. P. Sun; R. Bisschop; H. Niu; X. Huang, "A Review of Battery Fires in Electric Vehicles,"
Fire Technology, vol. 56, no. 1, p. 1361–1410, 2020.
17. A. Pérez, A. Rodríguez, A. Otero, D. G. Arjona, A. Jiménez-Peralo, M. Á. Verdugo dan E. De La Torre, "Run-time reconfigurable MPSoC-based on-board processor for vision-based space navigation," IEEE Access, vol. 8, pp. 59891-59905, 2020.
18. E. Dubrova, Fault-tolerant design, New York: Springer, 2013.
19. M. Dietze, R. Bell, U. Ozturk, K. L. Cook, C. Andermann, A. R. Beer dan A. H.
Thieken, "More than heavy rain turning into fast-flowing water–a landscape perspective on the 2021 Eifel floods," Natural Hazards and Earth System Sciences, vol. 22, no. 6, pp. 1845-1856, 2022.
20. A. S. Pambudi, "Problems of Local Floods and Their Relation to Bogor City Drainage Infrastructure System," Indonesian Journal of Applied Research (IJAR), vol. 3, no. 1, pp. 10-22, 2022.
21. H. Tansar, H.-F. Duan dan O. Mark, "Catchment-scale and local-scale based evaluation of LID effectiveness on urban drainage system performance," Water Resources Management, vol. 36, no. 2, pp. 507-526, 2022.