# Oceanographic Multisensor Buoy Based on Low Cost Sensors for Posidonia Meadows Monitoring in Mediterranean Sea

Authors: Sandra Sendra; Lorena Parra; Jaime Lloret; José Miguel Jiménez
Journal: Journal of Sensors
 (2015)

---

## Abstract

There are some underwater areas with high ecological interest that should be monitored. Posidonia and seagrasses exert considerable work in protecting the coastline from erosion. In these areas, many animals and organisms live and find the grassland food and the protection against predators. It is considered a bioindicator of the quality of coastal marine waters. It is important to monitor them and maintain these ecological communities as clean as possible. In this paper, we present an oceanographic buoy for Posidonia meadows monitoring. It is based on a set of low cost sensors which are able to collect data from water such as salinity, temperature, and turbidity and from the weather as temperature, relative humidity, and rainfall, among others. The system is mounted in a buoy which keeps it isolated to possible oxidation problems. Data gathered are processed using a microcontroller. Finally the buoy is connected with a base station placed on the mainland through a wireless connection using a FlyPort module. The network performance is checked in order to ensure that no delays will be generated on the data transmission. This proposal could be used to monitor other areas with special ecological interest and for monitoring and supervising aquaculture activities.


---

## Body

## 1. Introduction

Wireless Sensor Networks (WSNs) research works have increased hugely in recent years due to the many types of applications [1, 2]. WSNs are composed of sensors that sense data from the environment and nodes that receive the sensed data and process them. Due to their low memory and limited battery [3], nodes cannot store a lot of data, so they must send it. As WSNs can be composed of hundreds of nodes they need to self-organize based on different network architectures and use protocols to communicate. These protocols should have into consideration several aspects such as the energy constrains [4], security in data transmission and being tolerant to network failures [5] in order to maintain a correct network performance.Sensor nodes are mainly composed of 4 different modules [6]. First the sensing module, which performs the data acquisition, can be composed of one or more sensors that sense one or more environmental parameters and the sensing processing module. The central processing unit performs the processing and storage operations with the received data. The wireless transceiver module is in charge of the wireless communications and can use different wireless technology as radio frequency, WiFi, and ZigBee. Finally, the power supply module, which should provide a continuous and stable power to the rest of modules, is composed of batteries and a power management system. It is recommended to have some energy harvesting system and implement some energy saving strategies [7].Even that the majority of WSNs are developed for terrestrial applications, the marine applications are becoming an important area. 3/4 of our planet is covered by water. The human impact in oceans is becoming more and more evident. The need of continuous monitoring of underwater environments can be covered by using WSNs. Terrestrial and underwater WSNs have some differences. The environment in underwater WSNs is more aggressive than in terrestrial WSNs, so the deployed devices will require major protection: water isolation to avoid corrosion and biofouling. Because the waves from tidals and ships can produce movements in the WSNs, the system must be prepared to assume these movements and changes of locations from its initial deployment. Generally underwater WSNs are used to cover higher areas than terrestrial WSNs [8]; the energy consumption will be higher and the signals are attenuated in the underwater environments. So, it is important to implement energy-efficient techniques in data processing [9, 10] and energy harvesting solutions [11] to prolong the network lifetime [12] and network stability. The price of devices used in underwater WSNs is usually higher than in terrestrial WSNs. In addition, sensor nodes in underwater WSNs are placed in a specific place along the water column, so flotation and mooring devices are needed [13]. Finally, the wireless communication technology in terrestrial WSNs use different radio frequencies; however in underwater WSNs the water produces an important attenuation on radio frequencies, so there are many deployments using other technologies such as sound or light [14].Underwater sensors can be placed at the bottom, at the surface, or at different points along the water column. The sensed parameters can change depending on the point where the sensors are placed and the objective of the WSN. For example, in environments without light there is no need to measure chlorophyll and in environments far from human impact there is no need to measure the presence of hydrocarbons. Table1 shows the main parameters that can be sensed as a function of the place where sensor nodes are placed in the water column. Although there is a large list of parameters, the most common ones are temperature (T), pH, turbidity, and dissolved oxygen (DO) [13].Table 1
Important parameters for underwater WSNs.
Node position
Parameters measured in underwater environments by WSNs
Surface
Water column
Sea bed
Important parameters
Swell  height
Temperature
Temperature
Swell direction
Pressure
Pressure
Hydrocarbons ppm
Dissolved oxygen
Dissolved oxygen
Air temperature
Salinity (or conductivity)
Redox potential
Air pressure mb
Turbidity
pH
Wind speed
Chlorophyll
Hydrogen sulfide
Wind direction
Phosphate
Vibrations
Precipitation
Nitrate
Movement
Atmospheric pressure
pH
Relative humidity
Blue-green algae
%RH solar radiation
Ammonium/ammonia
Surface salinity (or conductivity)
Chloride
Rhodamine
Dissolved organic carbon
Dissolver metalsAccording to [15], underwater WSNs are mainly applied to general ocean sensing and monitoring, water quality monitoring, fish farms monitoring, coral reef monitoring, and marine shellfish monitoring (see Figure 1). However, the theoretical applications are wider [16, 17]. We can highlight the ocean sampling networks, environmental monitoring, disaster prevention, assisted navigation, mine reconnaissance, military purposes, or undersea explorations, but there are very few works published showing real deployments. Combining some of these parameters, we can find several important applications which could help us to protect sensitive areas such as seagrasses and Posidonia meadows.Figure 1
Main applications of underwater WSNs.Seagrasses meadows are considered an important ecosystem because they are composed of plants that lived in underwater environments. Since 1980, there has been a decrease of 29% of the colonized areas due to several threats. The loss rate is 110 km2/year [18]. The most important parameters that restrict the potential area for seagrasses are light exposure (10% of surface radiation), physical exposure (maximum current 1.5 m/s), substratum (gravel sand or mud), temperature (−1°C in winter to 30°C in summer), and salinity (5 to 45 PSU). These data correspond to the species which present the most restrictive needs. The most affected environment is the coastal area which plays an important role.The main functions of these ecosystems are(i)
sediment and nutrient retention [19],(ii)
nursery for juvenile fish [19],(iii)
food for species such as manatee, dugong, and green turtle [18],(iv)
some epiphyte algae living over the seagrass, increasing the productivity [19],(v)
CO2 retention (even more important than in tropical rain forest) [20].Some threats are [19](i)
increase of turbidity,(ii)
increase of temperature (due the global warming),(iii)
salinity changes,(iv)
foreigner species,(v)
dredging actions to import sand to the beaches,(vi)
massive grazing events.The increase of temperature is producing a loss of seagrass community and, due to that reduction, the amount of CO2 that the meadows can retain decreases. Because of these, the free CO2 in the atmosphere increases and so its temperature increases. This process forms a negative feedback loop. The temperature is a very important parameter that should be monitored in detail to see the changes in the seagrass meadows and the rest of flora and fauna [21].Our system allows evaluating the role of different threats in the reduction of seagrass meadows. We can estimate the effect of salinity, turbidity, and temperature changes together and separately. In addition, with the meteorological information, it is possible to estimate the physical exposure and the solar radiation. Moreover a fuel detection system is included to evaluate the effect of this specific pollutant. Systems like these ones are used to monitor other underwater environments and threats like seagrasses. In [22], authors use a system to monitor coral reefs in Australia.According to [13], underwater WSNs are mainly developed in Europe (26 references), North America (19 references), China (21 references), and Australia (12 references). The main topologies used for this purpose are star topology and topologies partially connected [13]. There are a huge variety of protocols specifics for underwater environments such as VBF, HH-VBF, and FBR. Each one of them has benefits and drawbacks. It has no sense to select one of them as a function of our scenarios [23].The main challenges for underwater WSNs are [14, 22](i)
sensors protection to avoid corrosion and biofouling and ensure the isolation from the water,(ii)
advanced buoy design with low cost, waterproof, and strong stability; it should also have an energy harvesting system and a mooring system,(iii)
energy harvesting system design; there are several renewable power sources that can be used in the ocean like seawater generator, tidal power, or wind energy,(iv)
system stability and reliability,(v)
distributed localization and time synchronization. Continuous changes in sensors can affect the precision of location and the time of data is crucial for good analysis.In this paper, we are going to present the design of an oceanographic multisensor buoy for Posidonia meadows monitoring in the Mediterranean Sea. The system is based on 2 sets of low cost sensors that are able to collect data from the water, such as salinity, temperature, or turbidity, and from the weather, such as temperature, relative humidity, or rainfall, among others. The system is held in a buoy which maintains the system isolated from the water to avoid possible problems of oxidation. The data gathered by all sensors are processed using a microcontroller. Finally the buoy is connected with the base station through a wireless connection using a FlyPort module. The whole system and the individual sensors have been tested in a controlled environment. This proposal could be used to monitor other areas with special ecological interest and for monitoring and supervising several aquaculture activities.The rest of this paper is structured as follows. Section2 shows some previous woks related to multiparametric systems used for monitoring some natural environments. Section 3 explains the main parts of our system as well as the wireless module used for connecting the buoy with the mainland. The design and operation of the sensors used to measure the marine parameters are shown in Section 4; meanwhile the design and operation of the sensors used to measure meteorological parameters are shown in Section 5. The network architecture, protocol to establish the connection, and the network performance are shown in Section 6. Finally Section 7 shows the conclusion and future work.


## 2. Related Work

