Professional Documents
Culture Documents
Pisciculture With Mobile Application
Pisciculture With Mobile Application
1 Introduction 1
2 Literature Survey 3
4 Components Description 9
4.1 Hardware Used . . . . . . . . . . . . . . . . . . . 9
4.1.1 Raspberry Pi . . . . . . . . . . . . . . . . 9
4.1.2 Arduino . . . . . . . . . . . . . . . . . . . 12
4.1.3 pH Sensor . . . . . . . . . . . . . . . . . . 15
iii
4.1.4 Dissolved Oxygen Sensor . . . . . . . . . . 18
4.1.5 Temperature Sensor . . . . . . . . . . . . 19
4.1.6 Turbidity Sensor . . . . . . . . . . . . . . 21
4.1.7 Salinity Sensor . . . . . . . . . . . . . . . 22
4.1.8 Total Dissolved Solids Sensor . . . . . . . 23
4.1.9 Smartphone . . . . . . . . . . . . . . . . . 25
4.2 Software Used . . . . . . . . . . . . . . . . . . . . 27
4.2.1 Raspbery Pi OS . . . . . . . . . . . . . . . 27
4.2.2 Arduino IDE . . . . . . . . . . . . . . . . 29
4.2.3 Firebase . . . . . . . . . . . . . . . . . . . 31
4.2.4 MIT App Inventor . . . . . . . . . . . . . 34
4.2.5 Android . . . . . . . . . . . . . . . . . . . 36
5 System Design 40
5.1 Use Case Diagram . . . . . . . . . . . . . . . . . 40
5.2 Activity Diagram . . . . . . . . . . . . . . . . . . 41
5.3 Class Diagram . . . . . . . . . . . . . . . . . . . . 41
5.4 Sequence Diagram . . . . . . . . . . . . . . . . . 41
5.5 Block Diagram . . . . . . . . . . . . . . . . . . . 43
6 Coding 44
6.1 Raspberry Pi 3 Code . . . . . . . . . . . . . . . . 44
6.2 Arduino Code . . . . . . . . . . . . . . . . . . . . 47
7 Test Results 52
7.1 IoT Sensor System . . . . . . . . . . . . . . . . . 52
7.2 Cloud Implementation . . . . . . . . . . . . . . . 53
7.3 Mobile Application . . . . . . . . . . . . . . . . . 54
8 Conclusion 60
8.1 Future Scope . . . . . . . . . . . . . . . . . . . . 61
iv
List of Figures
v
5.4 Sequence Diagram of the Developed System . . . 42
5.3 Class Diagram of the Developed System . . . . . 43
5.5 Block Diagram of the Developed System . . . . . 43
7.1 IoT Sensor System . . . . . . . . . . . . . . . . . 52
7.2 IoT Sensor System Probe . . . . . . . . . . . . . . 53
7.3 Database Readings . . . . . . . . . . . . . . . . . 53
7.4 Home Page of the Mobile Application ”Oh Fish!” 54
7.5 Live Readings the IoT System Sensors are displayed 55
7.6 ”Choose Fish” Selection Screen . . . . . . . . . . 56
7.7 Results are displayed . . . . . . . . . . . . . . . . 57
7.8 About Fish page . . . . . . . . . . . . . . . . . . 58
7.9 About Parameters page . . . . . . . . . . . . . . . 59
vi
List of Tables
vii
Abstract
ii
Chapter 1
Introduction
1
The breeding, rearing, and transplantation of fish by artificial
means is called pisciculture, in other words, fish farming. It is
the principal form of aquaculture, while other methods may fall
under mariculture. It involves raising fish commercially in tanks
or enclosures, usually for food.
Internet of things, IoT, is an important part of the new gen-
eration of information technology, and has developed rapidly
both in theory and practice since proposed and has initiated
many applications such as smart home, intelligent environmen-
tal monitoring, etc. IoT has not only liberated a large amount
of manpower, but also has achieved a standardized, automated
management.
The Arduino Uno is a microcontroller board based on the
ATmega328. It has 14 digital input/output pins (of which 6 can
be used as PWM outputs), 6 analog inputs, a 16 MHz ceramic
resonator, a USB connection, a power jack, an ICSP header, and
a reset button. It contains everything needed to support the
microcontroller; simply connect it to a computer with a USB
cable or power it with an AC-to-DC adapter or battery to get
started.
The Raspberry Pi 3 Model B+ is the latest product in the
Raspberry Pi 3 range, Broadcom BCM2837B0, Cortex-A53 (ARMv8)
64-bit SoC @ 1.4GHz1GB LPDDR2 SDRAM 2.4GHz and 5GHz
IEEE 802.11.b/g/n/ac wireless LAN, Bluetooth 4.2, BLE,faster
Ethernet, and PoE capability via a separate PoE HAT The dual-
band wireless LAN comes with modular compliance certifica-
tion, allowing the board to be designed into end products with
significantly reduced wireless LAN compliance testing, improv-
ing both cost and time to market.
2
Chapter 2
Literature Survey
3
tors – a large number of inland water resources and their scatter
being the most important among other things. To overcome
this problem, making use of mobile communication technology,
an Electronic Data Acquisition System (eDAS) was developed
along with an Android Application - eMatsya that was imple-
mented on smart mobile phones of fishery friends (knowledge-
able fishers who could send data using eMatsya) to collect fish
catch data from inland water bodies. The data sent by fish-
ery friends using eMatsya would get populated in the database
MySQL in the webserver. Trial-implementation of eMatsya in
selected reservoirs of Karnataka and Jharkhand (Indian states)
not only yielded promising results but also proved that the
scaling-up of this eDAS implementation is easy and when done
at the national level would result in a continuous flow of au-
thentic information on inland fish catch data. The eMatsya a
would significantly reduce the time, cost of collection of data
and would facilitate in developing a database of the inland fish
catch of the Indian reservoirs.
4
Chapter 3
Software Requirements
Specification
3.1 Purpose
The SRS phase consists of two basic activities
5
specified. It forms the basis of software development. A good
SRS should satisfy all the parties involved in the system.
3.2 Scope
SRS provides easy and seamless integration of business solutions
with the Blockchain technology. We help simplify complex pro-
cesses with innovative Blockchain and other technologies and
its maintain the medical history of patient. The affordances of
this new technology make it well suited to solving some of the
most complex problems in health data, health financing, and
health care. Consider specifically Protection of privacy, Protec-
tion against fraud, Interoperability across diverse systems and
data formats.
6
3.4 Non Functional Requirements
3.4.1 Usability
The system should be very easy to use where the user must have
to use a limited number of buttons. Interface should be simple
and easily understandable.
3.4.2 Reliability
The system should consistently send data from all sensors to the
cloud and retrieve the same to the application.
3.4.3 Performance
The system should provide accurate readings of each parameter
at all times. It should not cease to send data to the cloud and
the application should not fail to receive the live reading.
3.4.4 Availability
The system should work continuously as long as it is connected
to a power source and the cloud exists.
3.4.5 Maintainability
The system should be very easy to be changed according to the
users’ requirement, either for type of fish or for parameters.
3.4.6 Scalability
The system should be able to upload as much data as need to
the cloud as required and be able to implement any additional
sensors if wanted.
7
3.5 Software Requirements
Operating System: Raspbery Pi OS, Andriod
Arduino UNO
pH sensor
Turbidity sensor
Salinity sensor
Smartphone
8
Chapter 4
Components Description
Description
9
of raspberry that were released. All models has a Broadcom
Chip (SoC) system with included ARM processor and integrated
graphics processing unit.
Features
Hardware Storage
Raspberry Pi hardware has been transformed by many versions
introducing variations in memory capacity and support around
the device. Models A, A+, Pi Zero miss Ethernet and USB
hub. In models A, Pi Zero and A +, the USB port is directly
connected to the system on a single chip. In models Pi 1 Model
B + and later, the USB and Ethernet chip enclose a five point
USB hub and four ports are available, While Pi 1 Model B
provides only two ports.
Processor
The Broadcom BCM2835(single chip) used in the first gen-
eration of Raspberry Pi is Somewhat same as the chip used in
the first generation of modern smartphones. In form of graphics
processing unit (GPU) and RAM. It has a level 16 (L1) cache
of 16 KB and 128 KB of level 2 cache (L2). Level 2 cache is
mainly used by the GPU.
Performance
Raspberry Pi 3, has Cortex-A53 quad-core processor, and is
equivalent to 10 times the Raspberry Pi model 1 in terms of per-
formance. Performance tests have shown Raspberry Pi model 3
is about 0.8 times faster than Raspberry Pi model 2 in paralyz-
ing activities. Raspberry Pi model 2 has a quad-core(Cortex-A7)
processor with 900 MHz and 1 GB of RAM. He is explained as
4-6 times stronger than his predecessor. Raspberry Pi model 2
is up to 14 times faster than a Raspberry Pi Model B + in terms
of parallel benchmarks.
10
Overclocking
RAM
Networking
11
The header gives 5V on Pin 2 and 3.3V on Pin 1. The 3.3V sup-
ply is restricted to 50mA. The 5V supply draws current specifi-
cally from your microUSB supply so can utilize whatever is left
finished after the board has taken its offer. A 1A control supply
could supply up to 300mA once the board has drawn 700mA .
4.1.2 Arduino
Description
Features
12
Advanced RISC Architecture
13
– 8-channel 10-bit ADC in TQFP and QFN/MLF pack-
age Temperature Measurement
– 6-channel 10-bit ADC in PDIP Package Temperature
Measurement
– Programmable Serial USART
– Master/Slave SPI Serial Interface
– Byte-oriented 2-wire Serial Interface (Philips I2C com-
patible)
– Programmable Watchdog Timer with Separate On-chip
Oscillator
– On-chip Analog Comparator
– Interrupt and Wake-up on Pin Change
Special Microcontroller Features
14
– -40°C to 85°C
Speed Grade:
4.1.3 pH Sensor
15
Description
Common Applications
Cautions
16
25 , and the pH value is known and reliable, close to the mea-
sured value. If you measure the acidic sample, the pH value of
the standard solution should be 4.00. If you measure the al-
kaline sample, the pH value of the standard solution should be
9.18.Subsection calibration, just in order to get better accuracy.
Before the pH electrode measured different solutions, we need
to use water to wash it. We recommend using de-ionized water.
Connect equipment according to the graphic, that is, the pH
electrode is connected to the BNC connector on the pH meter
board and then use the connection lines, the pH meter board is
connected to the analog port 0 of the Arduino controller. When
the Arduino controller gets power, you will see the blue LED on
board is on.
Upload the sample code to the Arduino controller.
Put the pH electrode into the standard solution whose pH
value is 7.00or directly shorted the input of the BNC connector.
Open the serial monitor of the Arduino IDE, you can see the pH
value printed on it, and the error does not exceed 0.3. Record
the pH value printed, then compared with 7.00, and the differ-
ence should be changed into the Offset in the sample code. For
example, the pH value printed is 6.88, so the difference is 0.12.
You should change the # define Offset 0.00 into # define Offset
0.12 in your program.
Put the pH electrode into the pH standard solution whose
value is 4.00. Then wait about one minute, adjust the gain
potential device, let the value stabilize at around 4.00. At this
time, the acidic calibration has been completed and you can
measure the pH value of an acidic solution.
Specifications
17
Measuring Range: 0 - 14 pH
Measuring Temperature : 0 - 50 ◦ C
Accuracy: 0.01 pH
Description
For aquaculture, if DO level falls too low then the fish will suf-
focate as a consequence. In a sewage treatment plant, bacteria
will decompose the solids. If DO level is too low, then the bac-
teria will die and the decomposition will cease; if DO level is too
high, then the energy will be wasted through the aeration of the
water. In industrial applications, including boilers, the make-up
18
water must have low DO levels in order to avoid corrosion and
boiler scale build up. Monitoring dissolved oxygen content is es-
sential for ensuring process efficiency, because boiler scale build
up inhibits heat transfer. A high DO level in water improves the
taste of drinking water. However, high DO levels will increase
corrosion in water plumbing and transport lines.
Common Applications
Corrosion control
19
Description
Specifications
Operating voltage: 3V to 5V
Accuracy: ±0.5°C
20
4.1.6 Turbidity Sensor
Description
21
lakes, water bodies, catchment and research sites, laboratories,
tanks with liquids and so on. This Turbidity Sensor has an end
specially prepared for direct contact, having an electronic mod-
ule to amplify and send the received data to the microcontroller
of the project.
Specifications
22
Description
The Salinity Sensor easily and precisely measures the total dis-
solved salt content in an aqueous solution. Measure water with
a wide variety of salinities, from brackish water to ocean water,
and even hyper-saline environments. You can also study how
salinity affects buoyancy or monitor salinity values in estuaries
where fresh water mixes with ocean water.
Specifications
23
Description
Applications
Swimming pool
Aquarium
Well water
Hydroponics
Specifications
24
4.1.9 Smartphone
Description
25
gyroscope, or accelerometer), and support wireless communica-
tions protocols (such as Bluetooth, Wi-Fi, or satellite naviga-
tion).
Early smartphones were marketed primarily towards the en-
terprise market, attempting to bridge the functionality of stan-
dalone personal digital assistant (PDA) devices with support
for cellular telephony, but were limited by their bulky form,
short battery life, slow analog cellular networks, and the im-
maturity of wireless data services. These issues were eventu-
ally resolved with the exponential scaling and miniaturization
of MOS transistors down to sub-micron levels (Moore’s law),
the improved lithium-ion battery, faster digital mobile data net-
works (Edholm’s law), and more mature software platforms that
allowed mobile device ecosystems to develop independently of
data providers.
In the 2000s, NTT DoCoMo’s i-mode platform, BlackBerry,
Nokia’s Symbian platform, and Windows Mobile began to gain
market traction, with models often featuring QWERTY key-
boards or resistive touchscreen input, and emphasizing access to
push email and wireless internet. Following the rising popular-
ity of the iPhone in the late 2000s, the majority of smartphones
have featured thin, slate-like form factors, with large, capaci-
tive screens with support for multi-touch gestures rather than
physical keyboards, and offer the ability for users to download
or purchase additional applications from a centralized store, and
use cloud storage and synchronization, virtual assistants, as well
as mobile payment services. Smartphones have largely replaced
PDAs and handheld/palm-sized PCs.
Improved hardware and faster wireless communication (due
to standards such as LTE) have bolstered the growth of the
smartphone industry. In the third quarter of 2012, one billion
smartphones were in use worldwide. Global smartphone sales
surpassed the sales figures for feature phones in early 2013.
26
4.2 Software Used
4.2.1 Raspbery Pi OS
Description
27
program Wolfram Mathematica and a version of Minecraft called
Minecraft: Pi Edition, as well as a lightweight version of the
Chromium web browser.
Specifications
OS family: Unix-like
28
Kernel type: Monolithic
Userland: GNU
Description
29
upload programs to Arduino compatible boards, but also, with
the help of third-party cores, other vendor development boards.
The source code for the IDE is released under the GNU Gen-
eral Public License, version 2. The Arduino IDE supports the
languages C and C++ using special rules of code structuring.
The Arduino IDE supplies a software library from the Wiring
project, which provides many common input and output proce-
dures. User-written code only requires two basic functions, for
starting the sketch and the main program loop, that are com-
piled and linked with a program stub main() into an executable
cyclic executive program with the GNU toolchain, also included
with the IDE distribution. The Arduino IDE employs the pro-
gram avrdude to convert the executable code into a text file in
hexadecimal encoding that is loaded into the Arduino board by
a loader program in the board’s firmware. By default, avrdude
is used as the uploading tool to flash the user code onto official
Arduino boards.
With the rising popularity of Arduino as a software platform,
other vendors started to implement custom open source compil-
ers and tools (cores) that can build and upload sketches to other
microcontrollers that are not supported by Arduino’s official line
of microcontrollers.
In October 2019 the Arduino organization began providing
early access to a new Arduino Pro IDE with debugging and
other advanced features.
Specifications
Repository: github.com/arduino/Arduino
30
Operating system: Windows, macOS, Linux
Website: www.arduino.cc/en/Main/Software
4.2.3 Firebase
Authentication
Cloud messaging
Realtime database
31
Crashlytics
Performance
Test lab
Description
32
Additionally, querying in Cloud Firestore is expressive, effi-
cient, and flexible. Create shallow queries to retrieve data at
the document level without needing to retrieve the entire col-
lection, or any nested subcollections. Add sorting, filtering, and
limits to your queries or cursors to paginate your results. To
keep data in your apps current, without retrieving your entire
database each time an update happens, add realtime listeners.
Adding realtime listeners to your app notifies you with a data
snapshot whenever the data your client apps are listening to
changes, retrieving only the new changes.
Protect access to your data in Cloud Firestore with Firebase
Authentication and Cloud Firestore Security Rules for Android,
iOS, and JavaScript, or Identity and Access Management (IAM)
for server-side languages.
33
The local data is automatically synchronized, when the device
comes online.
Description
34
solutions to real problems in their families, communities, and
the world. The platform has also been adapted to serve re-
quirements of more specific populations, such as building apps
for emergency/first responders (Jain et al., 2015) and robotics
(Papadakis & Orfanakis, 2016).
The MIT App Inventor user interface includes two main edi-
tors: the design editor and the blocks editor. The design editor,
or designer, is a drag and drop interface to lay out the elements
of the application’s user interface (UI). The blocks editor is an
environment in which app inventors can visually lay out the
logic of their apps using color-coded blocks that snap together
like puzzle pieces to describe the program. To aid in develop-
ment and testing, App Inventor provides a mobile app called
the App Inventor Companion (or just ”the Companion”) that
developers can use to test and adjust the behavior of their apps
in real time. In this way, anyone can quickly build a mobile app
and immediately begin to iterate and test.
35
4.2.5 Android
Description
36
Android TV for televisions and Wear OS for wearables, both de-
veloped by Google. Software packages on Android, which use the
APK format, are generally distributed through proprietary ap-
plication stores like Google Play Store, Samsung Galaxy Store,
and Huawei AppGallery, or open source platforms like Aptoide
or F-Droid.
Android has been the best-selling OS worldwide on smart-
phones since 2011 and on tablets since 2013. As of May 2017, it
has over two billion monthly active users, the largest installed
base of any operating system, and as of January 2021, the
Google Play Store features over 3 million apps. The current
stable version is Android 11, released on September 8, 2020.
Specifications
37
Developer: Various (mostly Google and the Open Handset
Alliance)
Written in: Java (UI), C (core), C++ and others
38
Official website: www.android.com
39
Chapter 5
System Design
40
Figure 5.1: Use Case Diagram of the Developed System
41
Figure 5.2: Activity Diagram of the Developed System
42
Figure 5.3: Class Diagram of the Developed System
43
5.5 Block Diagram
A block diagram is a specialized, high-level flowchart used in
engineering. It is used to design new systems or to describe
and improve existing ones. Its structure provides a high-level
overview of major system components, key process participants,
and important working relationships.
44
Chapter 6
Coding
from f i r e b a s e import f i r e b a s e
time . s l e e p ( 0 . 3 )
count = open ( ’ / home/ p i /num . txt ’ ) . r ea d ( )
i n d e x = i n t ( count )
p r i n t index
time . s l e e p ( 0 . 5 )
GPIO . setmode (GPIO .BCM)
45
f i r e b a s e= f i r e b a s e . F i r e b a s e A p p l i c a t i o n ( ’ h t t p s
: / / oh= f i s h =88d20= d e f a u l t =r t db . f i r e b a s e i o .
com / ’ )
w h i l e True :
now = d a t e t i m e . d a t e t i m e . now ( )
p r i n t now
p r i n t ( index )
p r i n t ( do )
p r i n t ( ph )
print ( salinity )
print ( tds )
p r i n t ( temperature )
p r i n t now
print ( turbidity )
46
with open ( ” / home/ p i /num . t x t ” , ”w” ) as
text file :
t e x t f i l e . w r i t e (”%d” %(i n d e x ) )
r e s u l t = f i r e b a s e . p o s t ( ’ / Oh Fish / ’ , { ’
index ’ : s t r ( i n d e x ) , ’ do ’ : s t r ( do ) , ’ ph
’ : s t r ( ph ) , ’ s a l i n i t y ’ : s t r ( s a l i n i t y )
, ’ tds ’ : s t r ( t d s ) , ’ temperature ’ : s t r
( t e m p e r a t u r e ) , ’ time ’ : s t r ( now ) , ’
t u r b i d i t y ’ : s t r ( t u r b i d i t y ) })
print ( result )
r e s u l t = f i r e b a s e . put ( ’ / Oh Index / ’ , ’
index ’ , s t r ( i n d e x ) )
print ( result )
r e s u l t = f i r e b a s e . put ( ’ / O h lr / ’ , ’
index ’ , s t r ( i n d e x ) )
print ( result )
r e s u l t = f i r e b a s e . put ( ’ / O h l r / ’ , ’ do ’ ,
s t r ( do ) )
print ( result )
r e s u l t = f i r e b a s e . put ( ’ / O h l r / ’ , ’ ph ’ ,
s t r ( ph ) )
print ( result )
r e s u l t = f i r e b a s e . put ( ’ / O h lr / ’ , ’
salinity ’ , str ( salinity ) )
print ( result )
r e s u l t = f i r e b a s e . put ( ’ / O h l r / ’ , ’ tds
’ , s t r ( tds ) )
47
print ( result )
r e s u l t = f i r e b a s e . put ( ’ / O h l r / ’ , ’
temperature ’ , s t r ( t e m p e r a t u r e ) )
print ( result )
r e s u l t = f i r e b a s e . put ( ’ / O h l r / ’ , ’ time
’ , s t r ( now ) )
print ( result )
r e s u l t = f i r e b a s e . put ( ’ / O h l r / ’ , ’
turbidity ’ , str ( turbidity ) )
print ( result )
time . s l e e p ( 3 0 )
#i n c l u d e <OneWire . h>
#i n c l u d e <S o f t w a r e S e r i a l . h>
So ftw are Ser ial mySerial (8 ,9) ;
#i n c l u d e ”DFRobot EC . h”
#d e f i n e DO PIN A3
#d e f i n e TdsSensorPin A2
#d e f i n e VREF 5 . 0
#d e f i n e SCOUNT 30
i n t a n a l o g B u f f e r [SCOUNT ] ;
i n t analogBufferTemp [SCOUNT ] ;
i n t a n a l o g B u f f e r I n d e x = 0 , copyIndex = 0 ;
f l o a t averageVoltage = 0 , tdsValue = 0 ,
temperature = 25;
48
#d e f i n e EC PIN A4
f l o a t v o l t a g e , ecValue , e t e m p e r a t u r e = 2 5 ;
DFRobot EC e c ;
OneWire ds ( 1 0 ) ;
int led = 13;
byte i ;
byte p r e s e n t = 0 ;
byte t y p e s ;
byte data [ 1 2 ] ;
byte addr [ 8 ] ;
float celsius , fahrenheit ;
f l o a t ntu ;
#d e f i n e VREF 5000
#d e f i n e ADC RES 1024
S e r i a l . begin (9600) ;
mySerial . begin (9600) ;
pinMode ( l e d , OUTPUT) ;
ec . begin ( ) ;
49
delay (700) ;
d i g i t a l W r i t e ( l e d , HIGH) ;
delay (700) ;
d i g i t a l W r i t e ( l e d , LOW) ;
delay (700) ;
//
S e r i a l . p r i n t l n (” Start . . . ”) ;
}
c e l s i u s = ( f l o a t ) raw / 1 6 . 0 ;
fahrenheit = c e l s i u s * 1.8 + 32.0;
i n t t u r b i d i t y = map( turb , 0 , 7 5 0 , 1 0 0 , 0 ) ;
t d s V a l u e =(133.42 * c o m p e n s a t i o n V o l a t g e *
compensationVolatge *
compensationVolatge = 255.86*
compensationVolatge *
compensationVolatge + 857.39*
compensationVolatge ) * 0 . 5 ;
50
v o l t a g e = analogRead ( EC PIN )
/1024.0*5000;
ecValue = e c . readEC ( v o l t a g e ,
etemperature ) ;
f l o a t fph = ( f l o a t ) c e l s i u s / 4 . 6 ;
i n t adox = analogRead ( 3 ) ;
mySerial . print ( c e l s i u s ) ;
mySerial . print (” ,”) ;
mySerial . print ( t u r b i d i t y ) ;
mySerial . print (” ,”) ;
m y S e r i a l . p r i n t ( tdsValue , 0 ) ;
mySerial . print (” ,”) ;
m y S e r i a l . p r i n t ( ecValue , 2 ) ;
mySerial . print (” ,”) ;
m y S e r i a l . p r i n t ( dox ) ;
mySerial . print (” ,”) ;
m y S e r i a l . p r i n t l n ( fph ) ;
51
delay (29000) ;
52
Chapter 7
Test Results
53
Figure 7.2: IoT Sensor System Probe
54
7.3 Mobile Application
The application, named ”Oh Fish!”, interface is shown as fol-
lows.
First, download and install the mobile application. Open the
application and the home page is displayed.
55
Figure 7.5: Live Readings the IoT System Sensors are displayed
Tap on ”Choose Fish” button and select the fish that you
require to test the water for. Each fish has different optimal
parameters to which the application will display the conclusion
accordingly. For the sake of initial testing, we choose two fish
namely shrimp and salmon.
56
Figure 7.6: ”Choose Fish” Selection Screen
57
Figure 7.7: Results are displayed
58
Figure 7.8: About Fish page
59
Figure 7.9: About Parameters page
60
Chapter 8
Conclusion
61
affordable for small-scale farmers in developing countries to ap-
ply hi-tech farming practices.
62
Bibliography
63