Showing posts with label Aquatic. Show all posts
Showing posts with label Aquatic. Show all posts

Wednesday, June 13, 2012

Week 1 Day 3

Today we are going to be learning about wireless networks and how to code for the XBee radio using the ZigBee protocol. The booking we are using as our guide for this stage is Building Wireless Sensor Networks by Robert Faludi. Our first assignment for the day is working our way through chapters 1 & 2.

For anyone looking to get started with wireless networking and this book the recommended shopping list is:

  • Three XBee ZB with wire antenna (DIGI: XB24-Z7WIT--004, DK602-1098--ND)
  • One or two XBee Explorers (SFE: WRL-08687)
  • One or two USB A to Mini-B cables (SFE: CAB-00598)
  • X-CTU for Windows (free)
  • CoolTerm (free)



X-CTU on the Desktop

Step one to get some hands on experience with the Xbee is getting X-CTU set up and getting all the drivers installed. Seems pretty easy. Sadly we are having some connectivity issues today because we can’t get on the internet with our personal laptops and we don’t have admin rights on the connected computers we are using some there is a bit of back and forth trying to get all the programs and drivers we need installed. We are lucky Alex is so patient and accessible or this could be a nightmare! It was also helpful that one of the guys on another team was kind enough to let me log on to his mobile hotspot so I could install X-CTU on my netbook. This way I can really nerd out and keep working from home!




X-CTU on my netbook with the Arduino UNO and XBee attached

After lunch we went to the library for a crash course in what books, journals and databases are available to us through the UNT library network. I pulled articles that I’m going to plow through this afternoon looking for anything relevant to what we are working on and so did Lori and Joe. If you’re curious, here are the titles and abstracts for the articles:

The Challenges of Building Scalable Mobile Underwater Wireless Sensor Networks for Aquatic Applications
Jun-Hong Cui, University of Connecticut, Storrs Jiejun Kong and Mario Gerla, University of California at Los Angeles Shengli Zhou, University of Connecticut, Storrs
Abstract
The large-scale mobile Underwater Wireless Sensor Network (UWSN) is a novel networking paradigm to explore aqueous environments. However, the characteristics of mobile UWSNs, such as low communication bandwidth, large propagation delay, floating node mobility, and high error probability, are significantly different from ground-based wireless sensor networks. The novel networking paradigm poses interdisciplinary challenges that will require new technological solutions. In particular, in this article we adopt a top-down approach to explore the research challenges in mobile UWSN design. Along the layered protocol stack, we proceed roughly from the top application layer to the bottom physical layer. At each layer, a set of new design intricacies are studied. The conclusion is that building scalable mobile UWSNs is a challenge that must be answered by interdisciplinary efforts of acoustic communications, signal processing, and mobile acoustic network protocol design.
Design and Implementation of a System for
Wireless Control of a Robot
Christian Hernández, Raciel Poot, Lizzie Narváez, Erika Llanes and Victor Chi
Abstract
This article presents the design and implementation of a wireless  control system of a robot with  help of a computer using LPT  interface in conjunction with Arduino + X-bee, which is an  electronic device that uses the Zigbee protocol that allows a  simple implementation, low power consumption, and allows the  robot to be controlled wirelessly, with freedom of movement. In  the implementation were used two Arduino with wireless  communication using X-bee modules. The first Arduino + X-bee  were connected to the computer, from which received signals  that were sent by the wireless module to the Arduino X-bee that  was in the robot. This last module received and processed signals  to control the movement of the robot. The novelty of this work  lies in the autonomy of the robot, designed to be incorporated  into applications that use mini-robots, which require small size  without compromising the freedom of their movement.
Keywords:  Integrated Circuit, Parallel Port, ATmega 168  Microcontroller, Arduino, X-bee, Zigbee.
An Efficient, Time-of-Flight-Based Underwater Acoustic
Ranging System for Small Robotic Fish
Stephan Shatara and Xiaobo Tan, Member, IEEE
Abstract
Small (decimeter-scale) robotic fish are promising mobile sensor platforms for aquatic environments. Fine-grained localization for dense networks of such robotic fish presents a challenge because of noisy underwater environment, required submeter accuracy, and constraints on onboard processing power and hardware complexity. In this paper, we present an efficient time-of-flight-based acoustic ranging system for localization of robotic fish with limited onboard resources. The system involves simple hardware: a single pair of monotone buzzer and microphone. The distance between two nodes is determined by the time it takes for an acoustic signal generated by the buzzer on the first node to reach the microphone on the second node. The arrival of the signal is detected with the sliding discrete Fourier transform (SDFT) algorithm, where the rise dynamics of the signal is modeled and used for compensation of detection latency. The algorithm is implemented onboard a small biomimetic robotic fish, and experiments in an indoor pool have shown that the compensated SDFT algorithm results in an underwater ranging error of 1.9 wavelengths (1 m), and is thus promising for localization of dense aquatic networks.
Index Terms—Acoustic ranging, aquatic sensor networks, localization, robotic fish, sliding discrete Fourier transform (SDFT).
Environmental Wireless Sensor Networks
By P e t e r  C  o r k e , F e l l o w  I E E E, T i m W a r k , Me m b e r  I E E E, R a j a  J u r d a k , Me m b e r  I E E E,We n H u , Me m b e r  I E E E, P h i l i p  V a l e n c i a , Me m b e r  I E E E,  a n d  D a r r e n M o o r e , Me m b e r  I E E E
A B S T R A C T
This paper is concerned with the application of wireless sensor network (WSN) technology to long-duration and large-scale environmental monitoring. The holy grail is a system that can be deployed and operated by domain specialists not engineers, but this remains some distance into the future. We present our views as to why this field has progressed less quickly than many envisaged it would over a decade ago. We use real examples taken from our own work in this field to illustrate the technological difficulties and challenges that are entailed in meeting end-user requirements for information gathering systems. Reliability and productivity are key concerns and influence the design choices for system hardware and software. We conclude with a discussion of long-term challenges for WSN technology in environmental monitoring and outline our vision of the future.
KEYWORDS | Environmental monitoring; wireless sensor
network (WSN)
Environmental sensor networks in ecological research
Philip W. Rundel, Eric A. Graham1, Michael F. Allen, Jason C. Fisherand Thomas C. Harmon
Summary
Environmental sensor networks offer a powerful combination of distributed sensing
capacity, real-time data visualization and analysis, and integration with adjacent
networks and remote sensing data streams. These advances have become a reality
as a combined result of the continuing miniaturization of electronics, the availability
of large data storage and computational capacity, and the pervasive connectivity of
the Internet. Environmental sensor networks have been established and large new
networks are planned for monitoring multiple habitats at many different scales.
Projects range in spatial scale from continental systems designed to measure global
change and environmental stability to those involved with the monitoring of only a
few meters of forest edge in fragmented landscapes. Temporal measurements have
ranged from the evaluation of sunfleck dynamics at scales of seconds, to daily CO2
fluxes, to decadal shifts in temperatures. Above-ground sensor systems are
partnered with subsurface soil measurement networks for physical and biological
activity, together with aquatic and riparian sensor networks to measure groundwater
fluxes and nutrient dynamics. More recently, complex sensors, such as networked
digital cameras and microphones, as well as newly emerging sensors, are being
integrated into sensor networks for hierarchical methods of sensing that promise a
further understanding of our ecological systems by revealing previously unobservable
phenomena.
Environmental Sensor Networks:
A revolution in the earth system science?
Jane K. Hart, Kirk Martinez
Abstract
Environmental Sensor Networks (ESNs) facilitate the study of fundamental processes and the development of hazard response systems. They have evolved from passive logging systems that require manual downloading, into ‘intelligent’ sensor networks that comprise a network of automatic sensor nodes and communications systems which actively communicate their data to a Sensor Network Server (SNS) where these data can be integrated with other environmental datasets. The sensor nodes can be fixed or mobile and range in scale appropriate to the environment being sensed. ESNs range in scale and function and we have reviewed over 50 representative examples. Large Scale Single Function Networks tend to use large single purpose nodes to cover a wide geographical area. Localised Multifunction Sensor Networks typically monitor a small area in more detail, often with wireless adhoc systems. Biosensor Networks use emerging biotechnologies to monitor environmental processes as well as developing proxies for immediate use. In the future, sensor networks will integrate these three elements (Heterogeneous Sensor Networks). The communications system and data storage and integration (cyberinfrastructure) aspects of ESNs are discussed, along with current
challenges which need to be addressed. We argue that Environmental Sensor Networks will become a standard research tool for future Earth System and Environmental Science. Not only do they provide a ‘virtual’ connection with the environment, they allow new field and conceptual approaches to the study of environmental processes to be developed. We suggest that although
technological advances have facilitated these changes, it is vital that Earth Systems and Environmental Scientists utilise them. © 2006 Elsevier B.V. All rights reserved.
Keywords: wireless sensor networks; environmental monitoring; cyberinfrastructure
Design of a Wireless Sensor Network for Long-term,  In-Situ Monitoring of an Aqueous Environment
Xiping Yang, Keat G. Ong, William R. Dreschel, Kefeng Zeng, Casey S. Mungle and Craig  A. Grimes
Abstract:
An aqueous sensor network is described consisting of an array of sensor nodes
that can be randomly distributed throughout a lake or drinking water reservoir.  The data of
an individual node is transmitted to the host node via acoustic waves using intermediate
nodes as relays.  Each node of the sensor network is a data router, and contains sensors
capable of measuring environmental parameters of interest. Depending upon the required
application, each sensor node can be equipped with different types of physical, biological or
chemical sensors, allowing long-term, wide area, in situ multi-parameter monitoring.  In this
work the aqueous sensor network is described, with application to pH measurement using
magnetoelastic sensors.  Beyond ensuring drinking water safety, possible applications for
the aqueous sensor network include advanced industrial process control, monitoring of
aquatic biological communities, and monitoring of waste-stream effluents.
Keywords: Sensor network, sensor node, aqueous environment, underwater, sensor array.
A Robust, Adaptive, Solar-Powered WSN Framework for Aquatic Environmental Monitoring
Cesare Alippi, Fellow, IEEE, Romolo Camplani, Cristian Galperti, and Manuel Roveri
Abstract
The paper proposes an environmental monitoring framework based on a wireless sensor network technology characterized by energy harvesting, robustness with respect to a large class of perturbations and real-time adaptation to the network topology. The fully designed and developed ad hoc system, based on clusters relying on a star topology, encompasses a sensing activity, a one-step local transmission from sensor nodes to the gateway, a remote data transmission from the gateway to the control center, data storage in a DB and real-time visualization. Hw and Sw modules have been either carefully selected or designed to guarantee a high quality of service, optimal solar energy harvesting, storage and energy awareness. A monitoring system integrating the outlined framework has been deployed in Queensland, Australia, for monitoring the underwater luminosity and temperature, information necessary to derive the health status of the coralline barrier. At the same time, acquired data can be used to provide quantitative indications related to cyclone formations in tropical areas.
Index Terms—Adaptive communication protocol, distributed environmental monitoring systems, energy harvesting, wireless sensor networks (WSNs).
Monitoring water quality through a telematic sensor network and a fuzzy expert system
Evaggelos V. Hatzikos, Nick Bassiliades, Leonidas Asmanis and Ioannis Vlahavas
Abstract
In this paper we present an expert system that monitors seawater quality and pollution in northern Greece through a sensor network called Andromeda. The expert system monitors sensor data collected by local monitoring stations and reasons about the current level of water suitability for various aquatic uses, such as swimming and piscicultures. The aim of the expert system is to help the authorities in the decision-making process in the battle against pollution of the aquatic environment, which is vital for public health and the economy of northern Greece. The expert system determines, using fuzzy logic, when certain environmental parameters exceed certain pollution limits, which are specified either by the authorities or by environmental scientists, and flags up appropriate alerts.
Keywords: sensor network, pollution monitoring, aquatic uses, expert system, fuzzy logic