In this section, we present a selection of papers where different sensors are used for monitoring aquatic environments. Many of them propose the water monitoring to obtain real-time information about parameters such as quality and component analysis. Among these, we find the following ones:O’Flynn et al. [24] described the operation of “SmartCoast,” a multisensor system for water quality monitoring. The system is aimed at providing a platform capable of meeting the monitoring requirements of the Water Framework Directive (WFD). The key parameters under investigation include temperature, phosphate, dissolved oxygen, conductivity, pH, turbidity, and water level. Authors also presented a WSN platform developed at Tyndall, with “Plug and Play” capabilities, which allows the sensor integration as well as the custom sensors under development within the project. Their results indicated that a low power wireless multisensor network implementation is viable.Kröger et al. [25] stated that biosensors have great potential in the marine environment. The development of biosensors for taking measurements in situ is a difficult challenge and that work is underway to address some of the issues raised. While the ability to make such observations is the ultimate goal of most developments, the ability to make decentralized measurements in the field rather than having to process collected samples in specialized laboratories is a significant advance which should not be overlooked. This is an area where biosensors are likely to find their initial significant applications: the low cost, user-friendly test that can be carried out to prescreen samples, possibly helping to focus the sample collection effort for further detailed chemical analysis.Thiemann and Kaufmann [26] present algorithms for the quantification of the trophic parameters, the Secchi disk transparency, and a method to measure the chlorophyll concentration based on the hyperspectral airborne data. The algorithms were developed using in situ reflectance data. These methods were validated by independent in situ measurements resulting in mean standard errors of 1.0–1.5 m for Secchi disk transparency and of 10-11 mg/L for chlorophyll regarding the case of HyMap sensors. The multitemporal applicability of the algorithms was demonstrated based on a 3-year database. With the complementary accuracy of Secchi disk transparency and chlorophyll concentration and the additional spatial and synchronous overview of numerous contiguous lakes, this remote sensing approach gives a good overview of changes that can then be recorded more precisely by more extensive in situ measurements.The water quality monitoring at a river basin level to meet the requirements of the Water Framework Directive (WFD) poses a significant financial burden using conventional sampling and laboratory tests based on techniques presented by O’Flynn et al. [27]. They presented the development of the DEPLOY project. The key advantages of using WSNs are the following ones:(i)
higher temporal resolution of data than the ones provided by traditional methods,(ii)
data streams from multiple sensor types in a multistation network,(iii)
data fusion from different stations could help to achieve a better understanding of the catchment as well as the value of real-time data for event monitoring and catchment behavior analysis.Data from monitoring stations can be analyzed and transmitted to a remote office/laboratory using wireless technology in order to be statistically processed and interpreted by an expert in this kind of systems. Rising trends for any constituent of interest or breaches of Environmental Quality Standards (EQS) will alert relevant personnel who can intercept serious pollution incidents by evaluating changes in water quality parameters. To detect these changes it is necessary to perform measurements several times per day. The capabilities of DEPLOY system for continuously taking samples and communicating them allow reducing monitoring costs while providing better coverage of long-term trends and detecting fluctuations in parameters of interest.Güttler et al. [28] present new results for the characterization of the Danube Delta waters and explore multisensor turbidity algorithms that can be easily adapted to this purpose. In order to study the turbidity patterns of Danube Delta waters, optical remote sensing techniques were used to capture satellite images of more than 80 media with high spatial resolution.In [29] Albaladejo et al. explain and illustrate the design and implementation of a new multisensor monitoring buoy system. The sensor buoy system offers a real opportunity to monitor coastal shallow-water environments. The system design is based on a set of fundamental requirements. The main ones are the low cost of implementation, the possibility of applying it in coastal shallow-water marine environments, suitable dimensions to be deployed with very low impact over the medium, the stability of the sensor system in a shifting environment like the sea bed, and the total autonomy of power supply and data recording. Authors have shown that the design cost and its implementation are inexpensive. This implies that it can be integrated in a WSN and, due to the proprieties of these systems, they will remain stable in aggressive and dynamic environments like the sea. Authors have identified the basic requirements of the development process of the electronic and mechanical components necessary to assembly a sensor.Jianxin et al. [30] proposed a new method to measure marine parameters of marine power systems. The system performs a synchronous sampling and distributed data fusion, which is based on the optimal state estimation. The single-sensor measuring data is accurately estimated by the Kalman filter, and the multisensor data behavior is globally estimated as a combination of these data. The simulation test shows that the measured parameters obtained with the method based on multisensor data fusion present more accuracy and stability than the results obtained by the direct measurement method with single-sensor.Vespe et al. [31] presented an overview of the Satellite-Extended-Vessel Traffic Service (SEV) system for in situ and Earth Observation (EO) data association. The description of the cognitive data correlation concept shows the benefits brought to the resulting Recognized Maritime Picture (RMP) in supporting decision making and situation awareness applications. They show the results of multitechnology integration and its benefits brought in terms of suspect vessel detection and propagation tracking. The navigational and geographical knowledge is exploited for the final data association implementation. The vessel motion features and the scenario influence are used to estimate the degree of correlation confidence. The tactical scenario depiction has also shown the improvement in maritime traffic for coastal and open waters surveillance.Sousa-Lima et al. [32] presented an inventory list of fixed autonomous acoustic recording (AR) devices, including acronyms, developers, sources of information, and a summary of the main capabilities and specifications of each AR system. The devices greatly vary in capabilities and costs. There are small and hand-deployable units for detecting dolphin and porpoise clicks in shallow water and larger units that can be deployed in deep water to record at high-frequency bandwidths for over a year, but they must be deployed from a large vessel. The capabilities and limitations of the systems reviewed are discussed in terms of their effectiveness in monitoring and studying marine mammals.Some more interesting research works can be found in [33], but no one has the same features and purpose than the one proposed in this paper.


## 3. Proposal Description

The main aim of this paper is to develop a multisensor buoy able to collect meteorological and marine parameters and send them to a base station placed in the marine port or mainland. This section explains the main parts of our multisensor buoy as well as the wireless node used to implement our network and where the sensors will be placed in the buoy.


### 3.1. Multisensor Buoy

The buoy consists of a plastic part or float which provides sufficient buoyancy to the whole system and a fiber structure, which will be in charge of containing all electrical and electronic components and the battery (see Figure2). The interior of this structure is easily accessible through a small door in its exterior side.Figure 2
Multisensor buoy.Moreover, the float (see Figure3) has a longitudinal opening that traverses the entire object. Within this opening, the sensors are placed in nonmetallic structures. The sensors are always submerged in the water because the buoyancy capacity places the sensors under the waterline above the sensors. There is an opening to allow the water flow and its exchange without problems and to avoid the stagnant water. The main reason for locating sensors in this part is to keep them protected against shock and other problems.Figure 3
Float of buoy with the sensors.Our multisensor system comprises two groups of sensors. The first one is responsible for collecting meteorological parameters such as rainfall, temperature, relative humidity, and solar radiation. The second group of sensors is located under the water and they collect data about water conditions. In our case, the system takes measurements of temperature, salinity, turbidity, and presence of fuel.All sensors are connected to a processor capable of capturing analog signals from our sensors, process them, and wirelessly send these data to the base station located at the mainland.


### 3.2. Design of Wireless Node

Our wireless node is based on the wireless module called Openpicus FlyPort [34]. This wireless module is composed by the Certified Transceiver WiFi IEEE 802.11 Microchip MRF24WB0MA and although it uses the IEEE 802.11 wireless technology, this device presents one of the smallest energy consumptions. The main feature of this device is its 16-bit low power microcontroller Processor Microchip PIC24FJ256, with 256 K Flash, 16 K Ram, and 16 Mips @32 MHz. Figure 4 shows a view of the top side of this module.Figure 4
FlyPort module.There are several reasons to use this wireless module. The main advantage over existing systems is that it works under the IEEE 802.11 standard which makes fairly inexpensive the purchase of these devices. In addition, it is programmed in C language which permits great versatility in the development of new applications. In addition, it offers an embedded website that can be used to see the current values gathered by the sensors. Finally, its small size makes this device ideal for several applications such as environmental and rural monitoring [35], agriculture [36, 37], animal monitoring [38], indoor monitoring [39], or wearable sensors for e-health applications [40, 41], among others.Finally, because our multisensor buoy is working with 9 different sensors (8 sensors with an analog value as response and a sensor with an ON/OFF response), we need a microcontroller with at least 8 analog inputs. The digital input can be controlled using the FlyPort module. In our case, the device used is 40-Pin Enhanced Flash Microcontrollers with 10-bit A/D and nanoWatt Technology (PIC18F4520 by Microchip). One of the main characteristics of this device is its 10-bit Analog-to-Digital Converter module (A/D) with up to 13 channels, which is able to perform the autoacquisition and the data conversion during the sleep mode. Microchip claims that pic18f4520s ADC can go as high as 100 K samples per second although our application does not require this sampling rate.Figure5 shows a diagram with the connection between sensors, the microcontroller, and the base station located at the mainland or marine port.Figure 5
Diagram with all connections and the proposed architecture.


## 3.1. Multisensor Buoy

The buoy consists of a plastic part or float which provides sufficient buoyancy to the whole system and a fiber structure, which will be in charge of containing all electrical and electronic components and the battery (see Figure2). The interior of this structure is easily accessible through a small door in its exterior side.Figure 2
Multisensor buoy.Moreover, the float (see Figure3) has a longitudinal opening that traverses the entire object. Within this opening, the sensors are placed in nonmetallic structures. The sensors are always submerged in the water because the buoyancy capacity places the sensors under the waterline above the sensors. There is an opening to allow the water flow and its exchange without problems and to avoid the stagnant water. The main reason for locating sensors in this part is to keep them protected against shock and other problems.Figure 3
Float of buoy with the sensors.Our multisensor system comprises two groups of sensors. The first one is responsible for collecting meteorological parameters such as rainfall, temperature, relative humidity, and solar radiation. The second group of sensors is located under the water and they collect data about water conditions. In our case, the system takes measurements of temperature, salinity, turbidity, and presence of fuel.All sensors are connected to a processor capable of capturing analog signals from our sensors, process them, and wirelessly send these data to the base station located at the mainland.


## 3.2. Design of Wireless Node

Our wireless node is based on the wireless module called Openpicus FlyPort [34]. This wireless module is composed by the Certified Transceiver WiFi IEEE 802.11 Microchip MRF24WB0MA and although it uses the IEEE 802.11 wireless technology, this device presents one of the smallest energy consumptions. The main feature of this device is its 16-bit low power microcontroller Processor Microchip PIC24FJ256, with 256 K Flash, 16 K Ram, and 16 Mips @32 MHz. Figure 4 shows a view of the top side of this module.Figure 4
FlyPort module.There are several reasons to use this wireless module. The main advantage over existing systems is that it works under the IEEE 802.11 standard which makes fairly inexpensive the purchase of these devices. In addition, it is programmed in C language which permits great versatility in the development of new applications. In addition, it offers an embedded website that can be used to see the current values gathered by the sensors. Finally, its small size makes this device ideal for several applications such as environmental and rural monitoring [35], agriculture [36, 37], animal monitoring [38], indoor monitoring [39], or wearable sensors for e-health applications [40, 41], among others.Finally, because our multisensor buoy is working with 9 different sensors (8 sensors with an analog value as response and a sensor with an ON/OFF response), we need a microcontroller with at least 8 analog inputs. The digital input can be controlled using the FlyPort module. In our case, the device used is 40-Pin Enhanced Flash Microcontrollers with 10-bit A/D and nanoWatt Technology (PIC18F4520 by Microchip). One of the main characteristics of this device is its 10-bit Analog-to-Digital Converter module (A/D) with up to 13 channels, which is able to perform the autoacquisition and the data conversion during the sleep mode. Microchip claims that pic18f4520s ADC can go as high as 100 K samples per second although our application does not require this sampling rate.Figure5 shows a diagram with the connection between sensors, the microcontroller, and the base station located at the mainland or marine port.Figure 5
Diagram with all connections and the proposed architecture.


