1. Introduction
With the development of the fourth industrial revolution on using Internet of Things (IoT) technology [1,2], big data technology, and networks, automation of the existing aquaculture has gained momentum and several, the so-called, smart fish farms came into being [3-8]. The main function of the smart fish farms is to systematically manage the breeding environment of fish to improve productivity and increase the income of the fish farms.
The fish farmers select fish species that are resistant to various fish diseases and have good food value. Then, using circulation filtration system they carry out large-scale farming in large pools. The circulation filtration system can reduce the amount of water used in the fish farm by purifying and reusing the water used in the pools. In addition, any contaminated water is also stopped to flow to the surroundings by this circulation filtration which helps to preserve the environment around the fish farms.
In order to maximize the cultivation efficiency of selected fish species, it is necessary to maintain an optimal quality of the water of the pools.
Data acquisition (DAQ) system is used to monitor the water quality and to predict fish growth rate for optimal fish farming. Typically, the values of oxygen concentration, water temperature, and pH concentration are automatically collected and maintained. Other data such as [TeX:] $$\mathrm{NH}_{3}$$ concentrations, [TeX:] $$\mathrm{NO}_{2}$$ concentrations, feed amount, turbidity and fish's average weight, which are not automatically measured or require some time to analyze, should be added later by the fish farmers to form a complete database.
In the present work, a data acquisition and monitoring system was developed for an automated system of a smart fish farm which uses circulation filtration system.
This paper is organized as follows: Section 2 introduces the DAQ and monitoring system. Section 3 discusses the developed software tools for smart fish farm composed of database management tool, fish growth simulation tool, automatic fish feeder tool, and automatic fish dying rate calculation tool. Section 4 concludes this paper.
3. Developed SW Tools for Smart Fish Farm
3.1 DB Management Tool for Fish Farms
Information from each aquaculture pool is automatically collected from pH sensors, dissolved oxygen sensors, and temperature sensors and stored in a server database. The data which cannot be collected automatically such as ammonia, [TeX:] $$\mathrm{NH}_{3}$$ concentrations, [TeX:] $$\mathrm{NO}_{2}$$ concentrations, turbidity and fish's average weight, should be entered manually by the fish farmers to construct a database. It gives the fish farmers the overview of the fish farm situation and alerts them about any emergency situation.
Data from the sensors in each pool was accumulated into the database automatically. The fish farmers can view the data history of each pool for a specific period through graphs and tables in the "Monitoring" tab as shown in Fig. 2. The word "OK" is shown if the current data is within the maintenance range of each pool, whereas "Alert" is shown and a notification LED becomes on if it is out of range.
Monitoring tab of the DB management tool.
The other data such as [TeX:] $$\mathrm{NH}_{3}$$ concentrations, [TeX:] $$\mathrm{NO}_{2}$$ concentrations, feed amount, turbidity and fish's average weight which were collected manually can be input, edited or deleted in the "Input" tab as shown in Fig. 3. All actions apply to the database immediately after execution.
In the "Management" tab as shown in Fig. 4, the ranges of the temperature, pH and dissolved oxygen values that must be maintained in each pool are set and saved as a configuration file for each pool. They are used to verify whether the data that have been collected automatically are within the maintenance range.
Input tab of the DB management tool.
Management tab of the DB management tool.
In the "Pool" tab, a visual display of the collected data and alert notifications for all the pools is provided, as shown in Fig. 5. The alert notification appears blue when the sensor data is normal, red for warning, and gray when the sensor is off.
In the "Fish species" tab, the fish species and the date when they were added to the pool are entered manually as shown in Fig. 6. The fish farmers can also enter some notes. The information is immediately stored in the database and used to calculate dying rate, fish population and to monitor the pool.
This program is written using LabVIEW and MS Access. Data is automatically collected every 600 seconds using JSON protocol. The fish farmers can extract all the data stored in the database into an Excel file for each pool.
Pool tab of the DB management tool.
Fish species tab of the DB management tool.
3.2 Simulation Tool for Predicting Fish Growth
A software tool was developed to simulate the growth of the target fish when aquaculture environment variables are controlled. The fish growth model used in the simulation was developed by Ursin [11], modified by Bolte et al. [12], and still continues to be developed. The fish growth calculation is expressed using the difference between fish anabolism and catabolism as shown in Eq. (1).
where
[TeX:] $$W$$ : fish weight (g),
[TeX:] $$t$$ : time (day),
[TeX:] $$a$$ : food assimilation fraction,
[TeX:] $$b$$ : food assimilation efficiency,
[TeX:] $$\tau$$ : temperature factor,
[TeX:] $$\delta$$ : DO (dissolved oxygen) factor,
[TeX:] $$\beta$$ : BOD (biochemical oxygen demand) factor,
[TeX:] $$f$$ : feeding level factor,
[TeX:] $$h$$ : food consumption coefficient ([TeX:] $$g^{1-m}$$/day),
[TeX:] $$m$$ : exponent of anabolism,
[TeX:] $$k$$ : coefficient of fasting catabolism ([TeX:] $$g^{1-m}$$/day),
[TeX:] $$n$$ : exponent of catabolism.
The fish farmers can estimate the growth rate of the fish by changing the temperature of the pool, BOD, DO, and ammonia on a daily basis as shown in Fig. 7.
Simulation of a fish growth.
The parameters on the left are the set points needed to calculate the growth rate of the fish. When the parameter files store the settings, they are automatically set. The setting values can be changed and saved again. Changes in water temperature, BOD, DO, and ammonia values can be set by date. The starting weight can be set in g (gram) and the simulation period can be set as well.
This program was written using LabVIEW. The solution of the differential equation is calculated by the fourth-order Runge-Kutta equation based on the set points and the variable changes.
3.3 Automatic Fish Feeder Management
A tool for automatically feeding fish for each aquaculture pool was designed. The amount of food required can be automatically calculated based on the water temperature, fish weight, and fish population in the pool. The fish farmers can check if the automatic feeding machine is running out of feed or there is any problem with the machine.
A new algorithm for determining the amount of food is being developed by using machine learning. For now, however, we shall use the following linear Eq. (2), which employs the traditional feed conversion ratio based on the temperature of water in each pool. The daily feeding amount is determined by Eq. (2) using the feed conversion ratio to the fish weight variation and water temperature.
where
[TeX:] $$S$$ : daily feeding amount (g/day),
[TeX:] $$F$$ : inverse of feed conversion ratio (a weight (feed)-weight (fish) ratio),
[TeX:] $$G_{f i s h}$$ : variation of daily fish weight (g/day),
[TeX:] $$N$$ : fish population.
The feed constant value can be found from Table 2 [13]. If there is no value in Table 2, the constant is interpolated by the water temperature and fish weight.
Example of feed constant determined by the fish weight and water temperature
Automatic or manual operation is possible for each pool. The feed constant table for each pool can be set and stored. The fish farmers can set the start time and end time of the automatic feeding system.
The system monitor, as shown in Fig. 8, displays the environmental variables for each pool and shows the feed constant and feed amount calculated by the coefficient decision table.
System monitoring of auto fish feeder management tool.
From the coefficient decision table, as shown in Fig. 9, the feed constant and feed amount can be calculated using water temperature, fish weight and fish population and the values can be displayed. The fish farmers can store the coefficient decision tables for each pool. This program is written using LabVIEW.
3.4 Automatic Death Rate Calculator
The program calculates the probability of death of fish based on the aquaculture pool environment. It was developed using the R statistical program language and calculates the death probability of tilapia and rainbow trout using machine learning. Among the classification algorithms, [TeX:] $$\text { naïve }$$ Bayes classifier [14], which is known to have excellent performance when only a few observations are valid, was used to increase the accuracy of the prediction of dying rate.
In the [TeX:] $$\text { naïve }$$ Bayes classification, for the two possible stochastic results, viz. "dead" and "alive", Eq. (3) was used to find the maximum probability of the "dead" and "alive.""
Coefficient Decision table of the auto fish feeder management tool.
Automatic dying rate calculator.
Here, Z is a scaling factor that converts the results to a probability and [TeX:] $$\left(x_{1}, \ldots, x_{7}\right)$$ are temperature, pH, dissolved oxygen, ammonia, [TeX:] $$\mathrm{NH}_{3}$$, [TeX:] $$\mathrm{NO}_{2}$$, and number of fish in the pool, respectively.
For the rainbow trout, the prediction accuracy of the "dead" model was 0.79, which showed a good performance. However, it is too early to discuss the performance of the model due to the lack of death data. In the future, as data accumulate, the prediction accuracy will improve and become more reliable.
As shown in Fig. 10, the data related to the current environment of each pool was shown to the fish farmer. If the calculated dying rate is high, a visual alert is displayed by turning the LEDs on.