=Paper= {{Paper |id=Vol-2030/HAICTA_2017_paper92 |storemode=property |title=Low Cost Computer Platforms for Environmental Monitoring The Case of the AgroComp Project |pdfUrl=https://ceur-ws.org/Vol-2030/HAICTA_2017_paper92.pdf |volume=Vol-2030 |authors=Konstantinos Ioannou,Dimitrios Emmanouloudis,Kleanthis Xenitidis |dblpUrl=https://dblp.org/rec/conf/haicta/IoannouEX17 }} ==Low Cost Computer Platforms for Environmental Monitoring The Case of the AgroComp Project== https://ceur-ws.org/Vol-2030/HAICTA_2017_paper92.pdf
     Low Cost Computer Platforms for Environmental
                       Monitoring
           The case of the AgroComp Project

      Ioannou Konstantinos1, Emmanouloudis Dimitrios2, Xenitidis Kleanthis3

1
  Researcher, Eastern Macedonia Institute of Technology, Department of Forestry and Natural
 Environment, Drama, 1st Km Drama Mikrochoriou, email ioannou.konstantinos@gmail.com
 2
   Professor, Eastern Macedonia Institute of Technology, Department of Forestry and Natural
        Environment, Drama, 1st Km Drama Mikrochoriou, email demmano@teiemt.gr
3
   Mathematician, MSc in Mathematics (Analysis-Algebra-Geometry), Drama, Kerasountos 5,
                           email kleanthis.xenitidis@gmail.com




       Abstract. Nowadays human activities and the uncontrolled exploitation of
       natural resources take place all over the planet. The resulting environmental
       degradation is evident in a variety of forms (global warming, extreme weather
       events, atmospheric pollution etc.). As a result, today it is more important than
       ever, for scientists to gather and analyze environmental data using various
       methods in order to solve environmental problems. A new and innovative data
       collection methodology is based in the creation and deployment of
       computerized networks dedicated in Environmental monitoring and protection.
       These computer networks can monitor, locate and inform scientists
       continuously regarding a variety of parameters automatically correlate them
       and provide a solid background for a better understanding of the causes of
       environmental degradation. This paper aims at presenting a series of computer
       platforms which have the capability to network, connect with a variety of
       sensor arrays and can be reprogrammed in order to fulfill new or evolving
       needs. The usage of commercial hardware and software under the GNU/GPL
       license for their implementation makes these platforms reliable and low cost.

       Keywords: Sensors, Environmental Monitoring, computer platform.



1 Introduction

During the last 20 years there is a constant increase in environmental awareness. This
is mainly caused because societies during these years have witnessed a series of
extreme weather events (rains, drought, extreme temperatures, etc.). These
phenomena have triggered other secondary disasters like forest fires, crop




                                             812
destruction, floods, etc. (Harvey, 2016; Hammill et al, 2016; Kumar, 2016; Ioannou
et al, 2010).
    A lot of solutions have been suggested for environmental monitoring however all
these solutions are costly and additionally lack the capability to monitor large and
remote areas. For example, Ciabatta et al, use microwave observations for daily
precipitation estimation, Wafi et al, 2015 use image processing in order to create a
disaster surveillance system, Zhang, 2015 uses a combination of sensors and
software for creating an early warning system. Additionally, the economic crisis has
reduced the budget for the environment, leading to services with limited capabilities
both in human resources and in hardware (Cruz-Castro and Sanz-Menendez, 2016,
Burns and Tobin, 2016).
    This paper aims at presenting three very popular computer platforms that can be
used for environmental monitoring. These platforms (and their variations, let’s call
them flavors) can be purchased at a very low cost, use an Operating System and
Programming Languages compatible with the GNU/GPL License and include input
and output ports that can be easily reprogrammed by scientists.
    Additionally, they also include build in network capabilities, allowing end users
to easily create and deploy computer networks on remote areas. Finally, we will
create a comparison table comparing the most interesting features (processor
architecture, RAM, speed, etc.).



2 Material and Methods


2.1 The Arduino platform

Arduino is an open-source platform used for building electronics projects. Arduino
consists of both a physical programmable circuit board (often referred to as a
microcontroller) and a piece of software, or IDE (Integrated Development
Environment) that runs on your computer, used to write and upload computer code to
the physical board.
    The Arduino platform has become quite popular with people just starting out with
electronics. Unlike most previous programmable circuit boards, the Arduino does not
need a programmer in order to load new code onto the board. Additionally, the
Arduino IDE uses a simplified version of C++, making it easier to learn to program.
Finally, Arduino provides a standard form factor that breaks out the functions of the
micro-controller into a more accessible package.
    Arduino boards came in many different versions and include an Atmel CPU with
8, 16 or 32-bit architectures. The boards are not capable of running an operating
system, therefore a computer is needed for programming in C++. Arduino uses




                                        813
single-row pins or female headers for facilitating connections for programming and
incorporation into other circuits. (www.arduino.cc)




Fig. 1. Arduino Uno I/O pinout (www.arduino.cc)




2.2 The Raspberry Platform (wiki)

The Raspberry Pi is a series of low cost single board computers developed in the
United Kingdom by the Raspberry Pi foundation as a tool for teaching basic
computer science in schools and developing countries. The initial model didn’t
incorporate a network port. The first model to do so was Raspberry Pi Model B,
which was released in 2012 and was capable of networking. All Later models
however included wired and many wireless network capabilities. The entire range of
models include is based on ARM compatible Central Processing Unit (CPU), with
different architectures starting from an ARMv6 32bit architecture for the initial




                                          814
model to an ARM Cortex A53 64-bit quad core CPU architecture for the most recent
model (ARM processors).
    All Raspberry Pi boards are capable of using Linux as Operating System. The
Raspberry Pi foundation has created a special Linux Distribution called Raspbian,
which is available for download free of charge from their site.
Another alternative Operating System for the platform which is also distributed free
of charge is a special version of Microsoft Windows called Windows 10 Internet of
thing Core Edition.
    All Raspberry versions include a General Purpose Input Output (GPIO) bus.
General-purpose input/output (GPIO) is a generic pin on an integrated circuit or
computer board whose behavior including whether it is an input or output pin—is
controllable by the user at run time.




Fig. 2. The initial GPIO pinout of Raspberry Pi Model A (Raspberry Pi Foundation)


The number of pins initially was 20 but increased in later version to. The board can
supply power (3.3 Volts and 5 Volts) through the pins connect to external devices,
etc.

2.3 Pine A64 Platform (pine64.org)

Pine 64 is a family of single board computers initially funded through kicks starter
crowd funding site. The platform is powered from a Quad Core ARM Cortex A53
64-bit CPU similar to the one found in Raspberry Pi. The operating system used is
also compatible with the GNU/GPL License and is based on Linux Kernel. Microsoft
has also released a Windows IoT version of its operating system. The platform also




                                           815
supports a Raspberry Pi 2 compatible bus, a platform specific Euler Bus and many
other peripheral devices interface for makers to integrate with sensors and devices.
Finally, the platform also includes wired and wireless networking capabilities.



3 Results

All three platforms share common characteristics; however, they are also
characterized from fundamental differences. We will try to create a comparison table
depicting their similarities and most striking differences. Table 1 contains the
detailed information regarding all Raspberry Pi platforms currently available, the
four more typical Arduino boards and the Pine A64+ boards which are considered as
a more advanced version of the Raspberry boards at a fraction of the Raspberry cost.




                                        816
          Table 1. Detailed Platform Comparison

                                                                      Lan                         Operating
                     CPU          Architecture        Memory                   WiFi     GPIO
                                                                      Ports                        System

                700 MHz single-
                                                                                                   Linux,
Raspberry Pi   core ARM1176JZ     ARMv6Z (32      256 MB (shared                        8× GPI
                                                                       N/A      N/A              windows 10
  Model A            F-S             -bit)          with GPU)                             O
                                                                                                    IoT
                                                   512 MB (shared
                700 MHz single-                   with GPU) as of 4   10/100
                                                                                                   Linux,
Raspberry Pi   core ARM1176JZ     ARMv6Z (32      May 2016. Older     Mbit/s            8× GPI
                                                                                N/A              windows 10
  Model B            F-S             -bit)           boards had       Ethern              O
                                                                                                    IoT
                                                   256 MB (shared        et
                                                     with GPU)
                                                                      10/100
                 900 MHz 32-                                                                       Linux,
Raspberry Pi                       ARMv7-         1 GB (shared with   Mbit/s            17× G
                 bit quad-core                                                  N/A              windows 10
 Model B2                          A(32-bit)           GPU)           Ethern             PIO
                ARM Cortex-A7                                                                       IoT
                                                                         et
                                                                      10/100
                1.2 GHz 64-bit                                                                     Linux,
Raspberry Pi                        ARMv8-        1 GB (shared with   Mbit/s   802,11   17× G
                quad-core ARM                                                                    windows 10
 Model B3                         A (64/32-bit)        GPU)           Ethern     n       PIO
                  Cortex-A53                                                                        IoT
                                                                        et,
                 1 GHz single-                                                                     Linux,
Raspberry Pi                      ARMv6Z (32      512 MB (shared                        40× G
               core ARM1176JZ                                          N/A      N/A              windows 10
   Zero                              -bit)          with GPU)                            PIO
                     F-S                                                                            IoT
Arduino Uno      ATmega328P           8bit              2KB            N/A      N/A      14*1        6*2
  Arduino
                 Atmega32U4           8bit             2,5KB           N/A      N/A      20*1        7*2
 Leonardo
  Arduino
                 ATmega32U4           8bit             2,5KB           N/A      N/A      20*1        7*2
   Micro
                 ATmega328
Arduino Nano     (ATmega168           8bit             0,5KB           N/A      N/A      14*1        6*2
                  before v3.0
                                                                                        Euler
                                                                                        Bus
                1.152 GHz quad-
                                                                                        Expans   Debian, Ubun
                   core ARM                                                    802,11
 Pine A64+                        ARM 64-bit                            1               ion      tu, Android,
                   Cortex-A53                        0.5/1/2GB                  bgn
                                                                                        Bus        RemixOS
                                                                                        PI-2
                                                                                        Bus
          *1: Digital I/O
          *2: Digital I/O with PWM
          *3: Analog Input (pins)

          From Table 1 it is evident that all platforms share a common characteristic, the
          General Purpose Input Output ports (G.P.I.O.). These ports are using sets of pings in
          order for the boards to communicate with the environment. GPIO pins have no
          predefined purpose, they can be used both as input and output ports and receive
          analog and digital signals. However only the Arduino platform is capable of
          receiving directly analog input from external sensors without the need for an Analog
          to Digital converter. All the boards we study have this capability, but the number of
          pins varies between the various models and the makers. For example, the initial




                                                      817
raspberry pi board had only 20 pins (Picture 1) while the last version incorporates 40.
The number of pins varies between the various Arduino versions, while in the Pine
A64 platform there are a total of 80 pins. Another usage for these ports is the
expansion of the board’s capabilities by using an add-on, which is called “shield” or
“hat”. These add-ons are essentially sensor arrays designed specifically for each
platform. They can be added to the GPIO bus and provide additional characteristics
to the platform. For example, the sense HAT is an add-on board specifically designed
for the Raspberry Pi platform in order to be used by the Astro-Pi mission launched to
ISS in December 2015. This hat provides the following characteristics to an existing
Raspberry board. A gyroscope, an accelerometer, a magnetometer, temperature
sensors, barometric pressure and humidity sensors (astro-pi.org).
    Although the boards share same similar characteristics, considerable differences
can be found on their processing performance, i.e. the amount of work accomplished
in each time unit.
    Essentially we have two completely different categories, the first is the Arduino
platform, which is very limited performance-wise and therefore it cannot support an
operating system. If performance is an issue, then users must select one of the later
versions of Raspberry pi (Model B2 or Model B3) or the PineA64 board. These
platforms incorporate a quad core CPU with frequencies ranging from 900 MHz to
1.152 GHz and 32 or even 64 bit architectures, allowing the end user to use a
specialized operating system with graphic environment. Additionally, these platforms
also provide a lot of memory for programming purposes and have multitasking
capabilities allowing the simultaneous usage of multiple programing codes and
therefore are ideal to measure real data from various sensors. A classic performance
indicator is the ability of the processor to calculate prime numbers. For this reason,
we used the same operating system (Debian Linux) in a Raspberry Pi 2 (quad core)
and Pine A64 (quad core) for computing prime numbers in the range from 1 to 1000
using custom Python code (Picture 1). The results showed that it took 1.9542 seconds
for the Raspberry platform to calculate all the prime numbers in the given range,
while it took only 0.1962 seconds for the Pine platform. For comparison reasons we
also calculated the prime numbers in the same range using the same OS and and Intel
i5-5200 processor. In this case the CPU needed only 0.1142 seconds for the
calculation (Table 2).




                                         818
def is_prime(n):
i = 2
while i < n:
if n%i == 0:
return False
i += 1
return True


n = int(raw_input("What number should I go up to? "))

p = 2
while p <= n:
if is_prime(p):
print p,
p=p+1

print "Done"

Fig. 3. The Python Custom code used


Of course the prime number test used can act only as an indicator. Real world
performance can significantly vary and relies in many parameters including the
optimization level of the code used.

Table 2. Prime Number Results

                Platform                             Time (seconds)
             Raspberry Pi 2                             1.9542
                Pine A64                                0.1962
              Intel I5-5200                             0.1142



The AgroComp Project

In the framework of the Niarchos Fellowships we are currently developing the
project AgroComp. The main aim of the project is the development of a
methodology that will allow field scientists and researchers to create and deploy
large computer networks in rural areas. The project is implemented around the
Raspberry Pi platform.




                                      819
Although it is not the fastest implementation this platform includes an operating
system based on Linux (Raspbian) and many tools for writing and deploying custom
code.
    Contrary to the more powerful Pine platform it also embeds WiFi and Bluetooth
communication capabilities, allowing easy networking with other Raspberries in the
area. Additionally, the power requirements of this platform are low and can be easily
covered using photovoltaic panels.
    Currently we use the Pi 2 platform, however after the finalization and the
optimization of the programing code we will also use the orange Pi version which
uses far less energy and is cheaper.
    Parallel to the development of the computation platforms we will also use a
methodology already proposed in order to locate the best possible installation
locations based on the end user needs. For doing so we must at first determine the
criteria affecting the location of the platforms. Subsequently we must determine the
weight coefficients of the criteria. Next each study area will be divided in a pre-
determined raster with specified dimensions and each of them will be assigned with a
value using the following formula.
                        Raster Value, RV = !!!! 𝑊! ∗ 𝑋!      (1)

    Where W is the calculated weight coefficient and X is the value of the raster cell
(criteria value). After the application of the Equation 1, each raster will receive a
value based on its suitability for sensor installation. More suitable for platform
installation areas, should receive a higher rating compared with areas with lower
suitability.
    The results of this equation should also be expressed in a map showing the
installation locations. Of course the end user will determine the exact positions based
on the fact that the wireless communication technologies supported by the platforms
have a limited communication range.




                                         820
Fig. 4 A map depicting the installation locations.

Having georeferenced properly the entire area, the user can also determine the exact
coordinates of each installation point, in a variety of projection systems.



4 Discussion

Today computers can be found in every aspect of our life and society. The usage of
computers for research purposes is common ground, however there are some
scientific fields where computers cannot be easily used for field research mainly
because the solutions provided are expensive and use proprietary equipment both in
terms of hardware and software.
    Recently a new type of computing platforms has emerged. These platforms can
be programmed and used for a variety of applications and at the same time provide
the end user with enough processing power to support a graphical user interface,
wireless communications, database management etc.




                                              821
    This paper demonstrates the capability to use this type of hardware for creating
and deploying computer networks in remote and rural areas using the Raspberry Pi
platform.
    Additionally, we introduce an innovative methodology for locating the optimal
installation sites based on the criteria and the weight coefficients calculated by the
end user.

Acknowledgments. The AgroComp Project is funded by the Eastern Macedonia and
Thrace Institute of Technology in the framework of Stavros Niarchos Foundation
Fellowships.



References

    1.   Desideri, C. Legal frameworks for nature conservation and landscape
         protection (2015) Nature Policies and Landscape Policies: Towards an
         Alliance, pp. 77-84.
    2.   Harvey, B.J. Human-caused climate change is now a key driver of forest
         fire activity in the western United States (2016) Proceedings of the National
         Academy of Sciences of the United States of America, 113 (42), pp. 11649-
         11650.
    3.   Hammill, K., Penman, T., Bradstock, R. Responses of resilience traits to
         gradients of temperature, rainfall and fire frequency in fire-prone,
         Australian forests: potential consequences of climate change (2016) Plant
         Ecology, 217 (6), pp. 725-741.
    4.   Kumar, M. Impact of climate change on crop yield and role of model for
         achieving food security (2016) Environmental Monitoring and Assessment,
         188 (8), art. no. 465.
    5.   Ioannou, K., Myronidis, D., Lefakis, P., Stathis, D. The use of artificial
         neural networks (ANNs) for the forecast of precipitation levels of lake
         doirani (N. Greece) (2010) Fresenius Environmental Bulletin, 19 (9 A), pp.
         1921-1927.
    6.   Ciabatta, L., Marra, A.C., Panegrossi, G., Casella, D., Sanò, P., Dietrich, S.,
         Massari, C., Brocca, L. Daily precipitation estimation through different
         microwave sensors: Verification study over Italy (2017) Journal of
         Hydrology, 545, pp. 436-450.
    7.   Wafi, Z.N.K., Abdmalek, M.F., Alnajjar, S.H., Ahmad, R.B. Early warning
         system for Disaster management in rural area (2015) 2nd International
         Symposium on Technology Management and Emerging Technologies,
         ISTMET 2015 - Proceeding, art. no. 7359061, pp. 369-372.




                                         822
   8.  Zhang, L. Design and implementation of a mountain torrent disaster
       warning system based on the distributed hydrological model (2015)
       Chemical Engineering Transactions, 46, pp. 775-780.
   9. Cruz-Castro,L., Sanz-Menéndez, L. The effects of the economic crisis on
       public research: Spanish budgetary policies and research organizations
       (2016) Technological Forecasting and Social Change, 113, pp. 157-167.
   10. Burns, C., Tobin, P. The Impact of the Economic Crisis on European Union
       Environmental Policy (2016) Journal of Common Market Studies, 54 (6),
       pp. 1485-1494.



Web Pages
   1. www.arduino.cc/ retrieved on 31-10-2017
   2. astro-pi.org retrieved on 6-2-2017
   3. ARM processors http://www.arm.com/products/processors/cortex-a
       retrieved on 10-7-2017




                                     823