## 4. Sensors for Marine Parameters Monitoring

In this section, we are going to present the design and operation of sensors used to measure marine parameters. For each sensor, we show the electric scheme and mathematical expressions which relate the environmental parameter magnitudes and electrical values. For our new developments, we will also show the calibration process.


### 4.1. Water Temperature Sensor

In order to develop the water temperature sensor, it is used an NTC resistance (Negative Temperature Coefficient) (see Figure6); that is, as the temperature increases, the carrier concentration and the NTC resistance will decrease its magnitude.Figure 6
NTC for the water temperature sensor.The way to connect this sensor to our circuit is forming a voltage divider and the output of this circuit is connected to an analog input of our wireless node. Our NTC is placed in the lower part of the voltage divider. This protects our system. When the current flowing through the NTC is low, we have no problem because heat dissipation is negligible(V·I2). However, if heat dissipation increases, this can affect the resistive value of the sensor. For this reason, the NTC response is not linear but hyperbolic. But the configuration of a voltage divider will make the voltage variation of Vout almost linear.Regarding the other resistance that forms the voltage divider, it is used as resistance of 1 kΩ. This fact will allow leveraging the sampling range, with a limited power consumption given by the FlyPort. The schematic of the electronic circuit is shown in Figure7.Figure 7
Electronic circuit of the water temperature sensor.The output voltage as a function of the temperature (in K) can be modeled by(1)Voutt=VccR0·eB1/t-1/t0R0·eB1/t-1/t0+Rsup⁡,where Rsup⁡ is the superior resistance of the voltage divider formed by this resistance and the NTC. R0 is the value of the NTC resistance at a temperature t0 which is 298 K and B is the characteristic temperature of a material, which is between 2000 K and 5000 K.We can calculate the temperature in °C by(2)tC°=t0t0·ln⁡R1·VRNTC/R0·Vout-VRNTC/B+1-273,where VRNTC is the voltage registered on the NTC resistor, R0 is the value of NTC resistance at a temperature t0 which is 298 K, and B is the characteristic temperature of a material. Vout is the output voltage as a function of the registered temperature. Finally, tC° is the water temperature.To gather the data from the sensor, we need a short program code in charge of obtaining the equivalence between voltage and temperature. Algorithm1 shows the programming code used.Algorithm 1:Programming code to read the analog input from water temperature sensor.
while(1)
myADCValue = ADCVal(1);
myADCValue = (myADCValue ∗ 2.048)/1024;
sprintf(buf, “%d”, myADCValue);
vTaskDelay(100);Finally, the sensor is tested for different temperatures. Figure8 shows the temperature measured as a function of the output voltage.Figure 8
Temperature measured versus output voltage.


### 4.2. Water Salinity Sensor

The low cost salinity sensor is based on a transducer without ferromagnetic core [42, 43]. The transducer is composed of two coils, one toroid, and one solenoid (placed over the toroid). The characteristics of these coils are shown in Table 2. Figure 9 shows the salinity sensor.Table 2
Coils features.
Coils features
Toroid
Solenoid
Wire Diam.
0.8 mm
0.8 mm
Size and core
Inner coil diameter: 23.2 mmOuter coil diameter: 56.5 mmCoil high: 26.9 mmCore: nonferrous
Inner coil diameter: 25.3 mmOuter coil diameter: 33.6 mmCoil high: 22.6 mmCore: nonferrous
Number of spires
81 in one layer
324 in 9 layersFigure 9
Salinity sensor.In order to measure water salinity, we need to power one of these coils (the one with fewer spires) with a sinusoidal signal. The amount of solute salts in the water solution affects and modifies the magnetic field generated by the powered coil. The output voltage induced by the magnetic field in the second coil is correlated with the amount of solute salts. We use this system instead of commercial sensors because our system is cheaper than commercial devices. Another advantage of our system is that it does not require periodic calibrations and it is easy to isolate from water.It is important to know the frequency where our system distinguishes different salinity levels with more precision; this frequency is called working frequency. In order to find this working frequency, we developed several tests using sinusoidal signal at different frequencies to power the first coil. Tests are performed using 5 samples with different salinity. The samples were composed from tap water and salt. Their salinities go to tap water up to water highly saturated with salt. The conductivity values typical for sea water and freshwater are included in the samples. To find the working frequency, all samples are measured at different frequencies. Eight different frequencies are tested; the frequencies go from 10 kHz to 750 kHz. The results of these tests are shown in Figure10. It represents the maximum amplitude registered for each sample at different frequencies. The input signal for the powered coil is performed by a function generator [18]. To measure the output voltage in the first tests, we use an oscilloscope. Figure 11 shows the oscilloscope screen where we can see the input and output sinusoidal waves. We can see that 150 kHz is the frequency where it is possible to clearly distinguish between different samples. At 590 kHz, it is possible to distinguish between all the samples except for 17 and 33 ppm. The only frequency that our sensor is able to distinguish between all samples is 150 kHz. This frequency is selected as working frequency.Figure 10
Output voltage of the salinity sensor as a function of the frequency.Figure 11
Oscilloscope during the tests.The main function of the FlyPort is the generation of the sine wave used to power our transducer and the acquisition of the resulting signal. The sensor node generates a PWM signal from which we obtain a sinusoidal signal used to power the transducer. The PWM signal needs to be filtered by a band pass filter (BPF) in order to obtain the sinusoidal signal as we know it. Once PWM signal is generated by the microcontroller, it is necessary to filter this signal by a BPF with the center frequency at 150 kHz in order to obtain the desired sine wave. Figure13 shows a PWM signal (as a train of pulses with different widths) and the sine wave obtained after filtering the PWM signal.The BPF is performed by two active Sallen-Key filters of second order configured in cascade, that is, a low pass filter (LPF) and a high-pass filter (HPF). The cutoff frequencies are 160 kHz and 140 kHz, respectively (see Figure12). PWM is generated by the wireless module. The system is configured to work at 150 kHz. After that, the system generates a variable width pulse which is repeated with a frequency of 150 kHz. Figure 14 shows the frequency response of our BPF. Algorithm 2 shows the program code for PWM signal generation.Algorithm 2:Programming code for the PWM signal generation.
#include “taskFlyport.h”
void FlyportTask()
const int maxVal = 100;
const int minVal = 1;
float Value = (float) maxVal;
PWMInit(1, 1500000, maxVal);
PWMOn(p9, 1);
While (1)
for (Value = maxVal; Value > minVal; Value − −)
PWMDuty(Value, 1);
vTaskDelay(1);
for (Value = minVal; Value < maxVal; Value + +)
PWMDuty(Value, 1);
vTaskDelay(1);Figure 12
PWM signal and the resulting sine wave.Figure 13
Electronic design of the low cost salinity sensor.Figure 14
Frequency response of our BPF.In order to gather the data from the salinity sensor, we have programmed a small code. The main part of this code is shown in Algorithm3. As it is shown, the system will take measurements from analog input 1.Algorithm 3:Programming code to read the analog input of the salinity sensor.
while(1)
myADCValue = ADCVal(1);
myADCValue = (myADCValue ∗ 2.048)/1024;
sprintf(buf, “%d”, myADCValue);
vTaskDelay(100);Once we know that the working frequency is 150 kHz, we perform a calibration. The calibration is carried out for obtaining the mathematical model that relates the output voltage with the water salinity. The test bench is performed by using more than 30 different samples which salinities go from 0.19 ppm to 38 ppm. The results of calibration are shown in Figure15.Figure 15
Water salinity as a function of the output voltage.We can see that the results can be adjusted by 3 lineal ranges with different mathematical equations. Depending on the salinity, the sensor will use one of these equations. Equation (3) is for salinity values from 0 ppm to 3.28 ppm, and (4) is for values from 3.28 ppm to 11.3 ppm. Finally (5) is for salinities from 11.3 ppm to 35 ppm. All these equations have a minimum correlation of 0.9751.Finally, Figure16 compares the measured salinity and the predicted salinity, and we can see that the accuracy of our system is fairly good:(3)Vout_1=1.1788·S+0.6037;R2=0.9751,(4)Vout_2=0.2387·S+3.3457;R2=0.9813,(5)Vout_3=0.0625·S+5.23;R2=0.9872.Figure 16
Comparison between our measures and the predicted measures.


### 4.3. Water Turbidity Sensor

