memoire de fin d’etudes esiea · - andreas vaszolyi for his help in the grammar correction of...
Post on 12-Jul-2020
0 Views
Preview:
TRANSCRIPT
ESIEA 2006 Vislab
MEMOIRE William PAGNON 1
MEMOIRE DE FIN D’ETUDES ESIEA
VisLab, SPS & ITEE
Sensor Network Implemented on the Great Barrier Reef
Réseau de capteurs implémenté sur la grande
barrière de corail
Par William Pagnon
Jury : Jean-Baptiste Renard (parrain)
Mr Durouchoux (président) Dr Nicole Bordes (chef de projet)
Sigature parrain : Signature chef de projet :
Date de soutenance : 23/08/2006
ESIEA 2006 Vislab
MEMOIRE William PAGNON 2
Table of Contents List of figures / Liste des Figures............................................................................................... 3 Acknowledgements / Remerciements........................................................................................ 5 Résumé....................................................................................................................................... 6 Abstract ...................................................................................................................................... 8 Chapter Outline / Survole des Chapitres.................................................................................. 10 Stage Environment / Environement du Stage.......................................................................... 12 State of the Project at the Start of the Training Course / Etat d’Avencement du Projet à l’Arrivé du Stagiaire................................................................................................................. 15 State of Art / Etat de l’Art ........................................................................................................ 17
The Great Barrier Reef / La Grande Barrière de Corail ....................................................... 17 The Coral and its Environment / Le Corail et son Environment.......................................... 18 The Scientific Communities Around the GBR / La Comunitée Scientific Autour de la GBC.............................................................................................................................................. 19 Method of Monitoring the Coral / Méthode de Surveillance du Corail ............................... 20 What is Threatening the Great Barrier Reef? / Qu’est-ce qui Menace la GBC?................. 24 The Sensor Network and its Applications / Réseau de Capteurs et leur Applications......... 25 The Sensors / les Capteurs ................................................................................................... 27 Wireless Propagation Theory / Theorie de la Propagation sans Fil ..................................... 30 Google map API ................................................................................................................... 31
Technical Dimension of the Project / Dimension Technique du Projet ................................... 33 Overview / Vue Generale..................................................................................................... 33 Data used in the project / Données utilisées dans le projet .................................................. 34
Archived data / données archivées................................................................................... 34 Live Data Capture / Capture de Données Temps Reel .................................................... 35
Project Architecture / Architecture de projet ....................................................................... 35 The Protocol / Le Protocole ................................................................................................. 38 The Server / Le Serveur ....................................................................................................... 40 The Database / La base de Donées....................................................................................... 40 The GUI / L’ Interface Utilisateur......................................................................................... 42 The Console Mode / Le Mode Console ............................................................................... 44 Architecture of the Python Programs / Architecture des Programmes Python.................... 45 The Website / Le Site Web .................................................................................................. 46 Example of Data mining Extraction Through the Presented System / Example d’Extraction de données à travers ce System............................................................................................ 49 Conclusion of the Technical Part / Conclusion de la Partie Technique............................... 54
Human and Management Dimensions Internal to the Company / Dimension Humaine et Managerial interne à la companie............................................................................................ 55 Discussion ................................................................................................................................ 57 References................................................................................................................................ 64 Annexes.................................................................................................................................... 66
Annexe 1: Glossary .............................................................................................................. 67 Annexe 2: Colour Scale of HotSpot and DHW.................................................................... 69 Annexe 3: Class from SensorNet_GUI.py with there function:........................................... 70 Annexe 4: Classes from the other python program:............................................................. 72 Annexe 5: Package installation............................................................................................ 74 Annexe 6: Installation instruction: ....................................................................................... 75 Annexe 7: website bookmarks used for the project ............................................................. 76 Annexe 8: Example of python program, Class_com.py....................................................... 79
ESIEA 2006 Vislab
MEMOIRE William PAGNON 3
List of figures Figure 1 : Station météorologique ou bouée sur le récif Davis, AIMS...................................... 7 Figure 2 : weather station or buoy on Davies reef, photo courtesy of AIMS............................ 9 Figure 3 : internal architecture of the University of Queensland............................................. 12 Figure 4 : Internal Human Structure Of The Vislab Laboratory Hierarchy............................. 13 Figure 5 : Architecture of QPSF .............................................................................................. 14 Figure 6 : Presentation of the area (straight line) cover by the GBRMP [4] ............................ 18 Figure 7 : Amount of COTS observed during the Broadscale Manta surveys [5] ................... 20 Figure 8 : Example of COTS specimen feed on coral [7] ........................................................ 21 Figure 9 : Maximum temperature observed in the world after the El Nino phenomenon [9] .. 22 Figure 10 : The Degree Heating per weeks observed for the last 90 days for the same period [9] ............................................................................................................................................. 22 Figure 11 : Maximum temperature observed nowadays [9] .................................................... 22 Figure 12 : The Degree Heating per weeks observed for the last 90 days nowadays [9] ........ 23 Figure 13 : Effect of degree heating per month over the past and the future on the coral (a) [5].................................................................................................................................................. 25 Figure 14 : Effect of natural catastrophe per decade over the past and the future on the coral (b) [5] ............................................................................................................................................. 25 Figure 15 : Poster representing the different technologies involve’ in the Security network sensor project of US [12].......................................................................................................... 26 Figure 16 : Cut of the tunnel view where a sensornet cable in optic fibber is installed [14] ... 27 Figure 17 : graph of the sensor cable monitoring [14] ............................................................. 27 Figure 18 : Thermocouple with its storage and communication system desired for the SensorNet project [11] ............................................................................................................. 29 Figure 19 : Representation of the method of faking electromagnetic waves for different frequencies from subrefraction (low frequencies) to trapping (high frequencies) [1] ............. 30 Figure 20 : Example of use of Google Map in the website developed during the project....... 32 Figure 21 : Overview of the data streaming from buoys to final users.................................... 33 Figure 22 : Map of the existing monitoring site on the GBR, PNG and West Australia......... 34 Figure 23 : Weeder electronic board that capture data from thermocouple [17] ..................... 35 Figure 24 : Scheme of the stream of the data from the thermocouple to the computer that simulate the buoy ..................................................................................................................... 35 Figure 25 : Technical architecture of the SensorNet software project..................................... 37 Figure 26 : Protocol of the network dialogue between the buoy and the server ...................... 39 Figure 27 : Database scheme................................................................................................... 41 Figure 28 : Connexion panel of the GUI interface................................................................... 42 Figure 29 : Selection panel with the customised or assisted tool and its mouse interactive grid selection.................................................................................................................................... 43 Figure 30 : Presentation of an example of graphic generated by the mouse interactive grid selection.................................................................................................................................... 43 Figure 31 : 3D graphic selection and map of the GBR with buoys plot on from the latitude and longitude selected..................................................................................................................... 44 Figure 32 : Program architecture of the python programs....................................................... 46 Figure 33 : Website architecture.............................................................................................. 47 Figure 34 : First part of the webpage displayed when all the options are selected.................. 48 Figure 35 : Second part of the web site with all the options selected ...................................... 48 Figure 36 : Full webpage generated for the case study ............................................................ 49 Figure 37 : Graphic generated on the GUI for the case study.................................................. 50 Figure 38 : Saved picture file of the graph on PNG format for the case study........................ 51
ESIEA 2006 Vislab
MEMOIRE William PAGNON 4
Figure 39 : Example of mathematical operation in SQL from the GUI................................... 52 Figure 40 : Graph from the website of the simulated buoy sensors for live data..................... 52 Figure 41 : graph from the GUI of the simulated buoy sensors for live data........................... 53 Figure 42 : zoom in of the graph from the GUI of the simulated buoy sensors for live data..53 Figure 43 : photo of Vislab with the Access Grid node environment with multi conversation and software utility running through 3 power wall projectors................................................. 56 Figure 44 : presentation of the website used for archaeological data instead those of the GBR.................................................................................................................................................. 57 Figure 45 : example of the GUI used for archaeological data instead of those from GBR ..... 58 Figure 46 : XYZ Stage developed as Access Grid physical tool possibility example.............. 59 Figure 47 : Chart of the trend estimate of employed persons in Australia............................... 62 Figure 48 : Chart of the trend unemployment rate in Australia............................................... 62
ESIEA 2006 Vislab
MEMOIRE William PAGNON 5
Acknowledgements
My deep gratitude for the following people without whom this thesis would not have been
possible:
- Nicole Bordes for allowing me to work on the SensorNet project
- Bernard Pailthorpe for his advice and orientation in the project
- David Gwynne for his precious advice in programming
- Chris Willing for his advice and his explanation of the project and its structure
- Jean Baptiste Renard for his advice during my internship
- Jean-Baptiste Bérard for the information provided on the Marine Biology of the
coral.
- Andreas Vaszolyi for his help in the grammar correction of this thesis
ESIEA 2006 Vislab
MEMOIRE William PAGNON 6
Résumé
La conservation de la biodiversité marine est fondamentale pour maximiser les avantages
sociaux et économiques à long terme de la planète. La Grande Barrière de Corail (GBC) est
considéré un des environnements les plus riches au monde. Sa conservation est devenue une
préoccupation mondiale. Pour mieux comprendre l'évolution de cet environnement unique, un
projet à long terme de réseau de capteurs déployé sur la GBC a été élaboré par l'Université du
Queensland (UQ) de Brisbane, l'Université James Cook (JCU) de Townsville et l'Institut
Australien de la Science Marine (AIMS) sous l’union de la fondation du Queensland pour les
sciences parallèles (QPSF).
Dans ce projet, mon objectif était de fournir une approche et un développement de logiciel qui
consistera à rendre disponible à des utilisateurs finals des données venant d’un réseau de
sondes qui pourront être visualisées et manipulées grâce à plusieurs outils se connectant à
une base de données. Ce logiciel servira de structure de base pour développer l'application
finale qui sera employée par les scientifiques pour extraire des connaissances à partir de ce
réseau de capteur. Ce logiciel donne également une bonne idée des possibilités que peut
fournir une telle structure générale pour n'importe quelles données spatiales temporelles
rassemblées par l'intermédiaire d'un réseau de capteurs comme par exemple, astronomique ou
archéologique. Le but final de ce projet est de développer une surveillance totale de la GBC
par le biais d'un réseau de capteurs qui fournira tout type d'informations sur la qualité de l'eau,
des températures aussi bien qu'une visualisation constante de la GBC par capteurs CCD. Les
sondes seront essayées à l'avenir sur le récif Davies ; où une station météorologique est déjà
installée. Le récif Davies est situé dans la GBC à latitude 18°50'S, longitude 147°41'E à
environ 70km de Townsville.
Précédemment, la communication sans fil basé sur des micro-ondes de 10.5 GHz avait été
testée avec succès sur ce même récif. Ce serra certainement cette technologie qui sera
employée pour créer un réseau en Ad Hoc entre les bouées et les serveurs. Pour simuler les
données récoltées par les bouées, j'ai utilisé une base de données de AIMS qui représente les
températures de différentes Stations météorologiques situées sur la GBC et récoltées toutes les
30 minutes depuis 10 ans. Ces données ont été régulièrement récupérées par bateau ou par une
liaison haute fréquence de 3.3MHz (qui n'a pas prouvé son efficacité) sur 149 bouées au total
ESIEA 2006 Vislab
MEMOIRE William PAGNON 7
répandues sur la GBC. Ainsi, dans ce projet, il a été décidé lorsque l’ implémentation viendra
de recevoir les données directement par une liaison sans fil de 10.5 GHz de la bouée à la
station terrestre, où les données peuvent circuler par toutes les bouées ou les serveurs (selon le
meilleur chemin) pour être finalement stockées dans une base de données. Pour simuler les
données en temps réel, une carte électronique, déjà disponible dans le laboratoire, fournira
quatre mesures de thermocouples placés derrière différents ventilateurs dans la salle
d’ordinateurs de Vislab. Au final, l’envoie des données a été mis en application avec succès
d’une bouée à la base de données par l'intermédiaire de logiciel serveur et client.
Sur la base de données ont été développés trois utilitaires pour manipuler les données : Une
interface graphique qui fournit une table des données choisie par une commande SQL avec un
outil de sélection des données via la souris pour produire à souhait des graphiques. Un mode
console a été développé pour accéder aux données sans avoir besoin d’autre chose qu'un Shell.
Finalement, un site Web a été développé pour que toute personne puisse s'informer sur les
températures de la GBC durant les 10 dernières années. Ce site Web inclut une carte
implémentée via Google Map, des graphiques et une table de Meta information concernant les
bouées et leurs capteurs. La prochaine étape de ce projet consistera à employer plusieurs
cartes électronique de capteurs afin de simuler plus d'une bouée et ainsi pouvoir simuler un
réseau complet avec la gestion temps réel par multi tâche de plusieurs bouées et le routage
dynamique des données par ring buffer.
Figure 1 : Station météorologique ou bouée sur le récif Davis, AIMS
ESIEA 2006 Vislab
MEMOIRE William PAGNON 8
Abstract The conservation of marine biodiversity is fundamental to maximizing long-term social and
economic prosperity and sustainability. The Great Barrier Reef (GBR) is considered one of
the richest environments in the world and its preservation has become a global concern. To
better understand the evolution of this unique environment, a long term project involving a
sensor network installed on the GBR was conducted by the University of Queensland (UQ),
Brisbane, James Cook University (JCU) from Townsville and the Australian Institute of
Marine Science (AIMS) under the Queensland Parallel Science Foundation (QPSF).
On this project, my objective was to provide an approach of a software implementation to
stream the data from the sensors to the final users, who will be able to visualize and
manipulate the data with several tools through a database. This software will serve as a basic
structure in developing the final application that the scientists will use to extract data from the
sensor network. It will also provide an idea of the possibilities of a general structure for any
spatio-temporal data collected via a Sensor Network (like astronomical or archeological data).
The final aim of this project is to develop a total monitoring of the GBR using a sensor
network to provide information about water quality and temperature as well as a constant
video visualization of the GBR. The sensors will be tested in the future at Davies Reef, where
a weather station is already installed. Davies Reef is located on the GBR at latitude 18°50'S,
longitude 147°41'E, about 70km from Townsville.
Previous tests of the reef with wireless connection based on microwaves have been
successfully conducted and will certainly be the technology used to link the network. To test
the computer program, I have used data from AIMS of the last 10 years from a previous
project, which was to store the temperature from the buoys every 30 minutes. Those data were
regularly collected by boat or by a low DataStream HF radio (that did not prove its efficiency)
from 159 buoys spread on the GBR. Thus, in this project, it was decided (for the final
implementation) to receive the data directly with a 10.5 GHz wireless network from the buoy
on the earth station, where the data can be streamed from all the buoys or the servers to be
stored on a database. To simulate live data, a sensor board from Weeder Technology, already
available in the lab, will provide four temperature sensor measurements, placed behind
ESIEA 2006 Vislab
MEMOIRE William PAGNON 9
different fans of computers in the computer room of Vislab. As a result, the stream of data
was successfully transferred from a buoy to a database via a software server.
Three ways have been developed to manipulate the data. Firstly, a GUI that provides a grid of
data selected by an SQL command and where the data displayed are ergonomically selectable
to generate the desired graph. Secondly, a console mode has been developed to access data
using only a shell. Finally, there is a website providing information about the temperature of
the GBR over the past 10 years. This website includes a map navigation tool, Google Map,
graphs and tables of meta-information about the buoys and the sensors. The next step in this
project will be to use several boards to simulate more than one buoy and deal with them in
multithread with different scenarios to obtain a dynamic routing of the data.
Figure 2 : weather station or buoy on Davies reef, photo cour tesy of AIMS
ESIEA 2006 Vislab
MEMOIRE William PAGNON 10
Chapter Outline Stage Environment: Here I will present the different organisations involved in this project and the links between
them as well as the internal human architecture of the Vislab laboratory and its field of
activity.
State of the Project at the Start of the Training Course: I will present studies done before the start of the training course and the objectives from this
project attributed to JCU and myself for UQ.
State of Art: In this section I will approach the different aspects of the GBR and the SensorNet project.
Firstly I will provide information about the GBR as such, before dealing with the coral and its
environment. I will then describe the different organisations undertaking research on the GBR
in Australia and around the World, before explaining the method of monitoring the coral with
examples gathered through diving, boat and satellite observation of the coral. Specifically, I
will describe the threat to the coral on the GBR. Next, I will turn to some examples of sensor
network applications already in use, before explaining the constraints upon building sensors.
The wireless propagation theory experimented last year on the GBR which will certainly be
used to stream the data will be explained. Finally, I will finish this part with a brief
presentation of the Google Map tool used for the website.
Technical View of the Project: This is the technical part of the report where the application developed during this training
course will be presented. An overview of the project will be followed by a description of the
data used to validate the software and a description of the project architecture. I will then
elaborate the various parts of the project by describing the protocol, the server, the database,
the GUI, the console mode and the website. I will finish this part by giving a case study that
will lead us to the main function of the applications and a conclusion for the technical part.
ESIEA 2006 Vislab
MEMOIRE William PAGNON 11
Human and Management Dimensions Internal to the Company: I will explain the environment in which I worked, and the relation I had with the staff of the
laboratory and JCU the partner of the project.
Discussion: Here I will explore possible improvements to the project, and a side project involving an XYZ
stage. Then the different aspect concerning my ESIEA formation and the place of the
communication in our societies will be discussed. I will finish by briefly describing my
eighteen months in Australia.
ESIEA 2006 Vislab
MEMOIRE William PAGNON 12
Stage Environment
The training course was conducted at the University of Queensland (UQ) in the Vislab
Laboratory located in the Information Technology and Electrical Engineering (ITEE) building.
This laboratory is part of the School of Physical Science (SPS) which is itself a part of the
Faculty of Engineering, Physical Sciences and Architecture (EPSA). EPSA is one of seven
faculties at UQ. UQ was founded in 1910 and is one of the top eight universities in Australia
[22]. It is also well recognized at an international level for its strengths in teaching and
research. The following tree shows the position of Vislab in the university’s structure.
Figure 3 : internal architecture of the University of Queensland Vislab is a University research and development laboratory created in 2003 by Bernard
Pailthorpe, Nicole Bordes and Chris Willing. This research centre specialises in data
analysis, computational and experimental science as well as grid and data computing. They
constantly engage in projects at the cutting edge of technology like e-archaeology, Kepler
workflows, molecular modelling or high resolution displays. These are just few examples of
this laboratory’s work. Some of these projects are done by the staff of the laboratory but most
of them are the main projects of graduate or undergraduate students (in an internship position
like me or as thesis student from the University).
ESIEA 2006 Vislab
MEMOIRE William PAGNON 13
Another Vislab Laboratory was created previously at the University of Sydney in 1992 by
Bernard Pailthorpe. This laboratory is still active at the University of Sydney. See below
the laboratory’s hierarchy, with status are from lowest to highest. Professor Bernard
Pailthorpe and Nicole Bordes established the laboratory, with Chris Willing, who manages
the lab. Doug Kosovic manages the informatics maintenance service of the lab. David
Gwynne is the data specialist of the team and it is with him that I began to conceive and
develop the project. Terry Simmich arrived two months before the end of my training course,
his main task is to coordinate and develop tools for archaeological research. Two new people
are expected to manage their main project Access Grid, a multi application management tool
for videoconferencing. The staff contracts are generally for one year renewable. My position
is as an occupational trainee responsible for the SensorNet project. Several students who are
doing occupational training or doing their thesis for UQ work on small research and
development projects.
Figure 4 : Internal Human Structure Of The Vislab Laboratory Hierarchy The SensorNet project was proposed by QPSF. QPSF is an incorporated body established in
October 2000, consisting of seven Queensland public universities. The organisation was
funded by the Department of State Development, Trade and Innovation of the Queensland
Government. This foundation has several projects in which some or all the universities work
together. To increase the possibilities of this foundation the universities have made a strong
investment in High Performance Computing Infrastructure (HPCI) since its inception in 2001.
ESIEA 2006 Vislab
MEMOIRE William PAGNON 14
QPSF's major HPC facilities are housed at, and maintained by UQ however each university
also houses HPC facilities. Those facilities allow the QPSF members to share resources for
work on data projects such as the SensorNet project. They also use the Access Grid (multi
application management tool for videoconferencing) to communicate and share applications
in real time. See below the architecture of this foundation.
Figure 5 : Architecture of QPSF
ESIEA 2006 Vislab
MEMOIRE William PAGNON 15
State of the Project at the Start of the Training Course
The main project I worked on during this training course was SensorNet. The aim of this
project was to develop, in collaboration with JCU, a sensor network system deployed in
buoys around all the GBR to monitor different parameters like temperature, chemical
properties of the water. In the future a camera will capture pictures of the ecosystem of the
GBR.
The project was created three years ago but the technical approach was developed only last
year. When I am arrived, a thesis made the previous year by Jared Sanderson called Data
Capture and the Management of Data Streaming from a Network of Sensors [17] helped me
by providing a temperature database recording by AIMS. This project dealt with the sharing
and the storage of a large archival collection of data across a connected grid of computers.
This was achieved using the Storage Resources Broker (SBR) system to spread the data
potentially to several databases on a networked grid of computers. The development of a new
wireless communication using wave propagation through the upper layer of the sea level was
successfully tested by Stuart Kininmonth, et al, in 2005 [1]. Some coding to experiment on
the sensor boards was done in Python to capture data and display it in a graph on a web page.
Those tests were done by Chris Willing and David Gwynne. During this training course, I
was responsible for the aspects of the project involving the software development, under the
guidance of David Gwynne. We used the videoconference system Access Grid (originally
developed by Argonne National Laboratory [21]) to communicate with JCU which is
currently working on their own hardware and software implementation.
JCU was initially only in charge of the hardware implementation for the buoys and the
different relays with an ad-Hoc network which sends the data stream to the database (as will
be described later in this thesis). Their aim is to find a hardware solution capable of resisting
the extreme conditions to which the buoys and the relay are exposed on the GBR. For instance,
the microprocessor and associated electronics must be resistant to temperatures greater than
50°C because they are fully exposed to the elements. The buoys must utilise solar and wind
power to ensure extended autonomy, providing a use-time for the buoys. Other concerns
about the sensors include diverse aggression (such as shark attack) and other factors which
ESIEA 2006 Vislab
MEMOIRE William PAGNON 16
can compromise the result or destroy the sensors; e.g. organic deposits like algae on the
sensors. The communication system between the buoys and the final server involves ad-hoc
wireless at a frequency of 10.5GHz that will use the surface layer of the sea to guide the
signal to the relay server or the final server. This specific wireless communication was
developed in 2005 (as mentioned before) and will be explained in the State of Art section.
My laboratory directed the system’s software implementation, from buoys to user. As the
hardware was not already chosen, we developed a software solution as generic as possible to
allow implementation in a wide range of embedded systems ranging from the simplest
processor to the most sophisticated. In order to develop and test our solution we used an
external electronic board sensor from Weeder Technology [2]. This board provides the values
of four temperature probes to a computer by a serial connection. We will see further the
criteria of this board in detail. The programs of the buoy, the server, the GUI and the console
mode have been developed in Python to maintain compatibility with the rest of the system if
necessary. Driver in C language, for the Weeder board, has been developed to provide the
possibility to create a C program for the system in the buoys and in the relay or server. The
software in C language for the buoy and server is currently being developed by David
Gwynne and will be available in the future. This version will decrease the size of the code
and the processing time to increase the routing time. These conditions are necessary in order
to implement the program in a low consumption system in terms of memory, electricity and
processing. We use a PostgreSQL database system to store the data where indexation and
primary key have been used to increase its efficiency. The GUI interface and the console
mode will be used by the final scientific user to manipulate the data in the Database. Finally,
the website is tailored for a wide range of users, utilising PHP for the web server and
JavaScript for the client using Google Map to provide interactive information.
ESIEA 2006 Vislab
MEMOIRE William PAGNON 17
State of Art
The Great Barrier Reef: The GBR World Heritage Area is located three quarters of the way to the northern tip of
Queensland on the East cost of Australia, ranging from the south of the Tropic of Capricorn to
the coastal waters of Papua New Guinea. This area cover about 2300 km and lies between
24°30’N-10°41’S and 145°00’ -154°00’E [3].
The GBR is the largest World Heritage area with its 33,126,500 ha of Marine Park and the
most extensive coral reef in the world. It was declared World Heritage in 1981. The GBR
comprises some 2,800 individual reefs including 750 fringing reefs, which range in size from
under 1ha to over 1,000 ha [3]. The GBR is only two million years old and evolved during the
quaternary period when ice formed and melted in higher latitudes causing major sea level
fluctuations. The shape of each reef is quite different and is classified into three categories:
the Barrier Reef (or Wall Reef), most northerly of the GBR; the Platform Reefs, which
comprise the majority of the reefs (ovular shaped and found between seaward side of the
continental shelf and the mainland); and the Fringing reefs, found growing out from the
shores of continental islands and the mainland.
At its conclusion, this project will provide precious information on the complexity of the
water circulation and quality in those areas, which has created a complex ecosystem. The
properties of the Coral Sea, land run-off, evaporation, southeast trade winds, forced
upwellings due to strong tidal currents in narrow reef passages, and coastal water including
mangroves, are all affecting the water circulation and thus the coral stability. The impact of
people on water quality is also not well known. These complex parameters must be monitored
and compared in order to understand their influence on such a fragile ecosystem. The map
below presents the GBR Marine Park area described here.
ESIEA 2006 Vislab
MEMOIRE William PAGNON 18
Figure 6 : Presentation of the area (straight line) cover by the GBRMP [4]
The Coral and its Environment: The Coral reefs flourish, apart from rare exceptions, mainly in the tropical latitudes 30° north
or south of the equator. In the ecosystem of the GBR, there are approximately 356 reef
building corals belonging to about 60 genera. They represent almost 75% of the known
genera in the entire Indo-Pacific region [3]. Only the southernmost of reefs show a significant
reduction in the number of species. Although many of the populations probably receive
recruits only from neighbouring ones, they are part of a vast interconnected network in which
larvae drifting from reef to reef and island to island ensure that populations are not isolated.
Coral cover decreases and increases quite dramatically because of cyclones, Crown of Thorns
Starfish (COTS), and coral bleaching, but there are no long-term declines in coral cover or
diversity. Even on inshore Fringing reefs, where human impacts are highest, there are no
indications of any general decline since the El Niño event in 1998 [5].
The GBR contains over 300 species of coral, creating an environment for more than 1,500
species of fish, 4,000 species of molluscs plus a great diversity of sponges, anemones, marine
ESIEA 2006 Vislab
MEMOIRE William PAGNON 19
worms, crustaceans, algae and finally a wide range of marine mammals [5]. Coral live in
symbiosis with fish providing them a nutritious and protective environment. COTS is a
parasite that feeds on the coral and can be damaging for the reef if in overpopulation. Coral
also maintains a special symbiotic relationship with a microscopic organism (algae),
especially zooxanthallae [6].�These organisms provide their hosts with oxygen and a portion
of the organic compounds they produce through photosynthesis. When stressed, many reef
inhabitants have been observed expelling their zooxanthallae in large amounts. Coral is an
important component of our ecosystem and must be preserved at all costs to keep the
equilibrium the coral reef provides. In addition the ocean provides oxygen thanks to this
ecosystem of coral and other different animals, and vegetal that affects life from the ocean to
the earth.
The Scientific Communities Around the GBR : Scientific research on the GBR started with the GBR Committee (now called the Australia
Coral Reef Society) in 1922 and the British GBR Expedition in 1928-29. Nowadays, for local
and visiting overseas scientists, field stations are operated by UQ at Heron Island, The
University of Sydney at One Tree Island, the Australian Museum at Lizard Island, JCU at
Orpheus Island and AIMS in Townsville [3]. The latter two have extensive coral reef research
programs that cover the full ambit of science disciplines.
Increasingly, these communities have lobbied the industries and the stakeholders around the
Queensland coast to sponsor the monitoring and educational project on the GBR. The
Australian Government has also developed Reef Check training to accredit volunteer teams on
the preservation of the GBR [5]. Most of the financial support for this operation is provided
from the dive tourism industry and other commercial businesses around the GBR.
Globally, the International Coral Reef Initiative (ICRI) established in 1994 and the Global
Coral Reef Monitoring Network (GCRMN, founded in 1996) plays an important role in the
preservation of coral in the international domain. Their objectives are to link existing
organisations and people to monitor ecological and social, cultural and economic aspects of
coral reefs within interacting regional networks. A significant example of their action is the
rezoning of the GBR World Heritage Area where 33% of the total area has since 2004 become
protected from extractive industries such as fishing and collecting [5].
ESIEA 2006 Vislab
MEMOIRE William PAGNON 20
Method of Monitoring the Coral:
Monitoring the coral is a challenge that will lead us to a better understanding of the
complexity of the ocean system by realising the importance of the coral in this area. This kind
of study leads to more precise climatic model as well as a better evaluation of the human
impact on the Earth and the natural evolution of the coral. The GBR is one of the most
monitored coral sites in the world but nonetheless, information gathering covers only about
5% of it (some 2,800 reefs) [5]. I will now present various examples of monitoring systems in
order to demonstrate the spectrum covered by this field of studies.
The AIMS long-term monitoring program is designed to provide information about key groups
of organisms on appropriate spatial scales. Broadscale Manta Tow surveys [19 and 23] have
now been carried out through 11 latitudinal sectors over 21 years (1985-2006) and played a
significant role in the understanding of the interaction of the coral with its environment,
especially for the COTS phenomenon [5] which is a good indicator of the state of a reef. Each
year, the perimeters of 100 reefs are monitored. To make this survey, a diver is towed by a
small boat around each reef where it stops every 2 minutes to allow the diver to count the
number of COTS. The density of COTS at which coral damage is likely corresponds to 0.22
COTS per two-minute tow and if this rate is greater than 1, the reef is definitely damaged. An
interesting result of this study shows that some reefs have been unaffected by COTS since the
beginning of the monitoring program in 1985 which is the start of the study [5].
Figure 7 : Amount of COTS observed dur ing the Broadscale Manta surveys [5]
ESIEA 2006 Vislab
MEMOIRE William PAGNON 21
You can observe in the preceding charts the mean coverage of hard coral by this study over
the years. Each chart represents a part of the GBR coverage from a. to d. that splits the GBR in
four parts respectively from north to south. The right vertical scale represents the average of
COTS observed per tow. Below is an example of COTS feeding on a coral reef. The COTS
can also feed on different encrusting organisms when coral is scarce, such as algae,
gorgonians and even other COTS.
Figure 8 : Example of COTS specimen feed on coral [7] AIMS also has two vessels which conducted 50 research trips between them in 2002-2003 and
operated for an average of 257 days. Their laboratories enable research such as DNA analysis,
cell culture, microbiology, chemical isolation and fermentation etc... [8] The shortcomings of
this kind of monitoring rest with the use of a boat to collect samples from the GBR and the
evident problem of regularity when the sample is not taken for climatic or human reasons.
Nevertheless, it is still useful to study the different organisms that populate the GBR. In the
future, the SensorNet project will certainly turn to sensors incorporating a micro chemical lab
that will regularly test certain properties of micro organisms.
Coral reefs are predominantly monitored by satellite, which provides a precise picture of the
extent of coral bleaching and can detect anomalies with special filters. It also monitors the
temperature of the ocean with infrared radiometers installed on the satellite. One of those
projects developed by NOAA Satellite and Information Service, called HotSpot provides twice
weekly a map of the state of coral bleaching around the world [9].
ESIEA 2006 Vislab
MEMOIRE William PAGNON 22
Figure 9 : Maximum temperature observed in the wor ld after the El Nino phenomenon [9]
Figure 10 : The Degree Heating per weeks observed for the last 90 days for the same per iod [9]
Figure 11 : Maximum temperature observed nowadays [9]
ESIEA 2006 Vislab
MEMOIRE William PAGNON 23
Figure 12 : The Degree Heating per weeks observed for the last 90 days nowadays [9]
NOAA operates two polar-orbiting satellites, each with an infrared sensor that detects the
temperature of the ocean’s surface. Because the satellites constantly orbit the earth, they
measure the water temperature around the entire globe each day [9]. The maps displayed here
present respectively for the period of El Niño in 1998 and nowadays in June 2006, the state of
the seas’ temperatures around the world compared to their normal average and the
accumulation of overheating during the last 12 weeks (The colour scales are explained in
Annex 2). If the monthly average temperature is increase more than one degree and if the
Degree Heating per Weeks (DHW) is greater than four, the coral starts to show stress due to
the rise in temperature. During El Niño 1997-1998 [24], high levels of stress everywhere in
the world coincide with high temperatures, particularly in the GBR where temperature
increased by an average of 2.5 degrees along the whole GBR for DHW indices of 16 at certain
areas, which is the maximum on the scale. Currently, the state of the GBR and the coral
around the world in general is not affected by this stress of temperature with no increase of
temperature (less than four degrees on the scale of accumulation of over heating).
Nevertheless it’s periodically increase and the coral healthiness can become dramatic (at short
term) in the next 50 years.
The data of those studies and more have been stored in a database of AIMS. To develop
interest in the GBR, the Conservation and Biodiversity Group launched (in 2002-2003) a new
research tool called Coral Id [10] to improve understanding of the migration of coral by the
current or by fish population for professionals as well as for amateurs. The user can thus
ESIEA 2006 Vislab
MEMOIRE William PAGNON 24
interrogate a large database by describing the characteristics of the species and understand its
evolution from data already captured over the years.
What is Threatening the Great Barrier Reef? The major threat to coral is bleaching. This phenomenon can be described as a decline of the
pigmentation of the polyps of the coral, which makes them appear nearly transparent, with its
white skeleton. The presence of Zooxanthallae (explained above) is very important to its
survival during and after a bleaching event. The major stresses that cause bleaching are
natural; Cyclones and big storms cause major damage to the reefs with the increase of
temperature involved in causing extensive bleaching of both hard and soft corals (as observed
in 1998 with the El Niño phenomenon )[5]. The effect of the climate change also has a real
impact on the coral even if we are not yet able to understand it well enough. The human
pressures on this environment is not yet well know, but the change of the water quality of
terrestrial run-off is one of the significant human impacts (sediment and nutrient input to the
reef from terrestrial discharge has increased fourfold in the last 150 years) [5]. The other
major issue identified is the effect of fishing in the Marine Park. This has caused the
population of dugongs to decrease by 50% over the past eight years [5], for instance, while
various turtle populations are still considered to be under threat.
ESIEA 2006 Vislab
MEMOIRE William PAGNON 25
Figure 13 : Effect of degree heating per month over the past and the future on the coral (a) [5] Figure 14 : Effect of natural catastrophe per decade over the past and the future on the coral (b) [5]
According to the Status of Coral Reefs of the World [5] the state of the GBR was stable
between 2001 and 2004. However there was a algal bloom (Chrysocystis fragilis) at many
sites in the Cairns and Townsville regions in 2004 perhaps due to the over activity of tourism
in those regions as agriculture. The first chart above shows the degree of heating per month
observed since 1850 to its forecast in 2100. Mass bleaching events occur when the DHM is
over one degree (at 4 degrees most of the coral will not recover from this bleaching).
Forecasts including a global warming scenario due to the greenhouse effect predict that coral
reefs will be at risk as shown in Figure 14. Extinction of the coral might happen around 2050
with more than 9 events per decade if those forecasts are correct. This does not leave much
time to better understand how the coral evolves and its role in our environment.
The Sensor Network and its Applications:
A sensor network consists of a number of sensors spatially distributed across an area. Sensors
can be used to monitor or detect events at a location, for instance, temperature changes or
motion detection. Each sensor should be small and inexpensive using little energy to operate
and transmit a stream of data over a wireless network.
ESIEA 2006 Vislab
MEMOIRE William PAGNON 26
Wireless sensor networks cause many dilemmas for practical implementation. In this project,
the deployment of sensors in a marine environment caused additional problems: Saltwater is
corrosive and tropical waters encourage the growth of biological life on the surfaces of
sensors (P. Ridd and M. Heron [11] will develop experimental sensors for this project and
will test it on the GBR to overcome those problems).
The sensor net concept has expanded to find many different applications. For instance, several
companies have been endeavouring to provide the industry with better monitoring of
machines especially for temperature and material strain. Several applications are found across
diverse fields: health care, manufacturing, environmental protection, transport, agriculture and
every field of research science. Another important field involves security monitoring by
spreading millions of micro-sensors on a special painting to fix it on the wall or spread from
the sky to detect the chemical presence of dangerous products like explosives.
A security sensor network is currently being tested in Tennessee (USA) as new protection
against terrorism [12]. As with every source of information, there is the possibility of
authorities monitoring people against their will with total discretion. Ultimately they will be
able to monitor a whole country (as shown below). The new generation of tiny microchips are
increasingly accessible along with nanotechnologies developed to give new perspectives in
information acquisition. The network sensor provides such an important source of information
that it must be used in a particularly ethical and reasonable way, like the GBR observation
project.
Figure 15 : Poster representing the different technologies involve’ in the Secur ity network sensor project of US [12]
ESIEA 2006 Vislab
MEMOIRE William PAGNON 27
Many businesses are developed around monitoring technology, like the company FollowUs,
which provides tracking of a family member or employee from its mobile phone [13]. So
sensor networks must be used as all science with many precautions to avoid restrictions of
liberty. Another example of the project is the lake tunnel built in China, where a sensor
network was installed in 2005 to monitor temperature by linking all the sensors with optic
fibre along the tunnel [14].
Figure 16 : Cut of the tunnel view where a sensornet cable in optic fibber is installed [14] Figure 17 : graph of the sensor cable monitor ing [14]
In the United States at least, the export of underlying technology (Sensor Network) is
controlled and has to be declared to the Department of Commerce or the Department of State
[12]. Currently, there is no norm in the sensor network because of compromises, but with
more development will emerge new standards. As described above, the sensor network
technology is already developing new markets with huge applications. According to
Commsdesign [15]: “The total market will rise to at least 50 million units, or $1 billion, per
year by 2008.” . These examples are just a little sample of the numerous projects already
running or in preparation in the world.
The Sensors
Constructing these micro sensors for a governmental security project has required 200
scientists from various fields: Electrical, mechanical, chemical engineers; physicists, material
scientists; chemists; photonics designers; and meteorologists. They construct measurement
systems using ultrasonic, no contact temperature, optics, electro-optics, radiofrequency,
microwaves, microelectromachanical systems (MEMS), nanoelectromechanical, micro-
fluidics (lab on a chip) and wireless technologies [12].
ESIEA 2006 Vislab
MEMOIRE William PAGNON 28
In our application, AIMS are devising and implementing the type of sensor for the GBR [11].
Those sensors will integrate the wireless communication system as well as capture and store
the data. Figure 18 shows a schematic of the sensor. The sensor will hold several temperature
probes at different depths which will capture the data and send them to an A/D converter
before being processed by the system, which will store them in a buffer and a text file. The
data will be sent by an 802.11b wireless to the nearest server or sensor by an aerial antenna.
For this purpose, a modem is also installed to communicate with the other sensors or the
server.
They will also include a compact Flash GPS to give their position and a serial or USB
connection to download and upload data onsite. The power supply under consideration is a
coupling of sun and wind power to stay operational without a heavy battering of the sensor by
day or night. A pure copper housing prevents the sensors from degradation in this
environment hostile to electronics, especially due to salty water. The sensors could be cleaned
every six months to avoid the deposit of organic systems like algae, which will falsify the
measurements. Despite this, the individual sensors are not expensive, the real efficiency of a
such sensor network can only be reached by spreading a large amount of them along the GBR,
considerably increasing the cost. The cost may be reduced, however, by mass producing
sensors. Those sensors will not need miniaturisation as in the American project, despite that
they have to fit on the existing weather stations.
ESIEA 2006 Vislab
MEMOIRE William PAGNON 29
Figure 18 : Thermocouple with its storage and communication system desired for the SensorNet project [11]
AIMS wants to develop sensors for monitoring all the aspects of the environment including
chemicals, water current pressure, fauna and flora, as well as spread of the coral. Ultimately,
AIMS plans to use video cameras, in addition to sensors, that can scan the evolution of an
environment of two cubic meters per camera.
ESIEA 2006 Vislab
MEMOIRE William PAGNON 30
Wireless Propagation Theory:
Initially, AIMS communicated with their weather stations using a 3.3 MHz HF Radio spread
along the GBR for the nearest reefs and a mobile phone network for distant stations [1]. The
HF propagation relied on ground wave diffractions and was thus unreliable for horizontal
propagation in the ocean. The previous system stored data up to 21 days in text files until the
communication was established or downloaded on site. However, low maximum data as well
as a non stable connection can lead to lost data during long term weather perturbations.
A new approach based on microwave propagation has lead to interesting results. The
principle applied here is to use the evaporation duct just above the ocean to provide a suitable
means to guide signals well beyond the optical horizon [1]. The frequency providing the best
effectiveness in term of distance of transmitting, path loss and size of antenna is 10.5 GHz.
This band of frequency is licensed free in Australia. The noise ratio with conventional radio
equipment is estimated 40db and the height of antennas should be between 3 to 4 meters to
minimize the path loss [1]. However if the path loss is increased by an additional 20dB the
communication will fail. The system shows that communication will work most of the time
but cannot be expected to be 100% reliable. Figure 19 shows how the electromagnetic waves
are propagated by refraction depending on their frequency. With the microwave concept, the
wave is trapped in this evaporation duct layer at the surface of the ocean and thus bonds to the
ocean surface following the curve of the earth as, for instance, the Ionosphere is used as a
reflector channel for electromagnetic waves.
Figure 19 : Representation of the method of faking electromagnetic waves for different frequencies from subrefraction (low frequencies) to trapping (high frequencies) [1]
ESIEA 2006 Vislab
MEMOIRE William PAGNON 31
Ultimately, the aim is to create an ad hoc network where the sensors will be able to transmit
data directly to the main server, or if communication is impossible, on behalf other sensors.
This wireless system was tested at Davies Reef in December 2004 by S. Kinninmonth and I .
Atkinson [1]. For a traveling distance of approximately 70 Km, the signal to noise ratio was
>20dB most of the time and up to 25 dB. 34 Mbps transmissions were achieved with Code
Division Multiple Access (CDMA). This wireless system will be, in the future, used with the
software applications presented in this report. A ring buffer [25] will probably be added to the
system, as well as an SRB sharing system data to make a database transparent to the user
whatever where the data have been stored by finding the best path to reach the database and
prevent loss of data.
Google map API
The Google Maps API was created by Google to facilitate developers integrating Google
Maps into their web sites, with their own data points. It is a free service that currently does
not contain ads, but Google states in their terms of use [16] that they reserve the right to
display ads in the future. By using the Google Maps API you can embed the full Google Maps
on an external web site. The identification to access to the client Google Map is an API Key
that is bound to the web site and directory you enter when creating the key. Creating your
own map interface involves adding the Google JavaScript code to your page, and then using
JavaScript functions to add points to the map. Some plug-in libraries are also available to
display labels, for instance the Tlabel plug-in, which is used in the project.
We will use Google Maps as an interactive map to enable the use of satellites, road or hybrid
maps to locate precisely a particular place in the world. You can add to this tool an icon and
label interactive click to make a website visually interesting. For a project like the GBR it was
particularly helpful to be able to locate the buoys with the precision of a satellite photo
providing visual information on the shape of the reef and, of course, its location. This map is
particularly important because SensorNet is a map that itself evaluates in real time by
following changes in measurements of the environment to provide an accurate and up-to-date
map revealing the evolution of this natural and complex system.
ESIEA 2006 Vislab
MEMOIRE William PAGNON 32
Figure 20 : Example of use of Google Map in the website developed dur ing the project.
ESIEA 2006 Vislab
MEMOIRE William PAGNON 33
Technical Dimension of the Project
Overview
As described above, SensorNet is a project that aims to provide the infrastructure for
monitoring the GBR. It will be used to capture environmental data at numerous locations and
to create a map in real time of the parameters which can affect the fragile environment of the
coral reef. Buoys that will ultimately contain a variety of sensors and a GPS will be spread
along the GBR. Possible uses for the sensors include monitoring changes in temperature,
salinity, carbon dioxide and calcium levels, light intensity, and the presence of pollutants.
Cameras may also be deployed to allow real time observations of the reef environment by
researchers.
Due to the distances involved and constraints on the equipment used in the sensors it will be
necessary to route by wireless the information produced by the sensors, which is destined for
storage, via intermediate servers. The device ultimately storing the sensors’ data will store it
directly in a database for use by researchers. The user will then access the data via another
server which will manage the access right to the database from a GUI, a console mode and a
website. Below is a schematic description of what the whole system is supposed to be.
Figure 21 : Overview of the data streaming from buoys to final users
ESIEA 2006 Vislab
MEMOIRE William PAGNON 34
Data Used in the Project The usefulness of the data depends on the accuracy and precision of the collection process in
the field as well as effective archiving and reporting.
Archived Data
In 2005 Jared Sanderson [17] collected data from AIMS. Those data cover the past ten years
of temperature data recorded by 149 buoys spread along the GBR by AIMS. Originally, those
data were stored in a Microsoft Access database with more than 1.5 million entries. Stuar t
Kininmonth from AIMS provided the data for Jared Sanderson’s project. He transferred
them to a PostgreSQL database in order to remove the limitations that Microsoft Access
database has with concurrency issues and its inability to operate within a Linux environment.
I have transferred those data from his PostgreSQL Scheme to my PostgreSQL scheme
(available in the Database section).
The next map shows the current monitoring site on the GBR. There are in total 149 weather
stations spread over various important reefs.
Figure 22 : Map of the existing monitor ing site on the GBR, PNG and West Australia
ESIEA 2006 Vislab
MEMOIRE William PAGNON 35
Live Data Capture
Several thermocouples were wired to a Thermocouple Input Module created and
manufactured by Weeder Technologies [18]. The thermocouples were placed behind the fans
of several computers to measure fluctuations in temperature, and connected to the Weeder
module. This input module was connected to a Linux machine (known as the client or buoy)
via an RS-232 serial port. The module converts the data from analogue to digital. Software
running on the server machine applied trivial manipulation by averaging the sampled data for
each thermocouple and logging the results for the set period. Figure 23 and 24 present
respectively the Weeder board and how temperature data are collected as described above.
Figure 23 : Weeder electronic board that capture data from thermocouple [17] Figure 24 : Scheme of the stream of the data from the thermocouple to the computer that simulate the buoy
Project Architecture
The architecture of the project describes how the data are streamed and integrated
from the buoy and integrated into the database. This description will be aided by the
schematics on the next page. We will consider one element of the whole network from the
sensor to the database as an example, but the principle is applicable for the whole system.
On the Node (buoy), the data from four sensors (in our experimental case) are collected
periodically at certain intervals of time. Each measurement is stored with the ID of the
relevant probe, the state of the probe (to give a degree of reliability of the measurement), the
time when the measurement was taken, and finally its value. Every data also has the ID of the
sensor to which it belongs. All the sensors are identified by their ID, type, name, location in
ESIEA 2006 Vislab
MEMOIRE William PAGNON 36
three dimensions, and serial number. On the upper layer of the node is the embedded PC
which interrogates the sensors and stores the measurements it receives in return with all the
labels described above. The embedded PC is identified by an ID that refers to a particular
node, an English name, an IP address, a location and a session ID which will serve to keep
track of the stream of data.
Following identification to the server relay (see the protocol following), the node sends (at
each nominated discretion of time) the data stored and erases the data sent once it has
acknowledgement of reception from the server relay. The data are stored in the server relay
and sent to the main server on the earth’s surface. This server treats the raw data to make it
understandable to humans, stores and sends them to the database. Once the data are stored in
the database the server erases them. The Database is accessible from the web, a specific GUI
interface or a command line console.
ESIEA 2006 Vislab
MEMOIRE William PAGNON 37
���
������� ��������
���
���
������ �����
��������������� �������
������
��������
��������
�����
���� � ����� ���
���
���������
����������
������������������
����������
��������
���������
������
������
������
������
���
������
�� ��������������������
��������
�������
������
����
������������������
������������ !���
�������������
!�����������
������
������
������
������
�� ���������
������
������
������
������
��� ������
����� ��
Figure 25 : Technical architecture of the SensorNet software project.
ESIEA 2006 Vislab
MEMOIRE William PAGNON 38
The Protocol
The protocol has two parts: the Node (the device with sensors on the reef) and the
Server (the software that turns sensor data into something that can be stored in the DataBase).
The protocol uses TCP/IP, and can use a standard IP network to communicate. The Server
can be considered a normal network daemon since it will sit listening sockets waiting for
connections from the Nodes.
The Node opens a session with the server by connecting and immediately sending a “hello”
message. The only content of the hello packet is a session ID. The node’s IP address and its
session ID uniquely identify the set of readings that it will be sending to the Server. Upon
receiving the session ID the server will check if there is a session number already registered
for the IP address of the client. If so, the server sends a Resume message that identifies the
last reading successfully received by the server. If the session ID is unknown to the server it
will send a Start message to the Node.
When a Node receives a Start message from the Server it is required to send information
about its configuration to the Server. This information is described by the Host and Sensor
packets. The Host packet contains the Host’s name and the number of sensors the node has.
For each sensor a sensor message is sent describing its ID, type, description (what they are
measuring) and serial number (to find, if necessary, information on the product).
After a Resume, or after the required Host and Sensor messages are sent, the Node may send
all the readings it has collected that the Server has not yet received. The readings message
contains the sensor ID from which this measurement was taken, an ID for this reading, a
status for the reading, the time the measurement was taken, the location at which it was taken,
and the value of the reading itself.
ESIEA 2006 Vislab
MEMOIRE William PAGNON 39
���� ������� �� ������
��� ������ ����� ��
����
�� ��������
����
�������������
����� �
���������
��������
����������
�������
�������
���������
�����������
�������
���������
�����������
���� ���
�����
���
!�����
���
��"������������
�#���������������
��������$���������
���#��
���%�
����
�������#����
���������
���������������
��������
�������������������
��#�����������
&����������'
&�������������
�����������
���(((�
��� ��������������
���������
��������������������������
Figure 26 : Protocol of the network dialogue between the buoy and the server At any point after the Resume or Host/Sensor messages the Server may send messages that
update the operation of the Node. For example, the Server may require more frequent
measurements. To achieve this it would send an update message with the necessary
information.
If the TCP connection is interrupted, the Node will continue to take measurements and cache
them in memory as long as possible. Upon reconnection it will relay these readings to the
Server from the last reading that the server received.
ESIEA 2006 Vislab
MEMOIRE William PAGNON 40
The Server
The Server will be materialised by the antenna relay which will be the intermediary to
the final server. The data protocol between the antenna and the server on the ground is the
same as with the node and the intermediate server. The server stores the data until it is sent to
the Database. To reduce space, the data received by the server are mostly integers which are
then translated into English before being sent to the database. For instance, the type of the
temperature sensor will be recognised by a 0 in the packet area which describes the type of the
sensor. The values read off the sensors are transmitted over the network as integers (as
opposed to binary floating point values). To avoid a loss of precision the values need to be
scaled before and after entering the network. However, the values will be stored in more
readable formats in the database.
The Database
The Database is made with the Object-Relational Database Management System (ORDBMS)
PostgreSQL developed at the University of California at Berkeley Computer Science
Department [26]. The choice of this ORDBMS was simply imposed by the fact that Vislab use
it, and thus it will resolve many problems of compatibility in future applications of this
project. The scheme of our Database consists of four tables. The first one is called NODE and
contains the node information. A META data table provides extra information about the node
like when it was built, deployed, serviced, and so on. The third table, SENSORS, contains all
the information about the sensors and finally the READ table contains the measurement
information.
ESIEA 2006 Vislab
MEMOIRE William PAGNON 41
����
���)��*�������+��
����)���#�),--**
��./����)���*�0�1��
������.���)��*
������.�������)��*
!������)���*
!�� �����)���*
����#�)���*
��/�
��.�������)��*�2��� ��+��
���)��*�������+��
������)���#�)34**
����)���*
���.����)�������*
�������
��.�����)��*�2��� ��+��
���)��*�������+��
�����)���#�)34**
����)���#�)34**
����.�������)���#�)34**�0�1��
����%��)���#�)-44**�
!������)���*
!�� �����)���*
����#�)���*
&��/
��.�����)��*�2��� ��+��
����)���#�)34**
!������)���#�)5-4**
����)���#�)34**
���.�����)���#�)34**
�������)���#�)34**
!��.��������������)�������*
��������.���)���#�)34**
2���.���������)�������*
�����)���#�)34**
�����.���)���#�)544**
��������.���)���#��)544**
5(((�
5(((�5
Figure 27 : Database scheme The Database efficiency has been improved by providing Primary keys for data that have a
unique value, such as the ID Node and the ID Sensor. Foreign keys are extracted from them to
link the other tables. Thus a node can have N sensors and a sensor can have N measurements.
An indexation (that functions with Beta tree algorithm) of the main columns of each table has
also been added to improve the speed of the research when a query is sent. This indexation
increases the efficiency of ordering the data in a certain way but also records statistics from
the queries to increase its efficiency. Those indexes are constantly improving time displaying
of data on the GUI, console mode and the website (where there is a time restriction of 30
seconds on the PHP functions). Currently, the read table contains around 1.5 million entries
which represent a size total of the database of 200 Mb. This increase as fast as the new live
data are stored in the database.
ESIEA 2006 Vislab
MEMOIRE William PAGNON 42
The GUI
The GUI is built upon the Database with the GUI library Wx Python. The GUI is able
to interrogate the database and comprises three data manipulation tools. The Interface has two
panels: the parameters of the connection and the data manipulation panel. The parameters of
the connection panel include respectively the Database name, username, name of the
computer host, port where the Database is connected and name of the table on which we want
to work. A control board displays the information about the connection with the Database and
the cause of an error if it happens. A special Python Library called Psycopg was implemented
to interact with the Database. I have made, in turn, a special library containing functions to
send requests of connection with the protocol required to use it in different programs of the
project. This panel is illustrated below.
Figure 28 : Connexion panel of the GUI inter face Once connected to the Database, the researchers are able to query it with the Data_Graph
panel. On this panel one can type any queries on the Database or use the custom SQL query
tool that provides the main SQL command possibilities with multi choice select buttons. Here
is an example of a part of the table where all the sensors of buoy 138 have been selected from
ESIEA 2006 Vislab
MEMOIRE William PAGNON 43
the sensor table ordered by latitude from the second one to a maximum 30 sensor. The
language used to do the selection is standard SQL as defined by the PostgreSQL RDBMS
(which is the backend to this program).
Figure 29 : Selection panel with the customised or assisted tool and its mouse interactive gr id selection From this table, we can select one or more columns of numerical data to be displayed
graphically. One can select the columns to display and (or) the specific data from those
columns to be observed. Figure 30 is an example of the data one can plot; the SQL command
selects all the measurements from table READ with an offset of 3 million and a limit of
display on the grid of 1 million. From the grid have been selected the column value and
date_time by clicking on its label and repeatedly pressing the Ctrl key. At this stage, the graph
of the temperatures at random are displayed against there dates. When you click on the
desired sensors to display, by keeping as well the Ctrl key on, (as shown in the next figure) all
the values of the sensors selected will appear in different colours.
Figure 30 : Presentation of an example of graphic generated by the mouse interactive gr id selection
ESIEA 2006 Vislab
MEMOIRE William PAGNON 44
One can also display data in 3D scatter or full line by selecting three columns. If the columns
latitude and longitude are selected, which represent the GPS coordinates of the buoys; one can
observe their position on a map beside the graph.
Figure 31 : 3D graphic selection and map of the GBR with buoys plot on from the latitude and longitude selected One can also interact between the two tools by selecting a point on the map which causes it to
appear on the graph. Another possibility is to get the temperature graph and observe on the
map the variation in different areas by different colours or contours. The precise value can be
displayed on the top of the screen by clicking with the mouse on the map or on the graph. I
have used this to make the graph of a python library called Matplotlib, extracted from the well
knows Matlab software.
.
The Console Mode The console mode was developed in addition to the GUI to allow scientists to consult the
Database from a low rate network or a small computer without involving too much memory.
One cannot play on the graph or on the map with the database as with the GUI but one can
consult the database at a distance and use the SQL command to ask queries and receive the
result using only the shell console.
ESIEA 2006 Vislab
MEMOIRE William PAGNON 45
Architecture of the Python Programs
Most of the software has been made with python although a C driver for the weeder board has
been developed as well as a C client and server to increase the speed and the embeddability in
the buoys. The C client and server are unfinished, so only the python version will be
presented here.
The Scheme presented in figure 32 shows how the different programs interact with each other.
Firstly, the buoy programme (Com_class.py) reads and stores in a buffer and a CSV file the
data from the Weeder board at regular intervals with a thread timer. During this time, the
com_class tries to connect itself with the server (Server_final) by the network and send the
data with the protocol previously described. The Server_final.py tries in turn to connect to the
database and send information with the function in the library DB_Con.py . If the Database is
not reachable after a certain time, the server sends the data accumulated in the buffer on a
CSV file and will try to resend it when it is less busy. DB_Con.py uses the package psyco.py
for the specific functions that allow us to dialogue with a PostgreSQL database. Once the data
is entered in the database, they are accessible by the GUI or the console mode by asking
queries to the database with the same library DB_Con.py. The GUI is developed with
functions and objects belonging to Wxpython. The graphic are generated by the functions and
objects of Matplotlib which was previously a library of matlab functions adapted to Wx
python. The Matplotlib library requires the installation of other packages not displayed here
but which are essential for specific functions rendering graphs in 3D or mathematic functions
(see class architecture in annex 3). The function image is also needed to display the map and
to incorporate it in a canvas which can also be used to plot the spot representing the buoys.
The console mode requires only DB_con.py to run. This reproduces most of the behaviour
possible on the PostgreSQL console and displays the information in tables. Python is a simple
object language to use (but nevertheless powerful) that avoids a lot of syntax error due to the
simplicity of its syntax, which does not require (like most of the programming languages)
commas or other controls, although the structure it is still identical to other programme
objects like Java. The codes of the different programs are on the CD. NB: that for the website,
the functions to connect to the database are already integrated in the default library of PHP.
ESIEA 2006 Vislab
MEMOIRE William PAGNON 46
�/�/6/��
�6.���(��
������.���(�����������.70�(��
��������(��
������.�������(�� ���.����(��8�����(��
89���#��(��
Figure 32 : Program architecture of the python programs
The Website:
The website was created to allow people outside the scientific community to explore through
Google Map the different data recorded by the different buoys with meta information and
graphs with different time scales available. One can explore the map and select desired buoys
by clicking on the icon located on the desired latitude and longitude. The number of the buoy
is then displayed and if more information is required, one can click on the message box on the
link to display a table giving the main information on the buoy. Two graphs are displayed to
show the data associated to the buoy. The first one represents the display of all the sensors of
the buoy in one graph and the second represents each sensor in a separate graph. One can
keep the charts of one buoy to compare them with another one by clicking on the button keep
graph. Once the information and the charts of one buoy are displayed, one can also select in
list form a sensor to get more detail about its state and characteristics. Figure 33 describes
how the website is structured.
ESIEA 2006 Vislab
MEMOIRE William PAGNON 47
��������
7��#,(�#�
#���'::�� (����(�1(���(�: �� .�;(�#�
7��#;(�#� &��� ��#(�#�
6������������
)�����<�*
=�������
�#��������
������7�� ���
&��6������������
)�����<�*
&��� ��#,(�#�
+�����#������
)�����,<�*
+���� ��#�
������
&����������
���������������������� ����
����#�������������#����
������� ��# /��������� ��#/��������� ��# ������� ��#
����'
����������
����'
�����������
)������<�*
�������
�������
������
���� � ��� � � � �� �� � �
�
���� � ���� � � �� � �� � � � � � �
�� � �
���� � ���� � � �� � �� � �� � ��
� � � �
Figure 33 : Website architecture This website is made on one webpage that names different script pages in PHP place on the
web page as different image objects. The main page
Http://dlg.vislab.uq.edu.au/goog_api3.php (This page is not accessible for the moment from
outside of the lab) displays when the Google Maps is launched along with all the buoys from
the Database that the main webpage requests to display in JavaScript to the client “Google
Map” by sending it the longitude and latitude of each of them extracted from the Database.
The main page also asks the Google Maps client to return the position of the center of the map
and the selected buoy if the user clicks on the link in the information bubble. The position
information allows the user to find a buoy near a certain longitude and latitude. The
information of the selected beacon displays the info buoy table which is in the HTML body of
the main page and the two graphs that display the sensor measurement curves. Those graphs
are implemented in separate PHP scripts that are generated by reading the value of the
ESIEA 2006 Vislab
MEMOIRE William PAGNON 48
selected buoy in the variable situated in the web address that I have called beacon. To access
those variables, we use what is called a GET function. If the user clicks on the button form
keep graph, another web address variable is created by the instruction POST that I have called
beacon2 which keeps in memory the graphic of the buoy in which the user was interested.
The graphs have been done with the library Pear. Another web address variable is created
when the user uses the list form to display information from the database from a particular
sensor. All the different PHP scripts present different queries to the database as illustrated in
the web site map.
Figure 34 : First part of the webpage displayed when all the options are selected
Figure 35 : Second par t of the web site with all the options selected
ESIEA 2006 Vislab
MEMOIRE William PAGNON 49
Example of Data mining Extraction Through the Presented System
This part shows an example application of this software. This simple example is going to lead
us through the website and some of the software utilities. We will suppose that we want to
observe the temperature variations between two buoys situated at two different latitudes at a
certain period in time. Firstly, we select the two buoys on the website to observe the
difference between buoy 132 situated on the north cap of Australia at the latitude -10.58 and
buoy 149 situated near Brisbane at the latitude -24.81.
Figure 36 : Full webpage generated for the case study In the first screenshot we can observe the first graph kept from the buoys near Brisbane with
only one sensor in service from 09/07/1998 to 1999/04/24 and the second graph which
displays all the sensors of buoy 132 (which were more regularly active than the first) visible
in the middle of the map as the selected one with its meta information on the left table. We
can observe that the sensors change regularly every year and half on average. Occasionally,
ESIEA 2006 Vislab
MEMOIRE William PAGNON 50
there is a gap in the graph which represents a certain period of time when the sensor was not
replaced. From the graph, we can deduce that there is approximately an average of 10°C
difference between the two buoys for a difference of around 14 in latitude.
At the end of the webpage, we can see the graphs of sensors in detail. And we can also check
if the state of the sensor was operational by clicking on the desired one, in our case, sensor
n°340. We can observe here that the fluctuations of temperatures during the years 1998-1999
have the same shape and approximately the same variations. The small map on the side is a
zoom out of the main map to give a better idea of our location in Australia.
For more precision, we can use the GUI to explore the data. We first enter the SQL command
manually or by the pre selection tool that will select the data of those two sensors. This SQL
command is the following:
SELECT * FROM read WHERE id_sensor =… OR id_sensor = …. ORDER BY date_time;
The grid of data is displayed and you select the column value and date_time by clicking on
the label of the column and keeping ctrl key on to select the second column and then the cells
that contain the ID of the desired sensors in the id_sensor column. The graph displays those
two sensors information in two different colors.
Figure 37 : Graphic generated on the GUI for the case study
ESIEA 2006 Vislab
MEMOIRE William PAGNON 51
The graph can be saved in PNG format as shown in Figure 38. Obviously, the temperature
variation of temperature is higher between winter and summer at least for the year 1998-1999.
In order to ascertain whether it is an isolated case due to El Niño or a general behavior, we
need a chronological comparison over years of observations of areas proximate to those buoys.
Clicking on the graph of the desired point displays on the top of the graph the exact date and
value at its plot. You can also zoom in, out, and travel on the graph with the tool bar
implemented in the graph window.
Figure 38 : Saved picture file of the graph on PNG format for the case study Taking two temperatures for each sensor at the same period of time at six month intervals
yielded 7.34 °C for the first Measure and 1.87 °C for the second one. Given this temperature
another SQL command obtains the average of both sensors during the same period of time and
their max and min values. The SQL command is the following:
SELECT avg(value) FROM read where (id_sensor = …. OR …) AND date_time<’…’ AND
>’…’.
ESIEA 2006 Vislab
MEMOIRE William PAGNON 52
Figure 39 : Example of mathematical operation in SQL from the GUI One repeats the procedure for the max and min values by substituting them for avg. This
simple case study has presented a part of the software’s capabilities. This tool can be,
improved but it can be used to extract scientific data. It also displays obvious or small
differences between the website to the GUI where the data can be scanned one by one or by
meaningful groups selected via an SQL command. Selection in the grid of those groups of
data is intuitive and offers many possibilities for displaying specific graphs as desired. Thus,
this tool facilitates the tracking of climate change or following the implementation of sensors
other than temperature sensors, e.g. for water quality; It also opens the possibility of crossing
different graphs with different scales to yield additional information.
Let see now what happened to the life data recorded over two months. To show the evolution
of data taken in laboratory environment, see below the graph from the website where the
average of all the sensors measurements from the buoy TEST are shown, as well as the graph
from the GUI which represents all singular data.
Figure 40 : Graph from the website of the simulated buoy sensors for live data
ESIEA 2006 Vislab
MEMOIRE William PAGNON 53
From the graph of the Website, we can notice a steady temperature for each of the four probes
presented behind fan of server computers on all the time. Thus sensor 800 gets a steady value
of 30 °C when the 3 others are around 25 °C.
Figure 41 : graph from the GUI of the simulated buoy sensors for live data
On the second graph, we can observe that during this period of time each probe records a
variation of ± 1°C around the average value described from the website
graph.
Figure 42 : zoom in of the graph from the GUI of the simulated buoy sensors for live data
Figure 42 is a zoom in of five days of observation from the sensor 950. We can see here more
clearly the peak of ± 1°C that occurs for 3h30 for the first and less than 30mn for the second
one. We can conclude from those graphs that the peak variation depends on the processor
ESIEA 2006 Vislab
MEMOIRE William PAGNON 54
work of each PC. The servers’ room is temperature regulated and thus the environment
temperature does not affect the peak phenomenon.
Conclusion of the Technical Part
I explained here the different technical aspect of the project at different levels of
comprehension. I have as well tried to not be too technical, so as to offer a wide
comprehension of the project by keeping the reader focused on the important points. The class
architecture of the python program is available in the annexe. The codes of the python
programs as well as the PHP are not available on this report as they contain about 5000 lines:
they are included in the CD accompanying this report. The functions in the code are not
individually presented here but are well commented in the code. To display an example of
python code, the program of the buoy, which is the smallest, is provided in annexe 6.
This is a fantastic tool to read and manipulate data in a way I think useful. The wide diversity
of the program utility presented in this part to develop this project has provided me a
significant experience in programming which has increased my previous knowledge. The GUI
and website are the main tools to manipulate data. The practical case shown us the different
possibilities offer by the system to analyse data. We have thus seen how generic those tools
can be.
ESIEA 2006 Vislab
MEMOIRE William PAGNON 55
Human and Management Dimensions
Internal to the Company
The university environment with its campus of 31,800 student (12 % of them are overseas
students) makes it a virtual township (restaurant, optician, dentist, pharmacy, post office,
sports complexes, theatre, cinema etc…). The Vislab laboratory is part of EPSA which is one
of the seven faculties of UQ.
This Research Centre where I performed my training course is friendly. The laboratory is
composed by Professor Bernard Pailthorpe helped by Nicole Bordes who gave me the
directions of the project. They find new projects for the students and supervise them. They
also give Magisterial courses in Scientific Computing from 1st year to 4th year level. They also
travel around the world to give conferences and informed themselves about the breakthroughs
in Scientific Computing that colleagues around the world have done. Three people work in
the lab: Chris Willing, David Gwynne and Terry Simmich who arrived few months before
the end of my training courses to work on archaeological computing. Chris helped me when I
arrived, with understanding the material, explaining to me the previous work on the project
and teaching me the bases of Linux with a great passion. David Gwynne advised me on how
to structure the project, the different development tools that exist and also with solutions
when I had difficulties resolving a mistake in my code or in developing certain functions.
These two people have a lot of experience in Linux, Python, Networking, Databases and
Websites.
The lab is also developed and uses the videoconference system Access Grid originally
developed by Argonne National Laboratory. Everybody works independently on their own
project and questions are encouraged. There are also thesis students who work on different
projects in the lab. My greatest impression of this research laboratory was of people’s
professionalism and open mindedness towards original projects and solutions for them. Every
week, there is a lab meeting with the staff where everybody discusses their progress with their
projects. Recently, the lab has decided to update its website to make it more interactive and to
showcase past and new projects.
ESIEA 2006 Vislab
MEMOIRE William PAGNON 56
Figure 43 : photo of Vislab with the Access Grid node environment with multi conversation and software utility running through 3 power wall projectors
The fact that the objective of JCU changed in the middle of the project forced me to work
independently and not in collaboration as was expected at the start. Nevertheless, the success
of the project realisation will perhaps change their point of view and make them consider the
usefulness of a partner. From my point of view, this project which concerns environmental
preservation must not concern the self satisfaction of a University. This ethical project is the
occasion to point out how often projects are considerate first of all for there economic interest
instead of their usefulness for people and their environment. You have of course to consider
the economical part of a project, but this part should always go after the purpose of the project
itself. Personally, I will never accept a project in my career that goes against my own beliefs
whatever the personal economic interest involved.
ESIEA 2006 Vislab
MEMOIRE William PAGNON 57
Discussion The SensorNet project is not only applicable on the GBR but is also a tool in other
applications involving displaying and manipulating other types of geospatial and temporal
data with this general approach. The GUI is already a fantastic tool to visualise the data of any
database. The versatility of this software has been proved by integrating archaeological data
instead of the data from the GBR. Figure 44 present the archaeological site of two different
type’s representation on the web site of two different archaeological types with database
information on the left. You can as well see the data in the GUI by selecting the database and
table that contain the archaeological data. GUI is versatile for all kinds of spatial and temporal
data.
Figure 44 : presentation of the website used for archaeological data instead those of the GBR
ESIEA 2006 Vislab
MEMOIRE William PAGNON 58
Figure 45 : example of the GUI used for archaeological data instead of those from GBR
A lot of improvement can be added to this project; on the one hand the implementation of
other tools e.g.: Google Earth, to replace the simple picture where the position of the buoys is
represented to make it even more interactive. As an example, a mix of the map from the data
satellite and the sensor network can be considered. NOAA [9] has already implemented
satellite data in Google Earth. This could be done for this project.
Another step includes adding an SRB system, which provides on top of the Database a file
system management allowing a physical split of data stored in different places in the world.
Indeed, data streaming projects generate with time a massive amount of data which are often
spread in different HPC that belong to the creator of the project. The ring buffer
implementation can also improve the efficiency of the network.
The ergonomics of the GUI interface needs to be improved by providing intermediate visual
tools to make possible mathematic manipulation of the data without using the SQL language
as it is currently done. Adding more tools on the website would allow the user to not only
visualise the graph but also to interact with the data to satisfy anybody’s curiosity.
ESIEA 2006 Vislab
MEMOIRE William PAGNON 59
A side project of my thesis has been to develop an XYZ stage concept to prove the viability of
remote instrumentation through the Access Grid. The aim was to prove that Access Grid users
could control the stage a microscope and receive the pictures of what was being observed in
real-time. This will give an interesting tool to the access grid to manipulate physical
experiments via videoconference or simply make action on the real work with a feed back
from the other side of the word. To do this, I used a microscope and built around an XYZ
stage in Lego Mindstorm. This was chosen mainly because of access to a side ITEE laboratory
and because of the ease of building a device without having the workshop making one
(which costs a certain amount of money even if its part of the university, every section of the
university work as small company). Figure 46 shows a photograph of the final realisation.
Figure 46 : XYZ Stage developed as Access Gr id physical tool possibility example
This project has been a real pleasure because of its ethical dimension as well as the manifold
applications of the tool development; I had to use: SQL, PHP, HTML, JavaScript, Linux and
Python as computer languages. I have also developed a C driver for the sensor card. The
impact that this project can provide on the GBR is immeasurable. If the project is continued
as expected, the next person will get good software architecture to make a professional and
really useful monitoring tool.
ESIEA 2006 Vislab
MEMOIRE William PAGNON 60
This Internship has been an interesting experience, as well, in Human relations, technical
involvement and personal experience in this multicultural country which is Australia. The
environment where I worked has provided me a wide field to satisfy my curiosity. The
development of a tool that monitors our environment and provides intelligible data to
interested people has improved my knowledge of the man-machine relationship environment
as well as a better control of Linux and number of programming languages. This has
improved my knowledge in the range of programming languages I already know. This
completes my engineering degree that has provided me, not only a grasp of general
formations but accurate skills in computer science, electronics, robotics and human formation.
Working on and managing several projects as taught at ESIEA has allowed me to get a
significant experience in project management which includes team management. Through the
different internships I have done during my studies (3 from the ESIEA formation, 8 in total) I
have acquired the base of work experience in several technical and service domains that have
offered me a wide vision of the possibilities that my work provides without being constrained
to a specific field. It is why I have always oriented my internal projects in robotics and
aerospace to manipulate different aspects of science that provide the building of machines that
involve Artificial Intelligence (AI), electromechanical bodies interacting in the environment.
I will always remember the three years I spent at ESIEA Laval, where the relationship
between students and ESIEA Laval staff was open with a lot of clubs to animate the social
and professional life of the student to allow him to express his self as he feels, which allows a
creativity in the project he develops which can exist only if the passion is there, helped by the
well being and the ability of choice of the student. This has been the case for me with the
involvement in a social club of robotics with the participation of two French robotic cups and
the management as secretary which has provided me during two years without counting the
hours a great experience in practical development of projects which has been completed at
UQ by working on the motion of a humanoid robot for the world cup of robotics in Japan.
The knowledge I have found the most sensitive to get is to forecast, in a project, the human
formation which is the art of adapting yourself (and the purpose you lead) through a semi
predictable environment. Indeed, the technical and mathematical part is the easiest, even if it
can take a while to understand the logic. But it is only logic and thus it is more predictable.
The Human relations are in fact logical but through unpredictable interactions that make it
ESIEA 2006 Vislab
MEMOIRE William PAGNON 61
complex to analyse. The understanding of the own personal objectives of each person and
what can affect them, is perhaps the best way to be able to manage the team, by individually
managing each person for their skills and personality rather than as a number. In a company,
you can have the best machine, the best workers, if you do not know how to make cohesion in
the team, you will never get better than an average result.
The communication in a team or in the human society in general is like this sensor network
which collects information from our natural environment. We collect information firstly
through the people that populate our network of relations. Nowadays, that mediation of
information is through the internet, which has considerably improved access of knowledge.
The quality of the information you collect depends on which query you ask. This metaphor
shows how crucial the well spread (or well sharing) of information and human relations are
important to improve our societies based on communication. The importance of how data are
stored and accessed has a decisive influence on the frequency and the facility of accessing.
The information of the world seriously changes the relation we have with life to share a part
of the time on internet to communicate as we would communicate by telephone on the web
network with more senses involved; auditory and visual with some tactile possibilities and
perhaps in the future smelling to access simulated environments’ ambience stimulating our
proper sensors to acquire more experience in miscellaneous domain by convenient way. A
simulation of the real will never replace it. Several projects of sensorial environment are
developed by ESIEA for interactive presentation, leisure development or phobic pathologies
for example.
In the future, the world will be covered more and more by different little networks which will
be linked in turn to other networks forming a complex system in perpetual transformation and
maturation. The understanding of the impact of spreading sensor networks will trigger, by the
way, the transformation of the human environment and habitat like other breakthroughs of
science when the market is favourable. We have seen as well the possibility of an
environmental change previously with the forecast of the greenhouse effect. The coral
environment is like a thermometer of the complex water exchange system with the ocean and
the sky; it can provide important information indirectly or directly about for instance the El
Nino effect for better forecasting. The extreme environment in which the buoys are exposed
gives a challenge to humans and provides a motivation to develop new systems like the
creation of new sensor specially resistant to the corrosion of the salty water or this wireless
ESIEA 2006 Vislab
MEMOIRE William PAGNON 62
study done on Davies Reef [1], which has shown the possibility of using the evaporation layer
of the ocean surface to reflect electromagnetic waves that transmit the information.
The GBR is globally one of the best protected reefs. A lot of people are involved in this
protection voluntarily or by profession. All of those people hope to provide to their children
the same quality of earth that we have inherited. This technical application will perhaps in the
future help people to extract information of better quality, to ameliorate preservation of the
reef, thanks to this monitoring system. The full establishment will also get economic benefits
when they ultimately install cameras to provide live video of the reef as a tourist attraction.
A last word about Australia, this country where I have spent eighteen months doing a Master
of Science in Mechatronics and this internship for Vislab and ESIEA. Australia is an Amazing
country, from its natural (and unique in the world) environmental richness in fauna and flora
to its quality of life. It has huge spaces where the scale of distance changes considerably
compared to Europe, where each major town is separated by 1,000+ Km instead of 250 Km.
The population, which is only 20,588,000 people for a space of 8 million kilometre square, is
in general really optimistic and friendly. Their main phrase is “No Worries” and their sense of
humour is as pretty as their country. Economically, According to the ABS [27], the Labour
Force is growing non-stop, as the illustration obviously shows, from 1996 to today.
Figure 47 : Char t of the trend estimate of employed persons in Australia Figure 48 : Char t of the trend unemployment rate in Australia Income salary for a beginning Engineer is between $35K and $45K and even more depending
on the profile of a new arrival on the market. After 5 years of experience or less, an engineer
can expect around $70K AUD or more. Those incomes are about the same in France
according to INSEE [20] with a +4% of influence in the salary for ESIEA engineer. The
Opportunity to open new markets as well as developing new ideas seems easier in Australia
than in France where the mentality is still often closed to innovation and prefers to stay inside
ESIEA 2006 Vislab
MEMOIRE William PAGNON 63
familiar agenda. This is certainly due to the optimistic point of view of Australian peoples. To
conclude I have decided to stay in Australia for the next five or six years to discover in depth
this country where I have found only advantages until now.
ESIEA 2006 Vislab
MEMOIRE William PAGNON 64
References [1] Chr istopher M. Palazzi, Graham S. Woods Member, IEEE, Ian Atkinson, Member, IEEE, and Stuar t Kininmonth, “ High Speed Over Ocean Radio L ink to Great Barr ier Reef », TENCON, Palazzi, 2005 [2] Weeders Technologies website, “ Thermocouple Input Module,” http://www.weedtech.com/ [3] Bernard Salvat,Jessica Haapkylä, Mur iel Schr imm, “ Coral Reef Protected Areas in international instruments” , World Heritage Convention, World Network of Biosphere Reserves, Ramsar Convention, November 2002 [4] Reef HQ aquar ium website, the Great Barr ier Reef, www.reefhq.com.au/about/GBR.html [5] Clive Wilkinson, Status of Coral Reef of the Wor ld, Global Coral Reef Monitoring Network, 2004 [6] Mar ine Science website, “ the coral animal” , http://www.biosbcc.net/ocean/mar inesci/04benthon/crani.htm [7] AIMS website, “ AIMS long-term monitoring of the Great Barrier Reef” , http://www.aims.gov.au/pages/research/reef-monitor ing/ltm/ltm20000622-gbr.html [8] AIMS Research Plan 2003-2006 [9] NOAA Satellite and Observation website, http://www.osdpd.noaa.gov/PSB/EPS/SST/climohot.html [10] AIMS Coral ID product website, http://www.aims.gov.au/coralidcd/CoralID_Overview.htm [11] Stuar t Kininmonth, Scott Bainbr idge, Ian Atkinson, Er ic Gill, Laure Barral
and
Romain Vidaud, “ Sensor Networking the Great Barr ier Reef” , Spatial Sciences Qld journal, 2005 [12] ORNL SensorNet website, http://www.sensornet.gov/news/sn_news_kn022706.html [13] FollowUs Mobile Phone Tracking website, http://www.followus.co.uk/ [14] Bandweaver Technologie website http://www.sensornet.co.uk/index.cfm?page=98& zone=1& casestudy_id=12& case_studies_action=view_casestudy [15] Commsdesign website http://www.commsdesign.com/showArticle.jhtml?ar ticleID=49900460 [16] Google Maps API website, http://www.google.com/apis/maps/
ESIEA 2006 Vislab
MEMOIRE William PAGNON 65
[17] Jared Sanderson, “ Data Capture and the Management of Data Streaming from a
Network of Sensors” , ITEE (UQ), 26th
October 2005 [18] Weeders Technologies datasheet WTTCI-M “ Thermocouple Input Module” [19] CRC reef research centre website, http://www.reef.crc.org.au/discover/plantsanimals/cots/cotsmanage.html [20] INSEE website, http://www.insee.fr /fr /home/home_page.asp [21] Argonne National Laboratory website, http://www.anl.gov/welcome.html
[22] idp Education Australia website, http://students.idp.com/english/university/queensland/#facilities
[23] AIMS Reef Monitor ing website, http://www.aims.gov.au/pages/research/reef-monitor ing/methods.html#broadscale-surveys
[24] I fremer website, El Niño, http://www.ifremer.fr /lpo/cours/elnino/index.html
[25] Wikipedia, ring buffer definition, http://en.wikipedia.org/wiki/Circular_buffer [26] Berkeley Computer Science Department website, http://db.cs.berkeley.edu/
[27] Australia Bureau of Statistics website, http://www.abs.gov.au/
ESIEA 2006 Vislab
MEMOIRE William PAGNON 66
Annexes
ESIEA 2006 Vislab
MEMOIRE William PAGNON 67
Annexe 1: Glossary
ABS : Australian Bureau of Statistics
AIMS : Australian Institute of Marine Science
APAC : Australian Partnership for Advanced Computing national facility
API : Application Programming Interface
CCD : Charge Coupled Device
CDMA : Code Division Multiple Access
COTS : Crown Of Torn Starfish
CSV : Comma delimited file
ESIEA : Ecole Supérieur d’ Informatique, d’Electronique et d’Automatisme
(Superior school of Informatics, Electronics and Automatisms)
EPSA : faculty of Engineering, physical Science and Architecture
GBR : Great Barrier reef
GPS : Global Positioning System
GRMN : Global Reef Monitoring Network
GUI : Graphical User Interface
HF : High Frequency
HPC : High Performance Computing
INSEE : Institue National de la Statistique et des Etudes Economique
(National Institute of Statistic and Economic studies)
IP : Internet Protocol
ITEE : Information Technology & Electrical Engineering
JCU : James Cook University (Townsville)
NOAA : National Oceanic Atmospheric Administration
NRAVS : Natural Resources, Agriculture & Veterinary Science
ORDBMS : Object Relational Database Management System
ORNL : Oak Ridge National Laboratory (USA)
PHP : Hypertext Preprocessor
PNG : Portable Network Graphic
PNG : Papua New Guinea
QCIF : Queensland Cyber Infrastructure Foundation
QPSF : Queensland Parallel Science Foundation
ESIEA 2006 Vislab
MEMOIRE William PAGNON 68
SBR : Storage Resource Broker
SBS : Social and Behaviour Science
Sc : Science
SGPA : School of Geography, Planning and Architecture
Shell : Human-Computer interface in command line
SPS : School of Physical Science
SQL : Structured Query Language
TCP : Transmission Control Protocol
UQ : University of Queensland
USB : Universal Serial Bus
ESIEA 2006 Vislab
MEMOIRE William PAGNON 69
Annexe 2: Colour Scale of HotSpot and DHW
Status Level Definition Description No Stress HotSpot " 0 corals are not
currently experiencing any thermal stress
Bleaching Watch
0 < HotSpot < 1
temperatures are above normal summer maximum, but corals are not yet stressed
Bleaching Warning
1 " HotSpot and 0 < DHW < 4
corals are experiencing a low-level buildup of thermal stress
Bleaching Alert Level 1
1 " HotSpot and 4 " DHW < 8
corals are currently stressed, accumulating to a level where bleaching is expected
Bleaching Alert Level 2
1 " HotSpot and DHW # 8
corals are currently stressed, accumulating to a level where widespread bleaching and some coral mortality is expected
Reef Shelf Position Tows COTS
COTS per tow
Median % Live
Coral Cover
Median % Dead Coral Cover
Median % Soft
Coral Cover
Reef Status
BEAVER Mid 29 68 2.34 0 to 5 0 to 5 5 to 10 AO ELLISON Mid 59 159 2.69 0 to 5 0 to 5 0 to 5 AO FLORA Mid 51 0 0 0 to 5 0 to 5 0 to 5 RE TAYLOR Mid 60 1090 18.17 0 to 5 0 to 5 0 to 5 AO MOSS Outer 50 0 0 20 to 30 0 to 5 0 to 5 NO POTTER (A) Outer 80 464 5.8 10 to 20 0 to 5 0 to 5 AO
ESIEA 2006 Vislab
MEMOIRE William PAGNON 70
Annexe 3: Class from SensorNet_GUI.py with there function:
Panel Classes:
>�����%.���.��)�������*
>�����$�.��.���)�������*
>����#�.��.���)�������*
>�����$�.����.���)�������*
>����#�.����.���)�������*
>�����$�.#���.���)�������*
>����#�.#���.���)�������*
>�����$�.����.���)�������*
>����#�.����.���)�������*
>�����$�.����.���)�������*
>����#�.����.���)�������*
>7�������)*�'�����
>7�������)*
>�$������������)������'����� *
>7��/����)*�'�?���������@
A�����
A�
�����!��!"���
Utility Classes :
>�)*
A�����
A�
A��
A����
A��
����# ��
Packages used:
ESIEA 2006 Vislab
MEMOIRE William PAGNON 71
ESIEA 2006 Vislab
MEMOIRE William PAGNON 72
Annexe 4: Classes from the other python program:
Class from db_con.py and its package:
>��)*
>����.����)������.���*
>�����.��)*
>�����.��.��)*
>����.�����)�������*
>������.��.��)������.���*
>������.������.����)*
>������.������.���)*
>������.������.����)*
>������.������.���)*
>�#��%.�����)*
> ��.� �.���)*
> ��.��.����)*
A��.���
A����.���
A#���.���
A����.���
�$!���
Class from Consol_control.py :
>��)*
>����.���)*
>����.������)*
>��������)*
>�����.��)*
������
Functions from server_final.py :
>�$����.��)*
>�$����.��)*
� %
ESIEA 2006 Vislab
MEMOIRE William PAGNON 73
Classes from com_class.py :
ESIEA 2006 Vislab
MEMOIRE William PAGNON 74
Annexe 5: Package installation
module used:
for the GUI interface:
python 2.3
WxPython
for the graph in Wxpython:
matplotlib -0.86.2
numarray -1.5.1
numpy
numeric -24.2
mpl3d
scipy -0.4.6
display map:
imaging
basemap -0.8.2
psychopg (http://initd.org/projects/psycopg1)
postgreSQL 8.1.3
for the website:
php 4
for the graph:
pear
pear/DB.php
ESIEA 2006 Vislab
MEMOIRE William PAGNON 75
Annexe 6: Installation instruction:
t o execut e t he GUI i nt er f ace: l aunch Sensor Net _GUI . py ( db_con. py i s t he l i br ar y t hat make t he di al ogue wi t h t he DB) t o execut e t he consol mode: l aunch consol _cont r ol . py ( db_con. py i s t he l i br ar y t hat make t he di al ogue wi t h t he DB) t o execut e t he ser ver : l aunch ser ver _f i nal . py ( db_con. py i s t he l i br ar y t hat make t he di al ogue wi t h t he DB) def aul t DB par amet er : name_dat abase=" wpagnon" user _db=" wpagnon" host _db=" 130. 102. 78. 171" por t _db=" 5432" t ab=" node" def aul t c l i ent par amet er : HOST_cl = ' ' PORT_cl = 2059 you can change t he def aul t set i ng of t he dat abase name, t he db user , t he db host , t he db por t , and t he def aul t t abl e as wel l as t he c l i ent por t and host name on t he t op of t he pr ogr am. t o execut e t he c l i ent : l aunch com_cl ass ( Weeder . py i s t he l i br ar y t hat cont r ol t he pr obs boar d by RS232) def aul t host : 130. 102. 78. 160 def aul t por t : 2059 t o l aunch t he web si t e: t ype f or t he moment ( f r om t he l ab onl y) : ht t p: / / dl g. v i s l ab. uq. edu. au/ wpagnon/ goog_api 3. php
ESIEA 2006 Vislab
MEMOIRE William PAGNON 76
Annexe 7: website bookmarks used for the project SensorNet: mirror.AARNet.edu.au Home wx: wxPython Online Docs wxWindows 2.4.2: A portable C++ and Python GUI toolkit http://sda.iu.edu/embedding_in_wx3.py wx.EvtHandler Class Tkinter to put a GIF Image on a Canvas (Python) wxGlade user manual Python: Python 2.4.2 Documentation - 28 September 2005 ASPN : Python Cookbook : Use ADO to list field definitions for tables Serpia: Python/MySQL tutorial Python: Index of Modules Python Imaging Library Handbook (2003 Edition) Numerical Python The elementtree Package Dates and Times rs232: Serial Communication via RS-232: bioscom example -ElectroSofts.com Weeder Technologies RS-232 Data Modules Serial Drivers C : Aide en C: Table des matières CPPFrance.com | C / C++ / C++.NET | 4770 sources CPP, C/C++, Source, Code, Programmation, Cours , Tutorial, Tutoriaux etc... mini-HOWTO de programmation des ports d'entrées / sorties sous Linux Programming IP Sockets on Linux, Part One Javascr ipt : JavaScript Guide JavaScript Guide Core JavaScript Guide 1.5: Javascript Basics Part 6
ESIEA 2006 Vislab
MEMOIRE William PAGNON 77
Matplotlib: Matplotlib / pylab - matlab style python plotting (plots, graphs, charts) Matplotlib / pylab - matlab style python plotting (plots, graphs, charts) Matplotlib / pylab - matlab style python plotting (plots, graphs, charts) The Matplotlib User’s Guide matplotlib support Cookbook/Matplotlib - SciPy.org Cookbook/Matplotlib - SciPy.org /networkx/trunk/doc/examples/degree_sequence_matplotlib.py - NetworkX trac - Trac Cookbook/Matplotlib/Maps - SciPy.org Matplotlib / pylab - matlab style python plotting (plots, graphs, charts) SciPy Course Outline Postgresql : PostgreSQL: FTP Browser PostgreSQL 8.1.1 Documentation PsycopgTwoFaq - psycopg - Trac PostgreSQL: Documentation: Manuals: PostgreSQL 7.4: pg_dump Index of file:///home/wpagnon/dl/psycopg2-2.0b8/doc/api/public /psycopg2/trunk/lib/extras.py - psycopg - Trac DISLIN-Manual HTML: Forms in HTML documents HTML and DHTML Reference HTML Commands Tables Cascading Style Sheets, level 1 Cascading Style Sheets, Level 2 Manpage of SEND PHP: PHPBuilder.com, the best resource for PHP tutorials, templates, PHP manuals, content management systems, scripts, classes and more. PHP: pg_fetch_assoc - Manual PHP: pg_fetch_assoc - Manual PHP Classes - Class: RPG Ajax Creator PHP: Manual Quick Reference GraPHPite - Open Source PHP OO Graph Rendering Utility Writing Scripts with PHP's PEAR DB Module adaptive path » ajax: a new approach to web applications JavaScript Client-Side JavaScript Reference JavaScript Arrays JavaScript Tutorials: Complete List
ESIEA 2006 Vislab
MEMOIRE William PAGNON 78
FAQTs - Knowledge Base - View Entry - JavaScript: List: Create: Array: Loop: Dynamically: Can you give overview creating <select><option>? GoogMap: Google Maps API Documentation Google Groups : Google-Maps-API Google Maps API Version 2 Tutorial Google Maps API Custom Markers TLabel: A Google Maps Extension Read This First - GoogleMapki Pear: Manuel PEAR A propos de PEAR pear.veggerby.dk - Image_Graph Samples Linux: linux List of Commands for vi - Unix Editor Linux Tutorial Other : Reef Research: Volume 8 No. 1 March 1998 SensorNet Index of /wpagnon microscope Newport 562-XYZ Multi-Axis Positioners for Sale Penplot/Drill XYZ Table Motorized Positioners & Controllers - Catalog - Opto-Mechanical Products - Standa PI Datasheets / Descr.: C-880 Automation Platform XYZ Tables | Newmark Systems Motorized Products - Examples of linear slides XYZ Tables | Newmark Systems Advanced Lego Mindstorms Programming in Visual C++ LEGO Shop At Home
ESIEA 2006 Vislab
MEMOIRE William PAGNON 79
Annexe 8: Example of python program, Class_com.py #!/usr/bin/python import Weeder import time import socket from threading import Timer import threading import string import sys timer_delay=600.0 time_count=3 time_send=6 #read the data of temperature class thermoRead: def __init__(self): self.termo = None self.all_thermo_sensor=[] self.all_time_measure=[] self.all_data=[] self.number_measure=0 self.all_avg_temp=[] self.last_date=[] self.avg_measure=0 #connect by rs to the board of sensor try: self.termo = Weeder.SimpleThermocouple() except Weeder.WeederException, e: print "Exception msg: ", e.value sys.exit(1) except: print "Couldn't open thermocouple device" sys.exit(2) def time_reception(self): #storage variables self.thsensor=[] self.data='' self.record={ } #wait until the transmition is reddy while self.termo.isOpen() is not True: pass #display misceleniouce info self.dev=self.termo.device self.thtype=self.termo.thermoTypes self.types=self.termo.types self.units=self.termo.getUnits('A') self.module=self.termo.getModuleId() self.allmodules=self.termo.getModuleIds() #print 'the device is:', self.dev #print 'the whole thermo types is:', self.thtype #print 'the curent thermo types is:',self.types #print 'the current prob is:',self.units #print 'all the modules is:', self.allmodules #print 'the curent module is:', self.module #read the sensors chanel for chn in ['A','B','C','D']:
ESIEA 2006 Vislab
MEMOIRE William PAGNON 80
self.value=self.termo.getRead(chn) if self.value=='': return self.thsensor.append(self.value) # print 'value chanel %s:'%chn,self.value self.all_thermo_sensor.append(self.thsensor) #print 'all chanel',self.thsensor #print "all chanel on time", self.all_thermo_sensor #catch the time when it have been measured self.time_measure=time.localtime() self.all_time_measure.append(self.time_measure) #print self.time_measure #print self.all_time_measure self.number_measure=self.number_measure+1 self.somme=0 self.avg_temp=[] if self.number_measure==time_count: self.avg_measure=self.avg_measure+1 for temp_prob in range(4): for avg in range(time_count): self.somme=self.somme+string.atoi(self.all_thermo_sensor[avg][temp_prob]) self.avg_temp.append(self.somme/time_count) self.somme=0 self.all_avg_temp.append(self.avg_temp) self.last_date.append(self.all_time_measure[time_count-1]) self.all_thermo_sensor=[] self.all_time_measure=[] self.number_measure=0 #print"avg ms",self.avg_measure #print self.last_date #function wich send all the data in a string def getdata(self): self.all_data=[] self.name_sensor=["800","900","950","850"] for count in range(self.avg_measure): for dict_temp in range(4): self.data=self.name_sensor[dict_temp]+',...,ok,...,' + `self.all_avg_temp[count][dict_temp]`+',...,'+time.strftime("%Y-%m-%d %H:%M:%S", self.last_date[count])+'@' self.all_data.append(self.data) self.data='' self.avg_measure=0 self.all_avg_temp=[] self.last_date=[] print self.all_data return self.all_data class thread_routine(threading.Thread): def __init__(self,subclass): threading.Thread.__init__(self) self.subclass=subclass def run(self): t = Timer(timer_delay,self.subclass) t.start() t.join() while True: self.tocken=t.isAlive() print "is alive",self.tocken if t.isAlive()==True: t.start() t.join() #send the data to the server class connect_to_server:
ESIEA 2006 Vislab
MEMOIRE William PAGNON 81
def __init__(self,HOST=None,PORT=None): self.client=socket.socket(socket.AF_INET,socket.SOCK_STREAM) self.def_er=0 self.all_data=[] # now connect to the server on port 2059 if HOST is None: self.HOST = '130.102.78.160' else: self.HOST =HOST if PORT is None: self.PORT=2059 else: self.PORT=PORT try: self.client.connect((self.HOST,self.PORT)) except socket.error,ersock: print "error socket",ersock self.def_er=1 self.args=ersock.args self.client.close() except socket.herror,eraddr: print "error address",eraddr self.def_er=2 def send_data(self,data_to_send): try: self.client.send(data_to_send) except socket.error,ersock: print "error socket",ersock self.def_er=1 self.args=ersock.args self.client.close() except socket.herror,eraddr: print "error address",eraddr self.def_er=2 def receive(self,size): try: self.value=self.client.recv(size) return self.value except socket.error,ersock: print "error socket",ersock self.def_er=1 self.args=ersock.args self.client.close() except socket.herror,eraddr: print "error address",eraddr self.def_er=2 def check_error(self): return self.def_er def get_args_err(self): return self.args if __name__ == "__main__": while True: F_client=False F_sensor=False inf=thermoRead() check=1 session_ID=1
ESIEA 2006 Vislab
MEMOIRE William PAGNON 82
F_Hello=False while check!=0: connection=connect_to_server() check=connection.check_error() if check==0: print "connected" else: print "not connected" while True: if F_Hello is not True: connection.send_data("Hello")#hello connection print "hello sent" ini=connection.receive(1024) print ini if ini=="begin": while F_client==False: connection.send_data("950,...,TEST,...,196.200.1.3,...,"+`session_ID`+",...,4,...,-24.006,...,159.69,...,0.2")#id host, host name,ip address,session, number of sensor, lat,long,depth inf_client=connection.receive(1024) print "inf client:",inf_client if inf_client=="ok": F_client=True count_sens=0 inf_sensor="unknow" while F_sensor==False: if count_sens==0: connection.send_data("800,...,1,...,prob1,...,1444225,...,-24.009,...,159.69,...,-8")#id sensor 1, type, name, serial number inf_sensor=connection.receive(1024) if inf_sensor=="ok" and count_sens==0: count_sens=1 if count_sens==1: connection.send_data("900,...,1,...,prob2,...,1444226,...,-24.009,...,159.69,...,-6")#"" inf_sensor=connection.receive(1024) if inf_sensor=="ok" and count_sens==1: count_sens=2 if count_sens==2: connection.send_data("950,...,1,...,prob3,...,1444227,...,-24.009,...,159.69,...,-7")#"" inf_sensor=connection.receive(1024) if inf_sensor=="ok" and count_sens==2: count_sens=3 if count_sens==3: connection.send_data("850,...,1,...,prob4,...,1444228,...,-24.009,...,159.69,...,-5")#"" inf_sensor=connection.receive(1024) if inf_sensor=="ok" and count_sens==3: F_Hello=True F_sensor=True else: send_back=ini print send_back t = Timer(timer_delay,inf.time_reception) for i in range(time_send): if t.isAlive()==False: t = Timer(timer_delay,inf.time_reception) t.start() t.join() i=i+1 data=inf.getdata() print"send data",data[0] for send_dt in range(len(data)): connection.send_data(data[send_dt]) check=connection.check_error()
ESIEA 2006 Vislab
MEMOIRE William PAGNON 83
if check==0: print "sended" else: print "not sended" break
top related