Content uploaded by Aycan Vargün
Author content
All content in this area was uploaded by Aycan Vargün on Nov 05, 2019
Content may be subject to copyright.
Designing An IoT Cloud Solution for Aquaculture
U˘
gur Acar
Netas¸ Telekomunikasyon Anonim S¸irketi
˙
Istanbul, Turkey
uacar@netas.com.tr
Frank Kane
Marine Institute
Galway, Ireland
Frank.Kane@Marine.ie
Panagiotis Vlacheas
WINGS ICT Solutions
Athens, Greece
panvlah@wings-ict-solutions.eu
Vassilis Foteinos
WINGS ICT Solutions
Athens, Greece
vfotein@wings-ict-solutions.eu
Panagiotis Demestichas
WINGS ICT Solutions
Athens, Greece
pdemest@wings-ict-solutions.eu
G¨
uven Y¨
ucet¨
urk
Netas¸ Telekomunikasyon Anonim S¸irketi
˙
Istanbul, Turkey
guveny@netas.com.tr
Ioanna Drigkopoulou
INTRASOFT International
Luxembourg
Ioanna.Drigkopoulou@intrasoft-intl.com
Aycan Varg¨
un
Netas¸ Telekomunikasyon Anonim S¸irketi
˙
Istanbul, Turkey
avargun@netas.com.tr
Abstract—Farming has been changing through multiple
technological transformations in recent years, in parallel with
the earth’s growing population and demands. The Internet of
Things (IoT) provides very remarkable technological innova-
tions on farming by bringing a new paradigm. Aquaculture
in fresh or salt water is a rapidly growing food sector to
produce aquatic plants or animals. IoT can also produce
encouraging solutions for the problems in the implementation
and maintenance of aquaculture systems. In this paper, we
present a use case with an IoT cloud solution after summarizing
the potential technologies and tools to use in accordance with
the use case problem as identified in the Horizon2020 Project,
the intelligent management system for integrated multi-trophic
aquaculture (IMPAQT) in which we have been participating
in.
Keywords-internet of things; smart farm; cloud; gateway
I. INTRODUCTION
The internet of things is the network in which devices
working for different purposes are connected to exchange
data by extending internet connectivity from standard com-
puters to vehicles, electronics, software, sensors, actuators
etc. Home devices are also being controlled remotely by
the IoT technology [1]. The class of devices in an IoT
network can be named as consumer, commercial, industrial,
and infrastructure spaces [2]. IoT can also help us solve
industrial problems by bringing new solutions with different
approaches especially in manufacturing and agriculture. Op-
erating procedures in agriculture can now be automated can
be automated by digital control systems with the required
security and safety to be provisioned [5]. IoT can be used in
agriculture to automate the tools to collect different types of
data such as temperature, humidity, soil or water ingredients
etc. [6]. This data can be used to analyze and make predic-
tions to improve the product quality by minimizing the risk
and the waste [7].
An IoT network has three fundamental components such
as devices, gateways and the cloud [8]. Devices are sensors
and actuators. Gateways are utilized to connect devices
to the cloud via technologies like Zigbee, LoRa, Modbus
[8]. Through this connection, it can process data, provide
the connection security and it can make edge analytics
or fog computing [8]. The cloud may include applications
in the form of microservices architecture, databases and
their management system as a backend data storage system
[8] [9]. Based on this architecture schema, we present an
end to end solution by discussing proposed technologies in
IMPAQT project [10].
Aquaculture is the farming activity to produce fishes,
water plants and different aquatic organisms. As EU is
the one of the largest traders of aquaculture products in
the world, the amount of the trade flow with non-EU
countries and exchanges of export among EU members is
EUR 57 billion [12]. Salmon as the most produced and sold
product in the EU market has %14 volume and %22 value
terms [12]. In addition to salmon, the total value of EU
aquaculture production of Gilt-head seabream and European
seabass also is more than 20% [12]. Intelligent management
system for integrated multi-trophic aquaculture (IMPAQT)
is a Horizon2020 Project aiming to present a promising
solution for the sustainable development of aquaculture. The
solution should provide a new perspective to EU Industry by
its environmentally friendly and highly efficient approach.
Integrated multi-torphic aquaculture (IMTA) is a concept in
which output such as byproduct and waste from one species
is the input for another species. IMTA allows to sustain
aquaculture like an environmentally compatible ecosystem
by aiming economic stability [11]. It can be managed by
IMPAQT’s intelligent management platform by end of the
IMPAQT project.
An IoT project has three fundamental parts such as
devices, gateways and the cloud mentioned previously. To
that respect, this paper aims to introduce and analyze these
cloud components, applied in project use case. A solution for
a use case will be presented by selecting proper technologies
which are proposed for components on the cloud due to the
IMPAQT project. The contributions brought by this paper
are
•to bring a logical schema for IoT cloud architecture in
which the fundamental components are defined,
•to propose the most recent technologies for IoT cloud
architecture component after seperating IoT cloud ar-
chitecture into layers.
The layout of this paper is that in section 2, we present
a use case about fish farming. In section 3, we present the
logical diagram of the cloud architecture in which the use
case implemented. In section 4, we present new technologies
and standards. We conclude this paper with conclusions with
section 5.
II. US E CASE
Achieving the optimal growth from a fed farm animal is
a key priority for any farmer, and likewise, is a key con-
sideration for an aquaculture producer. One of the primary
concerns is to get the maximum benefit of the food fed to
the animals to ensure optimal use of resources, maximise
growth, minimise waste and minimise environmental impact.
Food represents the bulk of the total cost of marine farm
exploitation, so it is desirable to reduce wastage. The fish
farmer is keen to know the status of the environment and
the condition of the fish prior to beginning feeding to ensure
appropriate and optimal feeding amounts and times.
The status of the environment in which the animals are
living influences and affects the welfare of the animals,
their behaviour and appetite. Environmental conditions such
as water temperature, dissolved oxygen, water turbidity,
brightness, current speed, weather conditions, etc. all have
an influence on how receptive to food the fish will be. The
health status, their well-being and any stressors of the fish
that affect the appetite of the animal, are also important for
the farmer to be aware of. The farmer must know the number
and biomass of the stock in the pen that is to be fed.
The system must also take account of the fish welfare pa-
rameters and put values on these, to quantify to the farmers
the state of welfare of the fish. These include parameters
based on the fish behaviour and stress indicator from the
stock of fish. These parameters must be reported in real time
and used to access the acceptability of the fish to being
fed. They can be used to calculate the suggested feeding
quantities and rate of feeding of the stock, to ensure the fish
are fed to satiation while still minimizing any wastage. The
system must inform the farmer on the optimal quantity of
food to give the stock of fish, the optimal feeding duration
and the best times to provide the food. It must consider day-
light hours and brightness in suggesting feeding times. The
system should provide a warning to the farmer if there is a
combination of parameters that is unsatisfactory and is likely
to cause sub-optimal feeding, or to result in a sub-optimal
environment for the fish, causing stress to the stock of fish.
The farmer should be alerted if any individual parameter, or
any combination of parameters, deviates from the expected
in a way that is likely to stress the stock of fish, so that
the farmer can be aware of the risk and consider mitigation
measures.
III. LOGICAL DIAG RAM
As we mentioned before, an IoT contains three main parts
such as devices, gateways and the cloud. In our use case, the
main source of input data which will flow through the system
is coming from sensors to be handled on the cloud. A logical
aspect of the cloud is illustrated in Figure 1, presenting the
components and their connections. Logical diagram includes
two main parts such as Integrated Management System
(IMS) and Data Management System. Each component has
parts to classify the tasks that they will fulfil. Briefly, IMS
Applications are responsible for the user and the device
management. In addition, it includes IMS user interface. In
Data Management System, the data from different sources
such as sensors, satellites and the crowd are handled. IMS
Smart Services are using these data for their management
or analytical purposes.
A. Data Management System
The data management layer handles, stores and delivers
data to IMS and application layers. In the data brokering
sublayer, the data is acquired by consumer applications by
using various protocols. In the data handling sublayer, the
data from different sources is consumed according to their
purposes by API’s and delivered to related component such
as IMS applications Layer and IMS smart services layer.
The data storing sublayer contains databases and data storing
tools with their API’s. In this sublayer, data is divided and
located according to their specific purposes.
The sensor data is handled by the data brokering sublayer
when it arrived to the cloud. For each type of data, topics
are created to be published to subscribers. The data handling
sublayer uses these topics to store data to proper databases
in the data storing sublayer.
B. IMS Applications
This layer is purposed to manage the users and the devices
of the platform by ensuring the security of user/device
access and the security in the integration of components.
At the user management sublayer, the user access to the
platform and their registrations are managed. At the device
management sublayer, the devices that are connected to the
Figure 1. Logical Diagram
platform such as gateways, sensors, cameras, actuators are
managed. At the user interface sublayer, there are different
types of interfaces which interact with end users such as
monitoring visualization interfaces and email/SMS alarming
system activated by alarms etc. The user interface sublayer
takes the output generated by the analytics sublayer and
presents it to end-users or actuators or alarm systems. At
the security sublayer, the access of users (such as admins,
end users etc.) and devices which are connected directly
to the system is handled in addition to the security of the
integration between the components. As a concrete example,
when a broker is connected to the system, the authentication
for its REST API is controlled here.
Integrated management system (IMS) requests and tracks
user, device and security data from the data brokering
sublayer to take some actions like adding, removing or
updating.
Security
Security in an IoT solution is an essential requirement.
IoT devices, the network, and micro-services running on
the cloud must be secured to ensure end-to-end security
[13]. Even, naively forgetting to change default passwords
or having them hardcoded might cause big problems. There
are many security frameworks for IoT, however, there is no
single standard accepted by the IoT industry. The security
must be a whole solution from manufacturer to end-user
and it varies from domains to domains. For high security
demanding applications starting from semiconductor compa-
nies, the hardware must be built in a way that IoT devices
are tamper-proof, receives patches and updates, and allow
dynamic testing. Afterward, the developers should keep in
mind the security starting from the design phase till to the
end. Security should be enabled by default.
In an IoT project, each node (sensor, device, user) should
have an identity and there should be a central platform
to manage authentications and role-based authorizations.
Therefore, every node can be tracked on how it behaves
and how it interacts with other devices using NAC (network
access control). The data at rest and in transition should be
secured by strong encryption algorithms. For network secu-
rity, disabling port forwarding and never opening an unused
port, using firewalls, blocking unauthorized IP addresses are
just the first steps to ensure port and network security.
Finally, we are using micro-service architecture for IM-
PAQT on the cloud. We are using two widely used API
security standards [14]:
1. OAuth2 is an access authorization protocol. The client
authenticates with the authorization server (API in our case)
and gets an token”. The token has a reference to user
information which only can be retrieved by authorization
API and it is safe to use even on the internet.
2. Open ID Connect behaves like AOuth2 but it is not safe
to use on the internet since it contains information about
the user. In addition to the access token authorization server
issues an ID token which contains information about the
user. The tokens often implemented as JWT (Jason Web
token) and signed by the authorization server.
The key steps implementing a solution for client-
microservice communication securely are in Figure 2:
1) Authorization server authenticates a client using
OAuth and OpenID Connect who has right to connect
that microservices and sends the acces token to API
gateway along with the request.
2) API gateway sends the access token to the server and
receive back the JWT and then passes this file with
request to the micro-services.
3) JWT has the necessary information to store user ses-
sion so that the client and micro-services communicate
securely.
C. IMS Smart Services
IMS smart services communicate both with end users
and the other two main layers (IMS applications layer
and data management layer). In analytics sublayer, decision
and assessment algorithms will run by using processed and
filtered data from Data Management System.
The main scope of the application layer is to provide
smart and optimal services to give the opportunity to users to
take optimized operational decisions regarding farm manage-
ment. The IMS smart services layer will contain functional-
ities such as data and predictive analytics to enable several
operational capabilities; one of these capabilities is water
quality management related to complex event processing and
predictive capabilities for the identification of quality prob-
lems in water. Another decision making aspect is based on a
control system, which takes into account cost functions and
decides either to activate actuators (if exist in the production
sites) or to issue an alarm notification to the operator of the
farm through the alert system, either through dashboards
or through a smartphone application. Other functionalities
include behavior monitoring to deal with monitoring and
mapping of behavioral traits in fish; disease diagnosis that
performs early identification of warning signs that could
indicate diseases; Intelligent feeding, to provide precised
feeding, while feed waste management to minimize the
production of waste. Furthermore, IMS comprises analytics
for fast and accurate screening of food quality and safety,
specialized to the kind of sensor used. The IMS would also
provide an interface to the IMTA model, which comprises
ecosystem scale modelling of both the whole aquaculture
system (ecosystem scale hydrodynamics, coupled to water
quality processes, ecological processes) and processes within
farms (e.g. to optimize the design in terms of stocking
densities and configuration).
Thus, the application layer is in communication with
the data management system. Data coming from sensors,
satellites or crowd-sourcing are requested by the application
layer. The analytics sublayer creates outputs by using the
use case input in its decision mechanism which has complex
event processing and predictive capabilities.
Message Queuing Telemetry Transport (MQTT) is an ISO
standard using publish/subscribe schema on application layer
over TCP/IP although a variant of MQTT (MQTT-SN) is
used over UDP [15], [16]. Thanks to the broker (clients’
communication server), publisher clients can publish data
to subscriber clients. Publishers use topics to define their
communication channels. Subscribers subscribe to these
topics to get published data. Clients cannot communicate to
each other directly. Instead, communications are managed
only by the broker. Clients can communicate to each other
in one-to-one, one-to-many, many-to-many format [17]. For
the sensor data at the data brokering sublayer, MQTT can
be used to publish and subscribe after creating related topics
Authorization
Server
API Gateway
User
Store
Rest API Analytics
Rest API Data Storage
Clients
JWT
JWT
Access
Token
Access
Token
Figure 2. Micro-service security of IMPAQT [14]
as well as The File Transfer Protocol (FTP) can be used
to deliver large data to data management layer. As its
name defines, FTP is a file transferring protocol based on
client-server model to share different types and size of data
[18]. Some devices may not be able to support MQTT. In
this case Advanced Message Queuing Protocol (AMQP) or
Hypertext Transfer Protocol (HTTP) can be used. AMQP
is an application layer protocol which enables message-
oriented communication including queuing, routing with
message-delivery authentication by guaranteeing encryption
[19]. HTTP is also an application layer protocol which is
using hyperlinks to tie resources that the user can easily
access [20].
In data management layer, Queuing tools are simple data
brokers to publish/subscribe data. For each type of data, a
topic can be created and then it can be sent to databases
by using queueing tools such as brokers. RabbitMQ, Kafka,
Orion and ActiveMQ are some examples. Kafka is a good
solution at big scaled messaging and streaming applications
because it is like a persistent buffer on you disk to en-
able you to re-read messages. But it doesn’t guarantee the
messages to be delivered [21]. RabbitMQ is also a smart
broker like Kafka, but it guarantees the messages to deliver
and it manages the message states thoroughly. However, it
doesn’t allow filtering or updating the data in queues directly
[21]. Orion Context Broker is a part of FIWARE platform
implementing an NGSIv2 server. It allows to create context
elements and manage them by updates, queries, registrations
[22]. ActiveMQ is a message broker providing enterprise
features supporting the communication from more than one
client or server [23].
To store data, relational databases such as PostgreSQL or
non-relational databases such as MongoDB, InfluxDB are
some candidates. Relational databases are storing data in
tables and rows with their relations [24] while non-relational
databases are including a mechanism to store and retrieve
data like collections of JSON documents [25]. The data is
not nested or related strictly. For example, raw sensor data
coming from IADAS are not related to each other. They
can be stored on a non-relational database like InfluxDB.
However, if some devices are related to some users in an
IoT system, it is better to use a relational database to store
them with their relations.
HTTP is the most common standard application protocol
for component communication. From the data management
system to the application layer (IMS/Analytics/User Inter-
face), it can be used by REST APIs’ of component tools.
For IMS applications layer as the main part of the platform,
FIWARE [26], ION [27], Kapua [28], Wings Cataract [29],
AquaTracker [30] are some suggested platforms to manage
users and devices.
As an open source, Grafana and its API are a widely
used tools to monitor data from different sources such as
PostgreSQL, MongoDB, MySQL, InfluxDB. Grafana is pre-
senting some plugins to display data which have coordinates
on the world map [31].
IV. CONCLUSION
IoT technology has become a highly adaptive solution
to different use cases ranging from smart cities to smart
aqua farming industry, providing us the ability to construct
advanced solutions that make life easier. The enhancement in
the IoT and the cloud technologies give rise to new possibili-
ties of building a brand-new farming approach. In this paper,
we present an IoT cloud integration schema together with the
most recent technologies and widely used tool. By picking
the right technology and applying it in an IoT system, we can
construct our cloud in a more concrete and easier manner.
In our future works, the analytics sublayer and the IMS user
interface layer can be improved.
ACKNOWLEDGMENT
This work has been realized in context of the IMPAQT
project. This project has received funding from the European
Union’s Horizon 2020 research and innovation programme
under grant agreement No 774109.
REFERENCES
[1] E. Brown, Who Needs the Internet of Things?,
https://www.linux.com/news/who-needs-internet-things,
Accessed on the 5th Apr, 2019.
[2] C.Perera et al., The Emerging Internet of Things Marketplace
From an Industrial Perspective: A Survey, IEEE Transactions
on Emerging Topics in Computing, 3 (4): 585–59, 2015.
[3] A. Ometov, Facilitating the Delegation of Use for Private
Devices in the Era of the Internet of Wearable Things, IEEE
Internet of Things Journal, 4 (4): 843–854, 2017.
[4] M. Ersue et al., Management of Networks with
Constrained Devices: Use Cases, IETF Internet Draft,
https://tools.ietf.org/html/draft-ietf-opsawg-coman-use-cases-
01, 2014, Accessed on the the 5th Apr, 2019.
[5] J. Gubbi et al., Internet of Things (IoT): A vision, archi-
tectural elements, and future directions, Future Generation
Computer Systems. 29 (7): 2013.
[6] A. Meola et al., Why IoT, big data & smart farming are the fu-
ture of agriculture, https://www.businessinsider.com/internet-
of-things-smart-agriculture-2016-10, Business Insider, Ac-
cessed on the the 5th Apr, 2019.
[7] Zhang, Q., Precision Agriculture Technology for Crop Farm-
ing, CRC Press. pp. 249–58, 2015.
[8] A. Traukina et al., Industrial Internet Application Devel-
opment: Simplify IIoT development using the elasticity of
Public Cloud and Native Cloud Services (1st ed.), Packt
Publishing, 2018.
[9] P. Vlacheas et al., ”Enabling smart cities through a cognitive
management framework for the Internet of Things”, IEEE
Communications Magazine, vol.51, no.6, 2013.
[10] Impaqt Project, https://impaqtproject.eu/, Accessed on the 5th
Apr, 2019.
[11] C. Thierry, Aquaculture, Integrated Multi-Trophic (IMTA),
Marine Fisheries Enhancement: Coming of Age in the New
Millennium, pp.542-564, 10.1007/978-1-4614-5797-8 173,
2013.
[12] Eumofa, THE EU FISH MARKET 2018 Edition,
http://www.eumofa.eu/documents/20178/132648/EN
The+EU+fish+market+2018.pdf, Accessed on the 5th
Apr, 2019.
[13] M. Rouse, IoT security (internet of things security),
https://internetofthingsagenda.techtarget.com/definition/IoT-
security-Internet-of-Things-security Accessed on the the 5th
Apr, 2019.
[14] Kasun Indrasiri, Microservices in Practice,
http://kasunpanorama.blogspot.com/2015/11/microservices-
in-practice.html Accessed on the 5th Apr, 2019.
[15] OASIS, MQTT 3.1.1 specification, http://docs.oasis-
open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.pdf, Accessed
on the 5th Apr, 2019.
[16] ISO/IEC 20922:2016 Information technology – Message
Queuing Telemetry Transport (MQTT) v3.1.1, iso.org. Inter-
national Organization for Standardization. June 15, 2016.
[17] Eclipse, MQTT and CoAP, IoT Pro-
tocols, /eclipse.org/community/eclipse
newsletter/2014/february/article2.php, Accessed on the
5th Apr, 2019.
[18] B.A. Forouzan, TCP/IP: Protocol Suite (1st ed.), Tata
McGraw-Hill Publishing Company Limited, New Delhi, In-
dia, 2000.
[19] J. O’Hara, Toward a commodity enterprise middleware, ACM
Queue. 5 (4): 48–55, 2007.
[20] R.T. Fielding et al., Hypertext Transfer Protocol – HTTP/1.1.
IETF, Internet RFCs, 2000.
[21] A.Kızılda˘
g, Kafka vs. RabbitMQ,
https://medium.com/kariyertech/kafka-vs-rabbitmq-
abe52d5eee34, Accessed on the the 5th Apr, 2019.
[22] Fiware Orion, Fiware NGSI
APIv2 Walkthrough, https://fiware-
orion.readthedocs.io/en/master/user/walkthrough apiv2/index.html,
Accessed on the 5th Apr, 2019.
[23] Apache ActiveMQ, http://activemq.apache.org/cross-
language-clients.html, Accessed on the 5th Apr, 2019.
[24] E.F. Codd, A Relational Model of Data for Large Shared Data
Banks, Communications of the ACM. 13 (6): 377–387, 1970.
[25] C. Strauch, NoSQL Databases, Stuttgart: Hochschule der Me-
dien, https://www.christof-strauch.de/nosqldbs.pdf, Accessed
on the 5th Apr, 2019.
[26] Fiware, ”What is Fiware?”, https://www.fiware.org/about-us/
Accessed on the the 5th Apr, 2019.
[27] Netas¸ Telekomunikasyon Anonim S¸irketi, ”Nesnelerin
gelece˘
gine hazır olun”, http://www.netas.com.tr/inovasyon-
ve-urunler/ion-iot-platform/ Accessed on the the 5th Apr,
2019.
[28] Eurotech and Redhat, ”Eclipse Kapua”,
https://www.eclipse.org/kapua/ Accessed on the the 5th
Apr, 2019.
[29] Wings ICT Solutions, ”Cataract: Smart Connected Water
Solution”, https://wings-ict-solutions.eu/news/cataract-smart-
connected-water-solution Accessed on the the 5th Apr, 2019.
[30] Aquatracker, https://www.aquatracker.com/ Accessed on the
the 5th Apr, 2019.
[31] Grafana, https://grafana.com/grafana, Accessed on the 5th
Apr, 2019.