The turbidity sensor is based on an infrared LED (TSU5400 manufactured by Tsunamimstar) as a source of light emission and a photodiode as a detector (S186P by Vishay Semiconductors). These elements are disposed at 4 cm with an angle of 180°, so that the photodiode can capture the maximum infrared light from the LED [44].The infrared LED uses GaAs technology manufactured in a blue-gray tinted plastic package, registering the biggest peak wavelength at 950 nm. The photodiode is an IR filter, spectrally matched to GaAs or GaAs on GaAlAs IR emitters (≥900 nm). S186P is covered by a plastic case with IR filter (950 mm) and it is suitable for near infrared radiation. The transmitter circuit is powered by a voltage of 5 V while the photodiode needs to be fed by a voltage of 15 V. To achieve these values, we use two voltage regulators of LM78XX series with permits of a maximum output current of 1 A. The LM7805 is used by the transmitter circuit and the LM7815 is used by the receiver circuit. Figure17 shows the electronic scheme of our turbidity sensor.Figure 17
Schematic of the turbidity sensor.In order to calibrate the turbidity sensor, we used 8 samples with different turbidity. All of them were prepared specifically for the experiment at that moment. To know the real turbidity of the samples, we used a commercial turbidimeter, Turbidimeter Hach 2100N, which worked using the same method as that of our sensor (with the detector placed at 90 degrees). The samples were composed by sea water and a sediments (clay and silt), fine material that can be maintained in suspension for the measure time span without precipitate. The water used to prepare the samples was taken from the Mediterranean Sea (Spain). Its salinity was 38.5 PSU. Its pH was 8.07 and its temperature was 21.1°C when we were performing the measures. The 8 samples have different quantities of clay and silt. The turbidity is measured with the commercial turbidimeter. The samples are introduced in specific recipients for their measurement with the turbidimeter. These recipients are glass recipients with a capacity of 30 mL. The amount of sediments and the turbidity of each sample are shown in Table3. Once the turbidity of each sample is known, we measured them using our developed system to test it. For each sample, an output voltage proportional to each measured turbidity value is obtained. Relating to the obtained voltage with the turbidity of each sample, the calibration process is finished and the turbidity sensor is ready to be used. The calibration results are shown in Figure 18. It relates the gathered output voltage for each turbidity value. Equation (6) correlates the turbidity with the output voltage. We also present the mathematical equation that correlates the output voltage with the amount of sediment (mg/L) (see (7)). Finally, it is important to say that, based on our experiments, the accuracy of our system is 0.15 NTU:(6)Output  voltageV=5.196-0.0068·Turbidity(NTU),(7)Output  voltageV=5.1676-116.49·Concentrationmg/L.Table 3
Concentration and turbidity of the samples.
Sample number
Concentration of clay and silt (mg/L)
Turbidity (NTU)
1
0
0.072
2
36.33
23.7
3
110.44
60.1
4
175.33
97.2
5
232.10
123
6
260.66
142
7
326.66
171
8
607
385Figure 18
Calibration results of the turbidity sensor.Once the calibration is done, a verification process is carried out. In this process, 4 samples are used. The samples are prepared in the laboratory without knowing neither the concentration of the sediments nor their turbidity.These samples are measured with the turbidity sensor. The output voltage of each one is correlated with a turbidity measure using (6). The output voltage and the turbidity values are shown in Table 4.Table 4
Results verifying the samples.
Sample
Output voltage (V)
Turbidity (NTU)
1
4.67
77.36
2
4.82
55.29
3
4.8
58.24
4
4.33
127.36After measuring the samples with the turbidity sensor, the samples are measured with the commercial turbidimeter in order to compare them. This comparison is shown in Figure19. We can see the obtained data over a thin line which shows the perfect adjustment (when both measures are the same). It is possible to see that the data are very close, except one case (sample 1). The average relative error of all samples is 3.25% while the maximum relative error is 9.5%. This maximum relative error is too high in comparison to the error of other samples; this makes us think that there was a mistake in the sample manipulation. If we delete this data, the average relative error of our turbidity sensor is 1.17%.Figure 19
Comparison of measures in both pieces of equipment.


### 4.4. Hydrocarbon Detector Sensor

The system used to detect the presence of hydrocarbon is composed by an optical circuit, which is composed by a light source (LED) and a receptor (photodiode). TheVout signal increases or decreases depending on the presence or absence of fuel in the seawater surface (see Figure 20). In order to choose the best light to implement in our sensor, we used 6 different light colors (white, red, orange, green, blue, and violet) as a light source. For all cases, we used the photoreceptor (S186P) as light receptor. It is cheaper than others photodiodes, but its optimal wavelength is the infrared light. Although the light received by the photodiode is not infrared light, this photodiode is able to sense lights with other wavelengths. Both circuits are powered at 5 V. A diagram of the principle of operation of the hydrocarbon detector sensor is shown in Figure 21.Figure 20
Sensor for hydrocarbon detection.Figure 21
Principle of operation of the hydrocarbon detector sensor.Finally, the sensor is tested in different conditions. The samples used in these tests are composed by seawater and fuel, which is gasoline of 95 octanes. They are prepared in small plastic containers of 30 mL, with different amount of fuel (0, 2, 4, 6, 8, and 10 mL), so each sample has a layer of different thickness of fuel over the seawater. The photodiode and the LED are placed near the water surface, at 1 cm, as we can see in Figure22, where orange light is tested.Figure 22
Test bench with orange light.The output voltages for each sample as a function of the light source are shown in Figure23. Each light has different behaviors and different interactions with the surfaces, and only some of them are able to distinguish between the presence and absence of fuel. The lights, which present bigger difference between voltage in presence of fuel and without it, are white, orange, and violet lights. However any light is capable of giving us quantitative results. The tests are repeated 10 times for the selected lights in order to check the stability of the measurements and the validity or our sensor. Because our system only brings qualitative results, that is, between presence and absence of fuel, we only use two samples with different amounts of fuel (0 and 2 mL). The results are shown in Figure 24. Table 5 summarizes these results.Table 5
Average value of the output voltage for the best cases.
Output voltages (mV)
Orange
White
Violet
Seawater
With fuel
Seawater
With fuel
Seawater
With fuel
Average value
18.2
10.2
10.9
7.2
14.2
7
Standard deviation
2.78088715
0.42163702
0.56764621
0.42163702
1.22927259
0.81649658Figure 23
Output voltage for the six lights used in this test.Figure 24
Output voltage as a function of the light and the presence of fuel.The results show that these three lights allow detecting the presence of fuel over the water. Nevertheless the white light is the one which presents the lowest difference in mV between both samples. So the orange or violet lights are the best option to detect the presence of hydrocarbons over seawater.


## 4.1. Water Temperature Sensor

In order to develop the water temperature sensor, it is used an NTC resistance (Negative Temperature Coefficient) (see Figure6); that is, as the temperature increases, the carrier concentration and the NTC resistance will decrease its magnitude.Figure 6
NTC for the water temperature sensor.The way to connect this sensor to our circuit is forming a voltage divider and the output of this circuit is connected to an analog input of our wireless node. Our NTC is placed in the lower part of the voltage divider. This protects our system. When the current flowing through the NTC is low, we have no problem because heat dissipation is negligible(V·I2). However, if heat dissipation increases, this can affect the resistive value of the sensor. For this reason, the NTC response is not linear but hyperbolic. But the configuration of a voltage divider will make the voltage variation of Vout almost linear.Regarding the other resistance that forms the voltage divider, it is used as resistance of 1 kΩ. This fact will allow leveraging the sampling range, with a limited power consumption given by the FlyPort. The schematic of the electronic circuit is shown in Figure7.Figure 7
Electronic circuit of the water temperature sensor.The output voltage as a function of the temperature (in K) can be modeled by(1)Voutt=VccR0·eB1/t-1/t0R0·eB1/t-1/t0+Rsup⁡,where Rsup⁡ is the superior resistance of the voltage divider formed by this resistance and the NTC. R0 is the value of the NTC resistance at a temperature t0 which is 298 K and B is the characteristic temperature of a material, which is between 2000 K and 5000 K.We can calculate the temperature in °C by(2)tC°=t0t0·ln⁡R1·VRNTC/R0·Vout-VRNTC/B+1-273,where VRNTC is the voltage registered on the NTC resistor, R0 is the value of NTC resistance at a temperature t0 which is 298 K, and B is the characteristic temperature of a material. Vout is the output voltage as a function of the registered temperature. Finally, tC° is the water temperature.To gather the data from the sensor, we need a short program code in charge of obtaining the equivalence between voltage and temperature. Algorithm1 shows the programming code used.Algorithm 1:Programming code to read the analog input from water temperature sensor.
while(1)
myADCValue = ADCVal(1);
myADCValue = (myADCValue ∗ 2.048)/1024;
sprintf(buf, “%d”, myADCValue);
vTaskDelay(100);Finally, the sensor is tested for different temperatures. Figure8 shows the temperature measured as a function of the output voltage.Figure 8
Temperature measured versus output voltage.


## 4.2. Water Salinity Sensor

The low cost salinity sensor is based on a transducer without ferromagnetic core [42, 43]. The transducer is composed of two coils, one toroid, and one solenoid (placed over the toroid). The characteristics of these coils are shown in Table 2. Figure 9 shows the salinity sensor.Table 2
Coils features.
Coils features
Toroid
Solenoid
Wire Diam.
0.8 mm
0.8 mm
Size and core
Inner coil diameter: 23.2 mmOuter coil diameter: 56.5 mmCoil high: 26.9 mmCore: nonferrous
Inner coil diameter: 25.3 mmOuter coil diameter: 33.6 mmCoil high: 22.6 mmCore: nonferrous
Number of spires
81 in one layer
324 in 9 layersFigure 9
Salinity sensor.In order to measure water salinity, we need to power one of these coils (the one with fewer spires) with a sinusoidal signal. The amount of solute salts in the water solution affects and modifies the magnetic field generated by the powered coil. The output voltage induced by the magnetic field in the second coil is correlated with the amount of solute salts. We use this system instead of commercial sensors because our system is cheaper than commercial devices. Another advantage of our system is that it does not require periodic calibrations and it is easy to isolate from water.It is important to know the frequency where our system distinguishes different salinity levels with more precision; this frequency is called working frequency. In order to find this working frequency, we developed several tests using sinusoidal signal at different frequencies to power the first coil. Tests are performed using 5 samples with different salinity. The samples were composed from tap water and salt. Their salinities go to tap water up to water highly saturated with salt. The conductivity values typical for sea water and freshwater are included in the samples. To find the working frequency, all samples are measured at different frequencies. Eight different frequencies are tested; the frequencies go from 10 kHz to 750 kHz. The results of these tests are shown in Figure10. It represents the maximum amplitude registered for each sample at different frequencies. The input signal for the powered coil is performed by a function generator [18]. To measure the output voltage in the first tests, we use an oscilloscope. Figure 11 shows the oscilloscope screen where we can see the input and output sinusoidal waves. We can see that 150 kHz is the frequency where it is possible to clearly distinguish between different samples. At 590 kHz, it is possible to distinguish between all the samples except for 17 and 33 ppm. The only frequency that our sensor is able to distinguish between all samples is 150 kHz. This frequency is selected as working frequency.Figure 10
Output voltage of the salinity sensor as a function of the frequency.Figure 11
Oscilloscope during the tests.The main function of the FlyPort is the generation of the sine wave used to power our transducer and the acquisition of the resulting signal. The sensor node generates a PWM signal from which we obtain a sinusoidal signal used to power the transducer. The PWM signal needs to be filtered by a band pass filter (BPF) in order to obtain the sinusoidal signal as we know it. Once PWM signal is generated by the microcontroller, it is necessary to filter this signal by a BPF with the center frequency at 150 kHz in order to obtain the desired sine wave. Figure13 shows a PWM signal (as a train of pulses with different widths) and the sine wave obtained after filtering the PWM signal.The BPF is performed by two active Sallen-Key filters of second order configured in cascade, that is, a low pass filter (LPF) and a high-pass filter (HPF). The cutoff frequencies are 160 kHz and 140 kHz, respectively (see Figure12). PWM is generated by the wireless module. The system is configured to work at 150 kHz. After that, the system generates a variable width pulse which is repeated with a frequency of 150 kHz. Figure 14 shows the frequency response of our BPF. Algorithm 2 shows the program code for PWM signal generation.Algorithm 2:Programming code for the PWM signal generation.
#include “taskFlyport.h”
void FlyportTask()
const int maxVal = 100;
const int minVal = 1;
float Value = (float) maxVal;
PWMInit(1, 1500000, maxVal);
PWMOn(p9, 1);
While (1)
for (Value = maxVal; Value > minVal; Value − −)
PWMDuty(Value, 1);
vTaskDelay(1);
for (Value = minVal; Value < maxVal; Value + +)
PWMDuty(Value, 1);
vTaskDelay(1);Figure 12
PWM signal and the resulting sine wave.Figure 13
Electronic design of the low cost salinity sensor.Figure 14
Frequency response of our BPF.In order to gather the data from the salinity sensor, we have programmed a small code. The main part of this code is shown in Algorithm3. As it is shown, the system will take measurements from analog input 1.Algorithm 3:Programming code to read the analog input of the salinity sensor.
while(1)
myADCValue = ADCVal(1);
myADCValue = (myADCValue ∗ 2.048)/1024;
sprintf(buf, “%d”, myADCValue);
vTaskDelay(100);Once we know that the working frequency is 150 kHz, we perform a calibration. The calibration is carried out for obtaining the mathematical model that relates the output voltage with the water salinity. The test bench is performed by using more than 30 different samples which salinities go from 0.19 ppm to 38 ppm. The results of calibration are shown in Figure15.Figure 15
Water salinity as a function of the output voltage.We can see that the results can be adjusted by 3 lineal ranges with different mathematical equations. Depending on the salinity, the sensor will use one of these equations. Equation (3) is for salinity values from 0 ppm to 3.28 ppm, and (4) is for values from 3.28 ppm to 11.3 ppm. Finally (5) is for salinities from 11.3 ppm to 35 ppm. All these equations have a minimum correlation of 0.9751.Finally, Figure16 compares the measured salinity and the predicted salinity, and we can see that the accuracy of our system is fairly good:(3)Vout_1=1.1788·S+0.6037;R2=0.9751,(4)Vout_2=0.2387·S+3.3457;R2=0.9813,(5)Vout_3=0.0625·S+5.23;R2=0.9872.Figure 16
Comparison between our measures and the predicted measures.