Joe's Journal
(It's not getting retyped. Deal with it.)










Additional resources and information:


Figure 11.1 the duration of environmental effects which can be monitored by different biological approaches.
http://www.who.int/water_sanitation_health/resourcesquality/wqmchap11.pdf


Pasco makes a Water Quality MultiMeasure Sensor that measures Temperature, Conductivity, pH and dissolved oxygen. The sensor can be used with a computer or can be used as a stand alone unit using Xplorer GLX.   This system is much more student friendly and could be used in your environmental science classes where the collection of data is the focus.



Stream Table

Stream table video
http://www.youtube.com/watch?feature=player_embedded&v=ubP_-ptVDbY
Stream Ecology Lesson Plan
http://www.sacsplash.org/sites/sacsplashbackup.org/files/resources/secondary_program_teachers_manual_v5.pdf

Tuesday, June 12, 2012

Week 1 Day 2

Tuesday:

Today is going to be a lab day. We are focusing on learning more about exactly how the Arduino functions. The morning is dedicated to reading chapters 4 & 5 of the Arduino Cookbook so that we can start figuring out how the I/O interface works on the Arduino UNO. Sending and receiving multiple fields was the first major hurdle we dealt with today. While we were working on that our group was given a pH probe with the power charger and instruction book. Joe and Lori took point reading about that new equipment. There were no instructions for connecting the probe with an Arduino but we will search online to see if the necessary code already exists before reinventing the wheel. After lunch we came back and had a brainstorming session about the lesson plan we intend to create. One key feature is a scale model of the artificial river system that we can build within the constraints of budget and free space in a classroom. Joe sourced the parts online and submitted the request for approval.

Parts list for a scale model of the artificial stream system:

Rubbermaid 31-Quart Plastic Storage Container. Cost- 9.97X 4= $39.88

http://www.lowes.com/ProductDisplay?partNumber=345750-315-1787044&langId=-
1&storeId=10151&productId=3373762&catalogId=10051&cmRelshp=req&rel=nofollow&cId=PDIO1

Gutters: $6.47

http://www.lowes.com/pd_12066-322-RW100_4294806370_4294937087_?
productId=3009950&Ns=p_product_qty_sales_dollar|
1&pl=1&currentURL=%2Fpl_Gutters_4294806370_4294937087_%3FNs%3Dp_product_qty_sales_dollar
|1&facetInfo=

Epoxy: $4.99

http://www.lowes.com/pd_40308-69-1405604_0__?
productId=3203639&Ntt=epoxy&pl=1&currentURL=%2Fpl__0__s%3FNtt%3Depoxy&facetInfo=

Water pump: $24.47

http://www.lowes.com/pd_58695-60084-FP155_4294765370_4294937087_?
productId=3036184&Ns=p_product_qty_sales_dollar|
1&pl=1&currentURL=%2Fpl_Pond%2BPumps_4294765370_4294937087_%3FNs%3Dp_product_qty_sal
es_dollar|1&facetInfo=

Tubing: $7.98

http://www.lowes.com/ProductDisplay?partNumber=62573-48650-VT3800&langId=-
1&storeId=10151&productId=3036731&catalogId=10051&cmRelshp=rel&rel=nofollow&cId=PDIO1

5 gallon empty bucket: $3.97

http://www.lowes.com/pd_356492-1152-50640_0__?
productId=3694238&Ntt=5+gallon+empty+bucket&pl=1&currentURL=%2Fpl__0__s%3FNtt%3D5%2Bgall
on%2Bempty%2Bbucket&facetInfo=

Gravel: $3.28 X2= 6.56

http://www.lowes.com/pd_103110-76450-PVB40RC_4294728554_4294937087_?
productId=3589380&Ns=p_product_qty_sales_dollar|
1&pl=1&currentURL=%2Fpl_Bagged%2BRock_4294728554_4294937087_%3FNs%3Dp_product_qty_sal
es_dollar|1&facetInfo=


While he was working on that Lori continued researching the probes we would use. Joe and Lori also collected resources to help us move forward with various stages of the project.

Research:Real world Water Quality Management http://www.oregon.gov/OWEB/docs/pubs/wq_mon_guide.pdf?ga=t 
Dissolved Oxygen and Temperature http://www.newton.dep.anl.gov/askasci/chem03/chem03334.htm 
pH meter information                                                      http://en.wikipedia.org/wiki/PH_meter 
Aquatic River Tank http://www.rivertank.com/ 
Healthy River Systems http://www.epa.gov/bioiweb1/aquatic/rivers_and_streams.html#health


Dr. Fu presented us a puzzle and asked us to write some code that would use a light sensor to take an analog reading of the light level and use that reading to vary the blink rate. I worked on that assignment. The solution he had in mind was the one found below as Light Rate.






Light Rate

const int ledpin = 13; // set led to pin 13
const int sensorpin = 0; //set sensor to analog pin 0

void setup() {
 pinMode(ledpin, OUTPUT); //sets LED to output mode
}

void loop() {
 int rate = analogRead(sensorpin); //checks light level and sets rate based on analog reading
 digitalWrite(ledpin, HIGH); //turns on LED
 delay(rate); //keeps it on for a length of time based on light level
 digitalWrite(ledpin, LOW); //turns off light
 delay(rate); //keeps it off for a length of time based on light level
}

That program gave me another idea and, with feedback from the team, we set up a night light program. The first one that I wrote seemed to work but I couldn’t make the light stop flickering when the sensor was blocked. We all put our heads together and tried different configurations for the circuit, different resistors, etc... Watching three well educated teachers, a professor and an experienced grad student hover over a simple circuit with handfuls of components and a multimeter and looking confused would have probably been hilarious for our students. Especially since the issue was a simple coding error because I forgot to take out a delay that I put in during the early stages so I could visually track changes. *sigh*


Flash Night Light (broken)int lightPin = 0; //PhotoResistor Pin
int ledPin = 13; // Led Pin
boolean sensorState = false; //zeroes sensor state

void setup()
{

 pinMode(ledPin, OUTPUT); //sets the led pin to output
 digitalWrite(ledPin, HIGH); //turns on led
 Serial.begin(9600); //sets data rate
}

void loop()
{
 int threshold = 1000; // sets the analog reading for specific circuit
if (analogRead(lightPin) > threshold && sensorState == true)
     //takes analog reading from the light sensor and compares the result to threshold
{
  digitalWrite(ledPin, HIGH); //turns on LED when light level is below threshold
  sensorState = false;
  delay(50); //pause to see change

}else{
  if(sensorState == false){
 digitalWrite(ledPin, LOW); //turns off LED when light level is above threshold
 sensorState = true;
 delay(50); //pause to see change
  }
 }
}



Night Light (fixed)

int lightPin = 0; //PhotoResistor Pin
int ledPin = 13; // Led Pin
boolean sensorState = false; //zeroes sensor state

void setup()
{

 pinMode(ledPin, OUTPUT); //sets the led pin to output
 digitalWrite(ledPin, HIGH); //turns on led
 Serial.begin(9600); //sets data rate
}

void loop()
{
 int threshold = 1000; // sets the analog reading for specific circuit
if (analogRead(lightPin) > threshold && sensorState == true)
     //takes analog reading from the light sensor and compares the result to threshold
{
  digitalWrite(ledPin, HIGH); //turns on LED when light level is below threshold
  sensorState = false;

}else{
  if(sensorState == false){
 digitalWrite(ledPin, LOW); //turns off LED when light level is above threshold
 sensorState = true;
  }
 }
}

While I tinkered with code we won’t actually use Lori and Joe brainstormed a list of hypotheses or questions students might come up with before beginning this project:
As the day wound down Joe started putting pieces together for our group presentation, Lori kept pulling and organizing resources and I slapped together this blog.
1. Will we see consistency in our 3 variables (temperature, pH, and DO) throughout tanks because of enclosure size constraints? If so, which changes need to be made with design?
2. How does each variable influence the other?
3. Can we expect DO levels to increase in our system because of increase in turbulence?

Week 1 Day 1

Monday:


We started the day by meeting our new team mates, mentors and the support staff that UNT has provided to help make sure we are successful in our assignments. We were also given a tour of the facilities we have access to. My team (Team 1. Yeah, they already know.) has been assigned to a project that will allow us to remotely monitor several environmental factors in an artificial stream complex that UNT operates. Some of the factors we will be looking at include temperature, pH, alkalinity and dissolved oxygen. We will be using the Arduino microprocessor as the controller for the sensor suite we will eventually build and an XBee shield for wireless communication. With that in mind Dr. Fu gave us a brief introduction to the way an Arduino functions. We spent the remainder of our time tinkering with the arduino programming platform starting with the blink application. By the time we were done I had managed to create a morse code sketch that allowed my Arduino UNO to blink out “Hello world”!







Hello world Sketch:




/*
  HELLO WORLD Morse Code
  spells out hello world in morse code using the LED
 */


int led = 13;
// the setup routine runs once when you press reset:
void setup() {              
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);  
} 
void loop() {
  H();                    
  delay(500);              
// wait for half a second
  E();                    
  delay(500);            
  L();                    
  delay(500);              
  L();
  delay(500);            
  O();
  space();
  W();
  delay(500);            
  O();
  delay(500);            
  R();
  delay(500);              
  L();
  delay(500);              
  D();
  space();
}
void S() {
  dot();
  dot();
  dot();
}
void O() {
  dash();
  dash();
  dash();
}
void H() {
  dot();
  dot();
  dot();
  dot();
}
void E() {
  dot();
}
void L() {
  dot();
  dash();
  dot();
  dot();
}
void W() {
  dot();
  dash();
  dash();
}
void R() {
  dot();
  dash();
  dot();
}
void D() {
  dash();
  dot();
  dot();
}
void space() {
  digitalWrite(led, LOW);
  delay(2000);  //delay two seconds
}
void dot() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(250);               // wait for 1/4 second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(125);               // wait for 1/8 second
}
void dash() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(500);               // wait for half a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(250);               // wait for 1/4 second
}