AcAS system was powered by an external SMPS power source with an output of 12V 5A and an input of 230V ~ 50HZ. This power was converted into various voltages, including 9V, 5V, 4V, 3.3V, and 3V, using dedicated ICs for each section to ensure reliable and noise-free outputs (Fig. 4). The 9V supply powers the analog output section, where the MCU-generated analog voltage is boosted with output-amps before being sent to the output section. This results in a 9V Analog output voltage that can control the output devices. The SIM800L module was powered by a specially designed 4V power supply. This is crucial for optimal performance, particularly during the initial surge when the module is connected to a mobile operator. A TPS54335A-based power supply is used for this purpose. The motherboard's standard operations are powered by a 3.3V supply. The LTC3633A IC generates both 9V and 3.3V supplies simultaneously, providing up to 6A of output current, which is sufficient for the expected functionalities of AcAS. The system also includes a very precise 3V analog reference supply provided by LM4120AIM5-3.0 IC. The built-in TFT LCD of the GUI interface was powered by a separate TPS54335A-generated 5V power supply. In terms of inputs, the AcAS system uses the SAM3X8E MCU, which has dedicated 12-bit ADC channels for the analog sensors. A total of 24 op-amps were used in the analog section to convert the milliampere-range analog current into a voltage suitable for interfacing with the microcontroller. Each channel could be fine-tuned to ensure an accurate analog input voltage for the MCU. The system also has 12 digital inputs that are isolated and compatible with a 3.3v supply. The DI circuit ensures the isolation between the channels and external sources. AcAS module has two analog outputs that convert the voltage into the corresponding milliamps to control the external devices. The SAM3X8E has a dedicated two-channel DAC for this purpose. Finally, the AcAS is equipped with 24 digital output channels that are compatible with a 3.3v supply and can control external devices using external relays and MOSFETs.
Software
The source code of the AcAS controller is in the SVN repository under the CIG232D -> Source code -> firmware. It was developed using Atmel Studio 7 and operates on FreeRTOS, which manages communication, I/O processing, and user interfaces, ensuring efficient and reliable operations.
Firmware block diagram
FreeRTOS is a versatile real-time operating system with a variety of features. The kernel offers preemptive, cooperative, and hybrid configurations (Fig. 4). The code, primarily in C, is portable, compact, and user-friendly. It supports tasks and coroutines and includes powerful execution trace functionality. Stack overflow detection options are available and there are no software restrictions on task creation or priority assignment. This facilitates communication and synchronization through queues, semaphores, and mutexes. Priority inheritance is supported by mutexes. The system is royalty-free and can have a ROM footprint as small as 4.3K bytes on an ARM7 using GCC.
Aquaculture data monitoring software
ADMS is a sophisticated tool designed to interface with an AcAS system, offering features that enhance data collection, analysis, and visualization. It uses a proprietary protocol for serial data transfer with AcAS and logs the data daily. It allows channel-wise data plotting with dynamic X/Y-axis values and historian data plotting to visualize historical data trends. It also offers a live-sensor value graphical plot for real-time insights. The key modules include I/O_scan_task_Analog(Karagiozidis and Gergeleit 2023), which scans and processes analog I/O data, and I/O_scan_task_Digital (Lei et al. 2009). The I/O_scan_task_Analog task samples data and switches the analog output value to four AO channels every 100 ms by using a semaphore to prevent memory corruption. The SBC maintains two tables for analog data updated every 100 ms. Other important modules include Debug_task (Zou et al. 2023) for debugging operations, WiFi_task(Gallemit and Andrew 2023) for WiFi connectivity tasks, DispTouch_task (Abinaya et al. 2019) for display and touch functionalities, and Extemem_task (Kameshwar et al. 2022) for external memory operations. The main function serves as the entry point for the program. Each module is represented in a block diagram and associated with specific source files.
Environmental sensors
The ideal temperature for sustainable shrimp aquaculture is 28–30°C. The pH should be kept between 6.8 and 8.0 for effective ammonia-nitrate-nitrogen conversion in Biofloc (Pierri et al. 2015). An Industrial pH probe (KIT-102P) with an IXIAN-pH transmitter was used to monitor the pH of the pond water, which ranged from 0–14, with a resolution of ± 0.001 (Fig. 5). Probiotic bacteria in biofloc systems depend on suspended solids for adhesion and as carbon sources (Hlordzi et al. 2020). Oxidation–reduction Potential (ORP) sensors, which measure the oxidizing or reducing the tendency of pond water, should ideally register 650–700 mV for optimal shrimp production (VanDuc et al. 2018; Gao et al. 2019; Nair et al. 2020). An Industrial ORP probe (KIT-103O) with an IXIAN-ORP transmitter was employed to measure the ORP, which ranged from ± 2000 mV, with a resolution of ± 1 mV. A conductivity sensor measures the solution's ability to conduct an electrical current, which is directly proportional to the pond's metal ion concentrations, and should be maintained at 2.7 dS m − 1 (Kruse et al. 2020; Alarcón et al. 2021). An Industrial Conductivity probe (Kit-1.0) with an IXIAN-EC transmitter was used to determine the conductivity, ranging from 5 to 2, 00, 000 µS/cm, with a 2% resolution. To ensure that the system functions properly, given the oxygen demand of the algae and bacteria of the biofloc system, dissolved oxygen should be kept at 7–8 ppm (Nagothu 2021; Wang et al. 2022). An Industrial DO probe (KIT-106D) with an embedded circuit was used to detect DO, ranging from 0-100 mg/L, with a resolution of ± 0.05 mg/L. All probes had a 4-20mA data output and were operated at a voltage of 9-36V.
Operation
AcAS, powered by a 12V, 2A DC supply, boots up to display a logo, followed by the 'Home Screen' after initialization (Fig. 6). This screen displays a menu for different pages and the current time and date, which can be updated via the setting page. The 'Home Screen' also features functional icons for easy navigation:
-
'Date and Time' icon: Displays the current date and time.
-
'Desktop' icon: Navigate to the 'Home Screen' page.
-
'Settings' icon: Leads to the Settings page for adjusting system settings.
-
’Wireless’ icon: Directs to the Wireless module on/off page to control the system's wireless modules.
-
'Status' icon: Navigate to the status page displaying the status of operations and sensors.
-
'Analytics’ icon: Leads to the Sensors Data’ Analytics’ page to view sensor data graphically.
-
'Manual' icon: Navigate to the Manual Operation page for manually controlling attached devices.
These icons provide easy access to various features and settings, thereby simplifying the configuration and management of the AcAS.
Settings
The “Settings page” of the AcAS offers various buttons for accessing different settings and configurations:
-
'Change Date and Time' button: Adjusts the unit's date and time.
-
'Turn ON/OFF WIFI' button: Controls the WIFI module.
-
'Turn ON/OFF Zigbee' button: Controls the Zigbee module.
-
'Turn ON/OFF GSM' button: Controls the GSM module.
-
'Select GPRS Operator' button: Selects a GPRS operator for network communication.
-
'Add Control Loop' button: Adds a new control loop for Auto/Timer mode operation.
-
'Remove Control Loop' button: Removes a configured control loop.
-
'Auto Mode Status' button: Provides information about the control loop's current status.
-
'Manual Mode Status' button: Provides information about manual mode operation status.
-
'Edit Analog Sensor' button: Edits details of analog sensors.
-
'Edit Wireless Sensor' button: Edits details of wireless sensors.
-
'Sensor Statistics' button: Displays sensor data graphically.
These buttons simplify the configuration and management of the AcAS by providing easy access to various features and settings.
Change date and time
The 'Date and Time Edit' page displays the current date and time and fields for entering new values for day, month, year, hour, minute, and second. These fields allow for adjustments to the module's date and time settings. These changes can be applied to update the internal clock of the system.
Date and time configuration
To set the Date and Time, go to the respective page and input the desired value. Click 'Update Date' or 'Update Time' to apply changes. Optionally, use 'Sync Date & Time' to synchronize the microcontroller with the graphic LCD. Click 'Back' to return to the settings page. To control wireless modules, go to the settings page and click on the buttons for WIFI, LoRa, or GSM. This leads to the WIRELESS page, where these modules can be turned ON or OFF, as needed.
Control loop configuration
Setting up the control loop is crucial for the AcAS configuration. Navigate to the settings page and click 'ADD CONTROL LOOP' to reach the control loop selection page. Select the desired control loop and proceed to the Auto/Timer Mode Selection page. For the Auto Mode, click 'Auto Mode' and select the analog input (sensor) on the 'SELECT IO PORTS FOR THE CONTROL LOOP' page. Multiple sensors were selected for averaging. On the Limit/Range Enter page, the control execution triggering point is selected and the upper and lower threshold values are entered. In addition, the maximum and minimum sensor values, sensor names, and SI units were specified. The sensor name and SI unit are optional and displayed on the status page. If a previously configured sensor is selected, its details are displayed and edited by checking the checkbox in the bottom-right corner. This allows the modification of previously entered values.
Digital input configuration
After editing the analog sensor value, proceed to the 'SELECT IO PORTS FOR CONTROL LOOP page. Select 'Digital IN' to select a digital input channel. Multiple Digital IN input channels can be added to the control loop. If more than one digital input channel is selected, a logical operation window appears to apply the AND, OR, or XOR operations. Note: The twelfth digital input pin was reserved for internal purposes. Next, the Digital Output was configured by selecting the desired digital output and setting the ON state interval. Note: Up to five digital outputs can be assigned to one control loop. After configuration, the status is displayed on the 'SELECT IO PORTS FOR THE CONTROL LOOP' page. Channels can be deleted and reconfigured using the 'clear' button. On the Finish Control Loop setup page, choose 'Start Now' to initiate operation immediately, or 'Save Only' to save the configuration for later use. Note: The configuration process can be canceled at any time by clicking the 'Cancel' button.
Timer mode
Navigate to the settings page and select 'Add Control Loop' to configure the AcAS in timer mode. Choose a control loop and proceed to the auto/timer mode-selection page. Here, select 'Timer Mode' and configure the analog and digital input channels. Subsequently, a Digital Output channel is selected and navigated to the Timer Configuration page. Set the start time and DO Open interval time for specific intervals or set the start time, Time Interval, and count value for multiple operations per day. If you need to remove a configured control loop, go to the Settings page, select 'Control Loop Status,’ choose the control loop you want to Start/Stop/Remove and select the operation. To edit Analog IN sensor details, select 'Edit Analog Sensor' on the Settings page, choose the Analog IN channel to edit, and enter or edit details on the Analog Sensor Detail page. The system also supports wireless operations. There are buttons on the wireless page that allow control of the WIFI, GSM, and Zigbee modules. The Status page displays the status of manual operation, control loop, analog sensor values, and sensor data in a graphical format, providing a comprehensive overview of the system's operation.
Manual mode
To access the Manual Status page of the AcAS, go to the status page and click on the Manual Status icon. This action directs you to the Manual Status page. If you want to go back to the previous page, just click on the 'Back' button located in the top-right corner of the Manual Status page. Manual operations in an Aquaculture Automation system are split into two windows. Click the 'Manual' icon on the bottom taskbar to access the first page of manual operation. The buttons on this page are only active if the rotating switch on the AcAS panel box is set to 'Manual.’ The first window displays the first 12 sets of switches, and the remaining 12 sets are displayed in the second window. Navigate to the second page by clicking the corresponding button on the top-right corner of the first window. To return to the first page, click the 'back' button in the top-right corner of the second page. Note that manual operation of the switches is not possible if the system is in 'Auto' mode.
Auto mode
To view the Auto Status page, navigate to the status page and select the 'Auto Status' button. All configured control loops were color-coded according to their status: green for running, purple for stopped, and gray for non-configured. A control loop is selected to view its status and configuration values. The Sensor Status page, which is accessible from the status icon on the bottom taskbar, displays the sensor name and the current value for each sensor. The Sensor Statistics page provides a graphical representation of sensor values, with buttons labeled 'SN 1–4,’ 'SN 5–8,’ and 'SN 9–12,’ displaying graphical values for respective sensors. The graph represents the percentage versus time. This page is also accessible on the settings page. AcAS color codes all configured control loops based on their status: green for running, purple for stopped, and grey for non-configured. To start, stop, or remove a control loop, it is selected from the initial window. An orange selection circle appeared around the selected loop. Click 'Next' to proceed to the next page, where you'll see three options: 'Start Operation,’ ‘Stop Operation,’ and 'Remote Operation.’ Choose the desired action and click 'Finish.’ The system saves a new configuration based on the memory selection.
Field installation and performance evaluation
The AcAS System, designed for aquaculture farming, addresses the challenges in pond environments (Fig. 7). It operates based on test parameters stored in a medium attached to the unit, with control operations divided into modes that are selected automatically based on user inputs and measurements. The initial validation was conducted in a controlled laboratory environment using simulated sensor inputs integrated with relay modules. The system showed improvements in yield by optimally controlling water parameters. Automation of aquaculture farms is gaining traction in developing countries for sustainable and uniform shrimp growth. Field validation and fine-tuning were jointly conducted by the Centre for Development of Advanced Computing (Ministry of Electronics & Information Technology), Thiruvananthapuram, Kerala, India, Bharathidasan University, Tiruchirappalli-620024, Tamil Nadu, India. The system achieved TRL-7 and is ready for field deployment.
Sustainability
AcAS is a comprehensive solution for aqua farming designed to monitor and control various parameters in the ecosystem using multiple sensors. It operates pumps and valves based on the collected data and pre-configured algorithms, making it adaptable to different fields in the sector (Fig. 8). The system features a user-friendly, customizable graphical interface, and uses efficient sensors for precise results, ensuring safe shrimp growth. It stores data on an attached memory device and has built-in communication modules for data transfer. Farmers can configure devices to receive alerts and remotely control field equipment. AcAS is designed for Indian farming scenarios and includes a wireless interface for data collection and remote control of equipment. It uses industrial-grade environmental sensors for precise results, even under harsh conditions, thereby reducing the need for frequent replacement. The data storage capability of the system eliminates the need for paper records and contributes to resource conservation. Its compatibility with modern communication technologies ensures its long-term viability. Farmer-friendly design promotes optimal shrimp growth conditions, leading to sustainable farming practices. By providing updates and alerts, AcAS enables proactive management of aquaculture, reducing potential environmental impacts. Thus, AcAS contributes to sustainable aquaculture through efficient resource use, waste reduction, and promotion of best practices.