## 4.3. Water Turbidity Sensor

The turbidity sensor is based on an infrared LED (TSU5400 manufactured by Tsunamimstar) as a source of light emission and a photodiode as a detector (S186P by Vishay Semiconductors). These elements are disposed at 4 cm with an angle of 180°, so that the photodiode can capture the maximum infrared light from the LED [44].The infrared LED uses GaAs technology manufactured in a blue-gray tinted plastic package, registering the biggest peak wavelength at 950 nm. The photodiode is an IR filter, spectrally matched to GaAs or GaAs on GaAlAs IR emitters (≥900 nm). S186P is covered by a plastic case with IR filter (950 mm) and it is suitable for near infrared radiation. The transmitter circuit is powered by a voltage of 5 V while the photodiode needs to be fed by a voltage of 15 V. To achieve these values, we use two voltage regulators of LM78XX series with permits of a maximum output current of 1 A. The LM7805 is used by the transmitter circuit and the LM7815 is used by the receiver circuit. Figure17 shows the electronic scheme of our turbidity sensor.Figure 17
Schematic of the turbidity sensor.In order to calibrate the turbidity sensor, we used 8 samples with different turbidity. All of them were prepared specifically for the experiment at that moment. To know the real turbidity of the samples, we used a commercial turbidimeter, Turbidimeter Hach 2100N, which worked using the same method as that of our sensor (with the detector placed at 90 degrees). The samples were composed by sea water and a sediments (clay and silt), fine material that can be maintained in suspension for the measure time span without precipitate. The water used to prepare the samples was taken from the Mediterranean Sea (Spain). Its salinity was 38.5 PSU. Its pH was 8.07 and its temperature was 21.1°C when we were performing the measures. The 8 samples have different quantities of clay and silt. The turbidity is measured with the commercial turbidimeter. The samples are introduced in specific recipients for their measurement with the turbidimeter. These recipients are glass recipients with a capacity of 30 mL. The amount of sediments and the turbidity of each sample are shown in Table3. Once the turbidity of each sample is known, we measured them using our developed system to test it. For each sample, an output voltage proportional to each measured turbidity value is obtained. Relating to the obtained voltage with the turbidity of each sample, the calibration process is finished and the turbidity sensor is ready to be used. The calibration results are shown in Figure 18. It relates the gathered output voltage for each turbidity value. Equation (6) correlates the turbidity with the output voltage. We also present the mathematical equation that correlates the output voltage with the amount of sediment (mg/L) (see (7)). Finally, it is important to say that, based on our experiments, the accuracy of our system is 0.15 NTU:(6)Output  voltageV=5.196-0.0068·Turbidity(NTU),(7)Output  voltageV=5.1676-116.49·Concentrationmg/L.Table 3
Concentration and turbidity of the samples.
Sample number
Concentration of clay and silt (mg/L)
Turbidity (NTU)
1
0
0.072
2
36.33
23.7
3
110.44
60.1
4
175.33
97.2
5
232.10
123
6
260.66
142
7
326.66
171
8
607
385Figure 18
Calibration results of the turbidity sensor.Once the calibration is done, a verification process is carried out. In this process, 4 samples are used. The samples are prepared in the laboratory without knowing neither the concentration of the sediments nor their turbidity.These samples are measured with the turbidity sensor. The output voltage of each one is correlated with a turbidity measure using (6). The output voltage and the turbidity values are shown in Table 4.Table 4
Results verifying the samples.
Sample
Output voltage (V)
Turbidity (NTU)
1
4.67
77.36
2
4.82
55.29
3
4.8
58.24
4
4.33
127.36After measuring the samples with the turbidity sensor, the samples are measured with the commercial turbidimeter in order to compare them. This comparison is shown in Figure19. We can see the obtained data over a thin line which shows the perfect adjustment (when both measures are the same). It is possible to see that the data are very close, except one case (sample 1). The average relative error of all samples is 3.25% while the maximum relative error is 9.5%. This maximum relative error is too high in comparison to the error of other samples; this makes us think that there was a mistake in the sample manipulation. If we delete this data, the average relative error of our turbidity sensor is 1.17%.Figure 19
Comparison of measures in both pieces of equipment.


## 4.4. Hydrocarbon Detector Sensor

The system used to detect the presence of hydrocarbon is composed by an optical circuit, which is composed by a light source (LED) and a receptor (photodiode). TheVout signal increases or decreases depending on the presence or absence of fuel in the seawater surface (see Figure 20). In order to choose the best light to implement in our sensor, we used 6 different light colors (white, red, orange, green, blue, and violet) as a light source. For all cases, we used the photoreceptor (S186P) as light receptor. It is cheaper than others photodiodes, but its optimal wavelength is the infrared light. Although the light received by the photodiode is not infrared light, this photodiode is able to sense lights with other wavelengths. Both circuits are powered at 5 V. A diagram of the principle of operation of the hydrocarbon detector sensor is shown in Figure 21.Figure 20
Sensor for hydrocarbon detection.Figure 21
Principle of operation of the hydrocarbon detector sensor.Finally, the sensor is tested in different conditions. The samples used in these tests are composed by seawater and fuel, which is gasoline of 95 octanes. They are prepared in small plastic containers of 30 mL, with different amount of fuel (0, 2, 4, 6, 8, and 10 mL), so each sample has a layer of different thickness of fuel over the seawater. The photodiode and the LED are placed near the water surface, at 1 cm, as we can see in Figure22, where orange light is tested.Figure 22
Test bench with orange light.The output voltages for each sample as a function of the light source are shown in Figure23. Each light has different behaviors and different interactions with the surfaces, and only some of them are able to distinguish between the presence and absence of fuel. The lights, which present bigger difference between voltage in presence of fuel and without it, are white, orange, and violet lights. However any light is capable of giving us quantitative results. The tests are repeated 10 times for the selected lights in order to check the stability of the measurements and the validity or our sensor. Because our system only brings qualitative results, that is, between presence and absence of fuel, we only use two samples with different amounts of fuel (0 and 2 mL). The results are shown in Figure 24. Table 5 summarizes these results.Table 5
Average value of the output voltage for the best cases.
Output voltages (mV)
Orange
White
Violet
Seawater
With fuel
Seawater
With fuel
Seawater
With fuel
Average value
18.2
10.2
10.9
7.2
14.2
7
Standard deviation
2.78088715
0.42163702
0.56764621
0.42163702
1.22927259
0.81649658Figure 23
Output voltage for the six lights used in this test.Figure 24
Output voltage as a function of the light and the presence of fuel.The results show that these three lights allow detecting the presence of fuel over the water. Nevertheless the white light is the one which presents the lowest difference in mV between both samples. So the orange or violet lights are the best option to detect the presence of hydrocarbons over seawater.


## 5. Sensors for Weather Parameters Monitoring

This section presents the design and operation of the sensors used to measure the meteorological parameters. For each sensor, we will see the electric scheme and the mathematical expressions relating the environmental parameter magnitudes with the electrical values. We have used commercial circuit integrates that require few additional types of circuitry.


### 5.1. Sensor for Environmental Temperature

The TC1047 is a high precision temperature sensor which presents a linear voltage output proportional to the measured temperature. The main reason to select this component is its easy connection and its accuracy. TC1047 can be feed by a supply voltage between 2.7 V and 4.4 V. The output voltage range for these devices is typically 100 mV at −40°C and 1.75 V at 125°C.This sensor does not need any additional design. When the sensor is fed, the output voltage can be directly connected to our microprocessor (see Figure25). Although the operating range of this sensor is between −40°C and 125°C, our useful operating range is from −10°C to 50°C, because this range is even broader than the worst case in the Mediterranean zone. Figure 26 shows the relationship between the output voltage and the measured temperature and the mathematical expression used to model our output signal.Figure 25
Sensor to measure the ambient temperature.Figure 26
Behavior of TC1047 and its equation.Algorithm4 shows the program code to read the analog input for ambient temperature sensor.Algorithm 4:Program code for reading analog input for ambient temperature sensor.
while(1)
myADCTemp = ADCVal(1);
myADCTemp = (myADCTemp ∗ 2.048)/1024;
myADCTemp = myADCTemp ∗ 0.010 + 0.5;
sprintf(buf, “%d”, myADCValue);
vTaskDelay(100);Finally, we have tested the behavior of this system. The test bench has been performed during 2 months. Figure27 shows the results obtained about the maximum, minimum, and average temperature values of each day. Figure 28 shows the electric circuit for this sensor.Figure 27
Test bench of the ambient temperature sensor.Figure 28
Electrical connections for HIH-4000.


### 5.2. Relative Humidity

HIH-4000 is a high precision humidity sensor which presents a near linear voltage output proportional to the measured relative humidity (RH). This component does not need additional circuits and elements to work. When the sensor is fed, the output voltage can be directly connected to the microprocessor (see Figure27). It is easy to connect and its accuracy is ±5%, for RH from 0% to 59%, and ±8%, for RH from 60% to 100%. The HIH-4000 should be fed by a supply voltage of 5 V. The operating temperature range of this sensor is from −40°C to 85°C. Finally, we should keep in mind that the RH is a parameter which depends on the temperature. For this reason, we should apply the temperature compensation over RH as (6) shows: (8)Vout=Vsuppy·0.0062·RH%+0.16,True  RH%=RH%1.0546-0.00216·t,True  RH%=Vout/Vsuppy-0.16/0.00621.0546-0.00216·t,where Vout is the output voltage as a function of the RH in % and Vsuppy is the voltage needed to feed the circuit (in our case it is 5 V). RH% is the value of RH in %, TrueRH is the RH value, in %, after the temperature compensation, and t is the temperature, expressed in °C.Figure29 shows the relationship between the output voltage and the measured RH in %. Finally, we have tested the behavior of this sensor during 2 months. Figure 30 shows the relative humidity values gathered in this test bench.Figure 29
RH in % as a function of the output voltage compensated in temperature.Figure 30
Relative humidity measured during two months.


### 5.3. Wind Sensor

To measure the wind speed, we use a DC motor as a generator mode, where the rotation speed of the shaft becomes a voltage output which is proportional to that speed. For a proper design, we must consider several details such as the size of the captors wind or the diameter of the circle formed, among others. Figure31 shows the design of our anemometer. We used 3 hemispheres because it is the structure that generates less turbulence. Moreover, we note that a generator does not have a completely linear behavior; the laminated iron core reaches the saturation limit when it reaches a field strength limit. In this situation, the voltage is not proportional to the angular velocity. After reaching the saturation, an increase in the voltage produces very little variation approximating such behavior to a logarithmic behavior.Figure 31
Design of our anemometer.To implement our system, we use a miniature motor capable of generating up to 3 volts when recording a value of 12000 rpm. The engine performance curve is shown in Figure32.Figure 32
Relationship between the output voltage in DC motor and the rotation speed.To express the wind speed, we can do different ways. On one hand, the rpm is a measure of angular velocity, while m/s is a linear velocity. To make this conversion of speeds, we should proceed as follows (see the following equation):(9)ωrpm=frot⁡·60⟶ωrad/s=ωrpm·2π60.Finally, the linear velocity in m/s is expressed as shown in(10)vm/s=ωrad/s·r,where frot is the rotation frequency of anemometer, in Hz, r is the turning radius of the anemometer, ωrad/s is the angular speed in rad/s, and ωrpm is the angular speed, in revolutions per minute (rpm).Given the characteristics of the engine operation and the mathematical expressions, the anemometer was tested during 2 months. The results collected by the sensor are shown in Figure33.Figure 33
Measures of wind speed in a real environment.To measure the wind direction, we need a vane. Our vane is formed by two SS94 A1 Hall sensors manufactured by Honeywell (see Figure34), which are located perpendicularly. Apart from these two sensors, the vane has a permanent magnet on a shaft that rotates according to the wind direction.Figure 34
Sensor hall.Our vane is based on detecting magnetic fields. Each sensor gives a linear output proportional to the number of field lines passing through it, so when there is a linear output with higher value, the detected magnetic field is higher. According to the characteristics of this sensor, it must be fed at least with 6.6 V. If the sensor is fed with 8 V, it obtains an output value of 4 volts per pin, a “0” when it is not applied any magnetic field, and a lower voltage of 4 volts when the field is negative. We can distinguish 4 main situations:(i)
The magnetic field is negative when entering from the South Pole through the detector. This happens when the detector is faced with the South Pole.(ii)
A value greater than 4 volts output will be obtained when the sensed magnetic field is positive (when the positive pole of the magnet is faced with the North pole).(iii)
The detector will give an output of 4 volts when the field is parallel to the detector. In this case, the lines of the magnetic field do not pass through the detector and therefore there is no magnetic field.(iv)
Finally, when intermediate values are obtained, we know that the wind will be somewhere between the four cardinal points.In our case, we need to define a reference value when the magnetic field is not detected. Therefore, we will subtract 4 to the voltage value that we obtain for each sensor. This will allow us to distinguish where the vane is exactly pointing. These are the possible cases:(i)
If the + pole of the magnet points toN→H2 > 0 V, H1 = 0 V.(ii)
If the + pole of the magnet points toS→H2 > 0 V, H1 = 0 V.(iii)
If the + pole of the magnet points toE→H1 > 0 V, H2 = 0 V.(iv)
If the + pole of the magnet points toW→H1 < 0 V, H2 = 0 V.(v)
When the + pole of the magnet points to intermediatepoints→H1 ≠ 0 V, H2 ≠ 0 V.Figure35 shows the hall sensors diagram, their positions, and the principles of operation.Figure 35
Diagram of operation for the wind direction sensor.In order to calculate the wind direction, we are going to use the operation for calculating the trigonometric tangent of an angle (see the following equation):(11)tan⁡α=H2H1⟶α=tan-1⁡H2H1,where H2 is the voltage recorded by the Hall sensor 2, H1 is the voltage recorded by the Hall sensor 1, and α represents the wind direction, taken as a reference the cardinal point of east. The values of the hall sensors may be positive or negative and the wind direction will be calculated based on these values. Because for opposite angles the value of the tangent calculation is the same, after calculating the magnitude of that angle, the system must know the wind direction, analyzing whether the value of H1 and H2 is positive or negative. The value can be obtained using the settings shown in Figure 36.Figure 36
Angle calculation as a function of the sensors Hall values.After setting the benchmarks and considering the linear behavior of this sensor, we have the following response (see Figure37). Depending on the position of the permanent magnet, the Hall sensors record the voltage values shown in Figure 38.Figure 37
Output voltage as a function of the magnetic field.Figure 38
Output voltage of each sensor as a function the wind direction.


### 5.4. Solar Radiation Sensor

The solar radiation sensor is based on the use of two light-dependent resistors (LDRs). The main reason for using two LDRs is because the solar radiation value will be calculated as the average of the values recorded by each sensor. The processor is responsible for conducting this mathematical calculation. Figure40 shows the circuit diagram. The circuit mounted in the laboratory to test its operation is shown in Figure 41.If we use the LDR placed at the bottom of the voltage divider, it will give us the maximum voltage when the LDR is in total darkness, because it is having the maximum resistance to the current flow. In this situationVout registers the maximum value. If we use the LDR at the top of the voltage divider, the result is the opposite. We have chosen the first configuration. The value of the solar radiation proportional to the detected voltage is given by (12)Vlight=VLDR1+VLDR22=Vcc2·RLDR1RLDR1+R1+RLDR2RLDR2+R2.To test the operation of this circuit, we have developed a small code that allows us to collect values from the sensors (see Algorithm5). Finally, we gathered measurements with this sensor during 2 months. Figure 39 shows the results of the wind direction obtained during this time.Algorithm 5:Program code for the solar radiation sensor.
while(1)
ADCVal_LDR1 = ADCVal(1);
ADCVal_LDR2 = ADCVal(2);
ADCVal_LDR1 = ADCVal_LDR1∗ 2.048/1024;
ADCVal_LDR2 = ADCVal_LDR2∗ 2.048/1024;
Light = (ADCVal_LDR1 + ADCVal_LDR2)/2;
sprintf(buf, “%d”, ADCVal_LDR1);
sprintf(buf, “%d”, ADCVal_LDR2);
sprintf(buf, “%d”, Light);
vTaskDelay(100);Figure 39
Measures of the wind direction in real environments.Figure 40
Circuit diagram for the solar radiation sensor.Figure 41
Circuit used in our test bench.Figure42 shows the voltage values collected during 2 minutes. As we can see, both LDRs offer fairly similar values; however, making their average value, we can decrease the error of the measurement, due to their tolerances, which in some cases may range from ±5% and ±10%.Figure 42
Output voltage of both LDRs and the average value.Finally, the sensor is tested for two months in a real environment. Figure43 shows the results obtained in this test.Figure 43
Results of the solar radiation gathered during 2 months in a real environment.


### 5.5. Rainfall Sensor

LM331 is an integrated converter that can operate using a single source with a quite acceptable accuracy for a frequency range from 1 Hz to 10 kHz. This integrated circuit is designed for both voltage to frequency conversion and frequency to voltage conversion. Figure44 shows the conversion circuit for frequency to voltage conversion.Figure 44
Rainfall sensor and the basic electronic scheme.The input is formed by a high pass filter with a cutoff frequency much higher than the maximum input. It makes the pin 6 to only see breaks in the input waveform and thus a set of positive and negative pulses over theVcc is obtained. Furthermore, the voltage on pin 7 is fixed by the resistive divider and it is approximately (0.87·Vcc). When a negative pulse causes a decrease in the voltage level of pin 6 to the voltage level of pin 7, an internal comparator switches its output to a high state and sets the internal Flip-Flop (FF) to the ON state. In this case the output current is directed to pin 1.When the voltage level of pin 6 is higher than the voltage level of pin 7, the reset becomes zero again but the FF maintains its previous state. While the setting of the FF occurs, a transistor enters in its cut zone andCt begins to charge through Rt. This condition is maintained (during tc) until the voltage on pin 5 reaches 2/3 of Vcc. An instant later, a second internal comparator resets the FF switching it to OFF; then the transistor enters in driving zone and the capacitor is discharged quickly. This causes the comparator to switch back the reset to zero. This state is maintained until the FF is set with the beginning of a new period of the input frequency and the cycle is repeated.A low pass filter placed at the output pin gives as a result a continuousVout level, which is proportional to the input frequency fin. As its datasheet shows, the relationship between the input frequency and the output current is shown in(13)Iaverage=Ipin1·1.1·Rt·Ct·fin.To finish the design of our system, we should define the relation between thefin and the amount of water. In our case, the volume of each pocket is 10 mL. Thus, the equivalence between both magnitudes is given by(14)1Hz⟶10mL  of  water,1L/m2=1mm⟶100Hz.Finally, this system can be used for similar systems where the pockets for water can have bigger/lower size and the amount of rain water and, consequently, the input frequency will depend on it.The rain sensor was tested for two months in a real environment. Figure45 shows the results obtained.Figure 45
Results of rainfall gathered during 2 months in a real environment.


## 5.1. Sensor for Environmental Temperature

The TC1047 is a high precision temperature sensor which presents a linear voltage output proportional to the measured temperature. The main reason to select this component is its easy connection and its accuracy. TC1047 can be feed by a supply voltage between 2.7 V and 4.4 V. The output voltage range for these devices is typically 100 mV at −40°C and 1.75 V at 125°C.This sensor does not need any additional design. When the sensor is fed, the output voltage can be directly connected to our microprocessor (see Figure25). Although the operating range of this sensor is between −40°C and 125°C, our useful operating range is from −10°C to 50°C, because this range is even broader than the worst case in the Mediterranean zone. Figure 26 shows the relationship between the output voltage and the measured temperature and the mathematical expression used to model our output signal.Figure 25
Sensor to measure the ambient temperature.Figure 26
Behavior of TC1047 and its equation.Algorithm4 shows the program code to read the analog input for ambient temperature sensor.Algorithm 4:Program code for reading analog input for ambient temperature sensor.
while(1)
myADCTemp = ADCVal(1);
myADCTemp = (myADCTemp ∗ 2.048)/1024;
myADCTemp = myADCTemp ∗ 0.010 + 0.5;
sprintf(buf, “%d”, myADCValue);
vTaskDelay(100);Finally, we have tested the behavior of this system. The test bench has been performed during 2 months. Figure27 shows the results obtained about the maximum, minimum, and average temperature values of each day. Figure 28 shows the electric circuit for this sensor.Figure 27
Test bench of the ambient temperature sensor.Figure 28
Electrical connections for HIH-4000.


## 5.2. Relative Humidity

HIH-4000 is a high precision humidity sensor which presents a near linear voltage output proportional to the measured relative humidity (RH). This component does not need additional circuits and elements to work. When the sensor is fed, the output voltage can be directly connected to the microprocessor (see Figure27). It is easy to connect and its accuracy is ±5%, for RH from 0% to 59%, and ±8%, for RH from 60% to 100%. The HIH-4000 should be fed by a supply voltage of 5 V. The operating temperature range of this sensor is from −40°C to 85°C. Finally, we should keep in mind that the RH is a parameter which depends on the temperature. For this reason, we should apply the temperature compensation over RH as (6) shows: (8)Vout=Vsuppy·0.0062·RH%+0.16,True  RH%=RH%1.0546-0.00216·t,True  RH%=Vout/Vsuppy-0.16/0.00621.0546-0.00216·t,where Vout is the output voltage as a function of the RH in % and Vsuppy is the voltage needed to feed the circuit (in our case it is 5 V). RH% is the value of RH in %, TrueRH is the RH value, in %, after the temperature compensation, and t is the temperature, expressed in °C.Figure29 shows the relationship between the output voltage and the measured RH in %. Finally, we have tested the behavior of this sensor during 2 months. Figure 30 shows the relative humidity values gathered in this test bench.Figure 29
RH in % as a function of the output voltage compensated in temperature.Figure 30
Relative humidity measured during two months.


## 5.3. Wind Sensor

To measure the wind speed, we use a DC motor as a generator mode, where the rotation speed of the shaft becomes a voltage output which is proportional to that speed. For a proper design, we must consider several details such as the size of the captors wind or the diameter of the circle formed, among others. Figure31 shows the design of our anemometer. We used 3 hemispheres because it is the structure that generates less turbulence. Moreover, we note that a generator does not have a completely linear behavior; the laminated iron core reaches the saturation limit when it reaches a field strength limit. In this situation, the voltage is not proportional to the angular velocity. After reaching the saturation, an increase in the voltage produces very little variation approximating such behavior to a logarithmic behavior.Figure 31
Design of our anemometer.To implement our system, we use a miniature motor capable of generating up to 3 volts when recording a value of 12000 rpm. The engine performance curve is shown in Figure32.Figure 32
Relationship between the output voltage in DC motor and the rotation speed.To express the wind speed, we can do different ways. On one hand, the rpm is a measure of angular velocity, while m/s is a linear velocity. To make this conversion of speeds, we should proceed as follows (see the following equation):(9)ωrpm=frot⁡·60⟶ωrad/s=ωrpm·2π60.Finally, the linear velocity in m/s is expressed as shown in(10)vm/s=ωrad/s·r,where frot is the rotation frequency of anemometer, in Hz, r is the turning radius of the anemometer, ωrad/s is the angular speed in rad/s, and ωrpm is the angular speed, in revolutions per minute (rpm).Given the characteristics of the engine operation and the mathematical expressions, the anemometer was tested during 2 months. The results collected by the sensor are shown in Figure33.Figure 33
Measures of wind speed in a real environment.To measure the wind direction, we need a vane. Our vane is formed by two SS94 A1 Hall sensors manufactured by Honeywell (see Figure34), which are located perpendicularly. Apart from these two sensors, the vane has a permanent magnet on a shaft that rotates according to the wind direction.Figure 34
Sensor hall.Our vane is based on detecting magnetic fields. Each sensor gives a linear output proportional to the number of field lines passing through it, so when there is a linear output with higher value, the detected magnetic field is higher. According to the characteristics of this sensor, it must be fed at least with 6.6 V. If the sensor is fed with 8 V, it obtains an output value of 4 volts per pin, a “0” when it is not applied any magnetic field, and a lower voltage of 4 volts when the field is negative. We can distinguish 4 main situations:(i)
The magnetic field is negative when entering from the South Pole through the detector. This happens when the detector is faced with the South Pole.(ii)
A value greater than 4 volts output will be obtained when the sensed magnetic field is positive (when the positive pole of the magnet is faced with the North pole).(iii)
The detector will give an output of 4 volts when the field is parallel to the detector. In this case, the lines of the magnetic field do not pass through the detector and therefore there is no magnetic field.(iv)
Finally, when intermediate values are obtained, we know that the wind will be somewhere between the four cardinal points.In our case, we need to define a reference value when the magnetic field is not detected. Therefore, we will subtract 4 to the voltage value that we obtain for each sensor. This will allow us to distinguish where the vane is exactly pointing. These are the possible cases:(i)
If the + pole of the magnet points toN→H2 > 0 V, H1 = 0 V.(ii)
If the + pole of the magnet points toS→H2 > 0 V, H1 = 0 V.(iii)
If the + pole of the magnet points toE→H1 > 0 V, H2 = 0 V.(iv)
If the + pole of the magnet points toW→H1 < 0 V, H2 = 0 V.(v)
When the + pole of the magnet points to intermediatepoints→H1 ≠ 0 V, H2 ≠ 0 V.Figure35 shows the hall sensors diagram, their positions, and the principles of operation.Figure 35
Diagram of operation for the wind direction sensor.In order to calculate the wind direction, we are going to use the operation for calculating the trigonometric tangent of an angle (see the following equation):(11)tan⁡α=H2H1⟶α=tan-1⁡H2H1,where H2 is the voltage recorded by the Hall sensor 2, H1 is the voltage recorded by the Hall sensor 1, and α represents the wind direction, taken as a reference the cardinal point of east. The values of the hall sensors may be positive or negative and the wind direction will be calculated based on these values. Because for opposite angles the value of the tangent calculation is the same, after calculating the magnitude of that angle, the system must know the wind direction, analyzing whether the value of H1 and H2 is positive or negative. The value can be obtained using the settings shown in Figure 36.Figure 36
Angle calculation as a function of the sensors Hall values.After setting the benchmarks and considering the linear behavior of this sensor, we have the following response (see Figure37). Depending on the position of the permanent magnet, the Hall sensors record the voltage values shown in Figure 38.Figure 37
Output voltage as a function of the magnetic field.Figure 38
Output voltage of each sensor as a function the wind direction.


## 5.4. Solar Radiation Sensor

The solar radiation sensor is based on the use of two light-dependent resistors (LDRs). The main reason for using two LDRs is because the solar radiation value will be calculated as the average of the values recorded by each sensor. The processor is responsible for conducting this mathematical calculation. Figure40 shows the circuit diagram. The circuit mounted in the laboratory to test its operation is shown in Figure 41.If we use the LDR placed at the bottom of the voltage divider, it will give us the maximum voltage when the LDR is in total darkness, because it is having the maximum resistance to the current flow. In this situationVout registers the maximum value. If we use the LDR at the top of the voltage divider, the result is the opposite. We have chosen the first configuration. The value of the solar radiation proportional to the detected voltage is given by (12)Vlight=VLDR1+VLDR22=Vcc2·RLDR1RLDR1+R1+RLDR2RLDR2+R2.To test the operation of this circuit, we have developed a small code that allows us to collect values from the sensors (see Algorithm5). Finally, we gathered measurements with this sensor during 2 months. Figure 39 shows the results of the wind direction obtained during this time.Algorithm 5:Program code for the solar radiation sensor.
while(1)
ADCVal_LDR1 = ADCVal(1);
ADCVal_LDR2 = ADCVal(2);
ADCVal_LDR1 = ADCVal_LDR1∗ 2.048/1024;
ADCVal_LDR2 = ADCVal_LDR2∗ 2.048/1024;
Light = (ADCVal_LDR1 + ADCVal_LDR2)/2;
sprintf(buf, “%d”, ADCVal_LDR1);
sprintf(buf, “%d”, ADCVal_LDR2);
sprintf(buf, “%d”, Light);
vTaskDelay(100);Figure 39
Measures of the wind direction in real environments.Figure 40
Circuit diagram for the solar radiation sensor.Figure 41
Circuit used in our test bench.Figure42 shows the voltage values collected during 2 minutes. As we can see, both LDRs offer fairly similar values; however, making their average value, we can decrease the error of the measurement, due to their tolerances, which in some cases may range from ±5% and ±10%.Figure 42
Output voltage of both LDRs and the average value.Finally, the sensor is tested for two months in a real environment. Figure43 shows the results obtained in this test.Figure 43
Results of the solar radiation gathered during 2 months in a real environment.


## 5.5. Rainfall Sensor

LM331 is an integrated converter that can operate using a single source with a quite acceptable accuracy for a frequency range from 1 Hz to 10 kHz. This integrated circuit is designed for both voltage to frequency conversion and frequency to voltage conversion. Figure44 shows the conversion circuit for frequency to voltage conversion.Figure 44
Rainfall sensor and the basic electronic scheme.The input is formed by a high pass filter with a cutoff frequency much higher than the maximum input. It makes the pin 6 to only see breaks in the input waveform and thus a set of positive and negative pulses over theVcc is obtained. Furthermore, the voltage on pin 7 is fixed by the resistive divider and it is approximately (0.87·Vcc). When a negative pulse causes a decrease in the voltage level of pin 6 to the voltage level of pin 7, an internal comparator switches its output to a high state and sets the internal Flip-Flop (FF) to the ON state. In this case the output current is directed to pin 1.When the voltage level of pin 6 is higher than the voltage level of pin 7, the reset becomes zero again but the FF maintains its previous state. While the setting of the FF occurs, a transistor enters in its cut zone andCt begins to charge through Rt. This condition is maintained (during tc) until the voltage on pin 5 reaches 2/3 of Vcc. An instant later, a second internal comparator resets the FF switching it to OFF; then the transistor enters in driving zone and the capacitor is discharged quickly. This causes the comparator to switch back the reset to zero. This state is maintained until the FF is set with the beginning of a new period of the input frequency and the cycle is repeated.A low pass filter placed at the output pin gives as a result a continuousVout level, which is proportional to the input frequency fin. As its datasheet shows, the relationship between the input frequency and the output current is shown in(13)Iaverage=Ipin1·1.1·Rt·Ct·fin.To finish the design of our system, we should define the relation between thefin and the amount of water. In our case, the volume of each pocket is 10 mL. Thus, the equivalence between both magnitudes is given by(14)1Hz⟶10mL  of  water,1L/m2=1mm⟶100Hz.Finally, this system can be used for similar systems where the pockets for water can have bigger/lower size and the amount of rain water and, consequently, the input frequency will depend on it.The rain sensor was tested for two months in a real environment. Figure45 shows the results obtained.Figure 45
Results of rainfall gathered during 2 months in a real environment.


## 6. Mobile Platform and Network Performance

In order to connect and visualize the data in real-time, we have developed an Android application which allows the user to connect to a server and see the data. In order to ensure a secure connection, we have implemented a virtual private network (VPN) protected by authorized credentials [45]. This section explains the network protocol that allows a user to connect with the buoy in order to see the values in real-time as well as the test bench performed in terms of network performance and the Android application developed.


### 6.1. Data Acquisition System Based on Android

In order to store the data in a server, we have developed a Java application based on Sockets. The application that shows the activity of the sensors in real-time is developed in Android and it allows the request of data from the mobile devices. The access from computers can be performed through the web site embedded in the FlyPort. This section shows the protocol used to carry out this secure connection and the network performance in both cases.The system consists of a sensor node (Client) located in the buoy, which is connected wirelessly to a data server (this procedure allows connecting more buoys to the system easily). There is also a VNP server which acts as a security system to allow external connections. The data server is responsible for storing the data from the sensors and processing them later. The access to the data server is managed by a VPN server that controls the VPN access. The server monitors all remote access and the requests from any device. In order to see the content of the database, the user should connect to the data server following the process shown in Figure46. The connection from a device is performed by an Android application developed with this goal. Firstly, the user needs to establish a connection through a VPN. The VPN server will check the validity of user credentials and will perform the authentication and connection establishment. After this, the user can connect to the data server to see the data stored or to the buoy to see its status in real-time (both protocols are shown in Figure 46, one after the other consecutively). The connection with the buoy is performed using TCP sockets because it also allows us to save and store data from the sensors and process them for scientific studies. The data input/output is performed throughInputStream andOutputStream objects associated with the Sockets. The server creates aServerSocket with a port number as parameter which can be a number from 1024 to 65534 (the port numbers from 1 to 1023 are reserved for system services such as SSH, SMTP, FTP, mail, www, and telnet) that will be listening for incoming requests. The TCP port used by the server in our system is 8080. We should note that each server must use a different port. When the server is active, it waits for client connections. We use the functionaccept (), which is blocked until a client connects. In that case, the system returns a Socket, which is the connection with the client:Socket AskCliente = AskServer.accept().Figure 46
Protocol to perform a connection with the buoy, using a VPN.In the remote device, the application allows configuring the client IP address (Buoy) and the TCP port used to establish the connection (see Figure47(a)). Our application displays two buttons to start and stop the socket connection. If the connection was successful, a message will confirm that state. Otherwise, the application will display a message saying that the connection has failed. In that moment, we will be able to choose between data from water or data from the weather (see Figure 47(b)). These data are shown in different windows, one for meteorological data (see Figure 47(c)) and water data (see Figure 47(d)).Figure 47
Screenshot of our Android applications to visualize the data from the sensors.
(a)
(b)
(c)
(d)Finally, in order to test the network operation we carried out a test (see Figure48) during 6 minutes. This test has measured the bandwidth consumed when a user accesses to the client through the website of node and through the socket connection. As Figure 47 shows, when the access is performed through the socket connection, the consumed bandwidth has a peak (33 kbps) at the beginning of the test. Once the connection is done the consumed bandwidth decreases down to 3 kbps.Figure 48
Consumed bandwidth.The consumed bandwidth when the user is connected to the website is 100 kbps. In addition, the connection between sockets seems to be faster. As a conclusion, our application presents lower bandwidth consumption than the website hosted in the memory of the node.


## 6.1. Data Acquisition System Based on Android

In order to store the data in a server, we have developed a Java application based on Sockets. The application that shows the activity of the sensors in real-time is developed in Android and it allows the request of data from the mobile devices. The access from computers can be performed through the web site embedded in the FlyPort. This section shows the protocol used to carry out this secure connection and the network performance in both cases.The system consists of a sensor node (Client) located in the buoy, which is connected wirelessly to a data server (this procedure allows connecting more buoys to the system easily). There is also a VNP server which acts as a security system to allow external connections. The data server is responsible for storing the data from the sensors and processing them later. The access to the data server is managed by a VPN server that controls the VPN access. The server monitors all remote access and the requests from any device. In order to see the content of the database, the user should connect to the data server following the process shown in Figure46. The connection from a device is performed by an Android application developed with this goal. Firstly, the user needs to establish a connection through a VPN. The VPN server will check the validity of user credentials and will perform the authentication and connection establishment. After this, the user can connect to the data server to see the data stored or to the buoy to see its status in real-time (both protocols are shown in Figure 46, one after the other consecutively). The connection with the buoy is performed using TCP sockets because it also allows us to save and store data from the sensors and process them for scientific studies. The data input/output is performed throughInputStream andOutputStream objects associated with the Sockets. The server creates aServerSocket with a port number as parameter which can be a number from 1024 to 65534 (the port numbers from 1 to 1023 are reserved for system services such as SSH, SMTP, FTP, mail, www, and telnet) that will be listening for incoming requests. The TCP port used by the server in our system is 8080. We should note that each server must use a different port. When the server is active, it waits for client connections. We use the functionaccept (), which is blocked until a client connects. In that case, the system returns a Socket, which is the connection with the client:Socket AskCliente = AskServer.accept().Figure 46
Protocol to perform a connection with the buoy, using a VPN.In the remote device, the application allows configuring the client IP address (Buoy) and the TCP port used to establish the connection (see Figure47(a)). Our application displays two buttons to start and stop the socket connection. If the connection was successful, a message will confirm that state. Otherwise, the application will display a message saying that the connection has failed. In that moment, we will be able to choose between data from water or data from the weather (see Figure 47(b)). These data are shown in different windows, one for meteorological data (see Figure 47(c)) and water data (see Figure 47(d)).Figure 47
Screenshot of our Android applications to visualize the data from the sensors.
(a)
(b)
(c)
(d)Finally, in order to test the network operation we carried out a test (see Figure48) during 6 minutes. This test has measured the bandwidth consumed when a user accesses to the client through the website of node and through the socket connection. As Figure 47 shows, when the access is performed through the socket connection, the consumed bandwidth has a peak (33 kbps) at the beginning of the test. Once the connection is done the consumed bandwidth decreases down to 3 kbps.Figure 48
Consumed bandwidth.The consumed bandwidth when the user is connected to the website is 100 kbps. In addition, the connection between sockets seems to be faster. As a conclusion, our application presents lower bandwidth consumption than the website hosted in the memory of the node.


## 7. Conclusion and Future Work

Posidonia and seagrasses are some of the most important underwater areas with high ecological value in charge of protecting the coastline from erosion. They also protect the animals and plants living there.In this paper, we have presented an oceanographic multisensor buoy which is able to measure all important parameters that can affect these natural areas. The buoy is based on several low cost sensors which are able to collect data from water and from the weather. The data collected for all sensors are processed using a microcontroller and stored in a database held in a server. The buoy is wirelessly connected with the base station through a wireless a FlyPort module. Finally the individual sensors, the network operation, and mobile application to gather data from buoy are tested in a controlled scenario.After analyzing the operation and performance of our sensors, we are sure that the use of this system could be very useful to protect and prevent several types of damage that can destroy these habitats.The first step of our future work will be the installation of the whole system in a real environment, near Alicante (Spain). We would also like to adapt this system for monitoring and controlling the fish feeding process in marine fish farms in order to improve their sustainability [46]. We will improve the system by creating a bigger network for combining the data of both the multisensor buoy and marine fish farms and apply some algorithms to gather the data [47]. In addition, we would like to apply new techniques for improving the network performance [48], security in transmitted data [49], and its size, by adding an ad hoc network to the buoy [50], as well as some other parameters as decreasing the power consumption [51].



---

*Source: 920168-2015-07-30.xml*