Sei sulla pagina 1di 30

ESCUELA SUPERIOR POLITCNICA

DEL LITORAL
PROYECTO DE LABORATORIO DE
TELECOMUNICACIONES

Tema del proyecto:


RED DE SENSORES INALMBRICOS PARA EL
MONITOREO Y CONTROL DE ESTACIONES DE
CULTIVO ACUTICO
INTEGRANTES: STEVEN NEIRA
ECHEVERRIA
CHRISTIAN SACARELO
VASQUEZ
PROFESOR: ING. DANIEL DIK RODRIGUEZ

I TRMINO 2016-2017

1.

OBJETIVOS

OBJETIVO GENERAL
Establecer una red de sensores acuticos en espacios
grandes.
Disear y establecer una red de sensores inalmbricos que
permitan monitorear y controlar una estacin de cultivo
acutico.
OBJETIVOS ESPECIFICOS
Utilizacin de sensores de temperaturas y de oxigeno
dentro de un medio acutico
Comparar el consumo de energa y calidad de servicio de
una red de sensores en un entorno acutico.
Optimizacin de la produccin del camarn mediante el
cuidado de los parmetros de crecimiento de los mismos
Poder establecer una comunicacin a travs de mdulos
inalmbricos para la transmisin de datos importantes.
Obtener la adquisicin de datos a travs de una interfaz
terminal por medio de una conexin TELNET a travs de un
sistema embebido.
Implementar un sistema experimental de monitoreo
ambiental basado en una red inalmbrica de sensores.
Registrar el consumo de energa y calidad de servicio para
varias configuraciones de la red inalmbrica de sensores

Evaluar experimentalmente la viabilidad tcnica


implementar el sistema en entornos acuticos .

de

2.

JUSTIFICACION

La produccin de camarn en Ecuador representa el segundo


rubro de ingreso de exportaciones, donde el litopenaeus
vannamei (camarn blanco) representa el 95% de su
produccin. Adicionalmente, Ecuador puede ofertar 400
millones de libras anuales de camarn, incluyendo productos
de valor agregado [1]. Segn datos estadsticos expuestos por la
Cmara Nacional de Acuacultura, se obtuvo en el mes de Abril
del 2014 un ingreso de $202.259.494 al pas. [2]
Entornos acuticos como piscinas, tanques o reservorios son
utilizados extensamente en la acuicultura. En esta actividad,
parmetros tales como oxgeno disuelto, temperatura,
salinidad, entre otros deben ser monitoreados constantemente.
Si los parmetros salen de los rangos establecidos, la
produccin de cultivos (camarn y otras especies) pueden
verse afectados negativamente tanto en el crecimiento como
en la sobrevivencia[3]. Mediante este estudio se propuso la
evaluacin de una red inalmbrica de sensores destinada a
hacer mediciones automticas de parmetros ambientales en
entornos acuticos. El uso de redes de sensores para evacuar
la calidad de agua en acuicultura ya fue propuesto para
diferentes cultivos por Shen et al [4].
El presente documento propone la implementacin de un
sistema inalmbrico de sensores, cuya funcin es monitorear la
produccin acucola en un rea determinada con buena calidad
de servicio y bajo consumo de energa en medios acuticos.

Las redes de sensores presentan mltiples ventajas, sin


embargo su implementacin en entornos acuticos no es trivial
debido a las restricciones mencionadas y una de las ventajas
que presenta la red a implementar frente a otras redes, es el
bajo costo al utilizar enlaces inalmbricos. Adems de que se
proporciona una amplia cobertura y con gran tolerancia a
fallos, de modo que si uno de los nodos cae, la red puede auto
recuperarse y encontrar rutas alternativas.
Un impulso de este proyecto ser optimizar el elevado
consumo de energa que se utiliza durante la transmisin de
datos; a mayor distancia se presenta mayor atenuacin en la
seal propagada, y una consecuencia notable por la prdida de
potencia de recepcin, es la prdida de paquete. Existen
interferencias provenientes de Wi-Fi, Bluetooth, telfonos fijos
sin cable, entre otras fuentes; que son complicadas en su
deteccin y la mayora de estas son propias de la banda 2.4
GHz. Por ello, es necesario un sistema que permita un mejor
rendimiento en una planta de trabajo[5].
Un ejemplo real es la calidad de servicio dentro de una
industria acucola, debido a que la exposicin directa al medio
ambiente, es de alta importancia para llevar un seguimiento de
cada uno de sus parmetros y con ello, crece la necesidad de
tener un mecanismo automatizado que permita obtener los
datos de manera gil. Por lo tanto, los resultados son de
carcter integral, dado que su aplicacin puede cubrir varios
mbitos. Al colocar una red inalmbrica de sensores se
mejorara el control operativo remoto, reduciendo el riesgo de
falla durante el cambio de algn elemento o mdulo de la red.
Finalmente, mediante el desarrollo e implementacin de un
sistema en base a redes inalmbricas de sensores se pretendi
realizar un control directo y real de las industrias acucolas,
involucrando a ciencias como la electrnica y las
telecomunicaciones, que han avanzado significativamente y

que ofrecen soluciones muy efectivas y eficientes tanto en


funcionalidad como en utilidad para monitorear y llevar un
control riguroso en este tipo de proceso [6].
El sistema experimental consistir en varios nodos, los cuales
recibirn los datos de su respectivo sensor y los enviarn a una
ubicacin remota para su anlisis correspondiente.

3.

MARCO TEORICO

TRANSMISIN INALMBRICA DE DATOS


Este tipo de transmisiones se caracteriza por emplear
medio de transmisin el aire, a travs de dispositivos
antenas. Una antena es un dispositivo metlico capaz de
y recibir ondas electromagnticas, en otras palabras,
antenas pueden ser omnidireccionales o direccionales.

como
como
radiar
estas

Las comunicaciones inalmbricas operan en diferentes rangos


de frecuencias. De acuerdo a la frecuencia de operacin
adquieren
ciertas
caractersticas
de
las
ondas
electromagnticas. Por ejemplo, las ondas de radio no son
sensibles a las prdidas producidas por las lluvias en cambio
las microondas terrestres si lo son, en cambio, las microondas
satelitales son utilizadas para extensas distancias mientras que
la luz infrarroja para cortas distancias.
Las redes inalmbricas permiten mayor escalabilidad,
flexibilidad y sobre todo, es una alternativa viable en zonas
donde las redes cableadas no pueden llegar. Estas redes
brindan movilidad al usuario dentro del rea de cobertura. Sin
embargo, cuando la seal se propaga por el medio, esta
propensa a atenuarse debido a ruidos externos como ruido

blanco aditivo gaussiano, otras seales transmiten en la misma


frecuencia, factores como la lluvia, tormentas elctricas, entre
otras. Por otra parte, se puede adherir al sistema, ruidos
internos producidos por los mismos circuitos electrnicos que
conforman la red.
REDES INALMBRICAS TIPO MALLA
Las redes inalmbricas tipo malla (WMN) pueden ser
implementadas
con
diversas
tecnologas
inalmbricas
utilizando el estndar IEEE 802.11 (Wi-Fi), IEEE 802.15
(Bluetooth), IEEE 802.16 (WiMAX), etc. o combinaciones de ms
de un tipo.
De acuerdo al estudio realizado por Elio Copas y compaas, la
tecnologa de las redes tipo mallas poseen numerosos
beneficios y demuestra ser una solucin innovadora debido a
sus bajos costos, robustez, y a su alta flexibilidad, es decir, a
diferencia de las otras redes son redundantes, autoregenerables, auto-configurables.

Redes inalmbricas tipo malla, tanto para la interconexin de


sus puntos como para el acceso de sus usuarios, consta de la
siguiente arquitectura: clientes, enrutadores y puertos de
enlace.

Los clientes son dispositivos finales que tienen la capacidad de


conectarse de manera inalmbrica a una red u otro dispositivo
como computadora porttil, telfonos celulares, entre otras. En
cambio, Los enrutadores proporcionan a los usuarios acceso a
la red y hacen una comunicacin multisalto entre ellos para el
correcto direccionamiento y entrega de datos, por otro lado, las
puertas de enlace permiten conectarse a Internet u otras
redes.

PROTOCOLOS EN LAS REDES TIPO MALLA.


Los protocolos de enrutamiento son algoritmos encargados de
escoger la mejor ruta que debe seguir un datagrama para
llegar desde su origen a su destino de acuerdo a una mtrica.
Una mtrica es el valor por el cual los protocolos determinan
cul ruta tomar o con cul nodo comunicarse.
Los principales elementos de enrutamiento sobre los cules un
protocolo debe basar su funcionamiento son el descubrimiento
de nodos, el descubrimiento de frontera, clculo de rutas y
manejo de la red troncal.
El objetivo principal de un protocolo de enrutamiento en la red
inalmbrica tipo malla es buscar y establecer una ruta entre los
nodos que requieran intercambiar informacin.

PROTOCOLOS BASADOS EN TOPOLOGA


Estos protocolos seleccionan la trayectoria de los paquetes,
basndose en la informacin topolgica de la red. Se clasifican
en protocolos reactivos, proactivos e hbridos.
Los protocolos reactivos obtienen informacin de enrutamiento
cuando es necesario, es decir, determinan la ruta cuando

existe una peticin, el inconveniente es el retardo al descubrir


nuevas rutas. Entre los ms conocidos estn AODV y DSR.
Los protocolos proactivos son basados en tablas de
enrutamiento. Tienen un conocimiento exhaustivo del estado
de la red, envan mensajes de control de forma peridica
ocasionando sobrecarga en el ancho de banda debido al
nmero de peticiones que se realizan. Los protocolos ms
importantes que podemos encontrar de esta categora son
OLSR y OSPF.
Los protocolos hbridos surgen de la combinacin de los
protocolos proactivos y reactivos. La red puede ser modificada
de manera dinmica segn sus caractersticas, en otras
palabras, si la red es pequea y esttica, es mejor utilizar
protocolos proactivos pero si la red es grande y con movilidad o
tiene los caminos pocos utilizados, es preferible usar protocolos
reactivos.

PROTOCOLOS BASADOS EN POSICIN


Se encargan de seleccionar las trayectorias tomando en cuenta
la informacin geogrfica empleando algoritmos geomtricos.
El paquete es enviado hacia el nodo vecino que est ms
cercano al nodo destino aunque trate de acercarse a su destino
con un enlace definido, no asegura que lo pueda alcanzar. Uno
de los protocolos ms usados es GPSR (Enrutamiento sin
estado del permetro codicioso).

TECNOLOGA ZIGBEE

ZigBee es una tecnologa inalmbrica para redes de corta


distancia, perfecto para entornos con baja relacin seal vs
ruido compuesta de un conjunto estandarizado de soluciones
que pueden ser implementadas por cualquier fabricante
basndose en el estndar IEEE 802.15.4 de redes inalmbricas
de rea personal, opera en la banda de frecuencias no
licenciadas ISM de 2.9GHz y puede transferir datos hasta
250Kbps proporcionando servicio hasta 3.2Km.
Este estndar fue desarrollado para satisfacer la creciente
demanda de capacidad de red inalmbrica entre terminales de
baja potencia; comunica una serie de dispositivos segn la
topologa de la red que puede ser punto a punto, estrella, malla
y rbol, haciendo que el transmisor y receptor trabajen de
forma ms eficiente entre s, son tiles para las aplicaciones
que requieren bajo coste, pequeos paquetes de informacin y
seguridad en la conectividad y disponibilidad utilizando
protocolo de saludo para mejorar la seguridad en las
interferencias.

COMPONENTES DE LA RED
La red ZigBee est compuesta por tres dispositivos diferentes
segn su funcionalidad, que son: ZC, ZR y ZED.
COORDINADOR: Organizar la red de rea personal
ENRUTADOR: Interconectar dispositivos de diferente
topologa de la red, sirve como repetidor porque es el
encargado del enrutamiento de los mensajes mediante
mltiples saltos.
DISPOSITIVO FINAL: Es un elemento bsico, puede ser un
sensor o un actuador; no puede transmitir informacin
destinada a otros dispositivos, por lo tanto, la mayor parte
del tiempo pasa en estado sleep permitiendo el ahorro
de energa.
SENSOR DE OXIGENO ATLAS SCIENTIFIC
El sensor de oxigenacin Atlas nos brindar datos muy
importantes en cuanto a la oxigenacin del agua que se
encuentra dentro de una superficie que vamos a estudiar, a
continuacin mostramos las aplicaciones y las especificaciones
que nos brinda este sensor:
Aplicaciones Tpicas

El uso estndar del laboratorio


Uso en el campo
La hidropona
Mantenimiento de los peces
La elaboracin de vino
Alimentos seguros
Acuosa mixta / orgnica
Las muestras que contienen metales pesados
Monitoreo ambiental

ESPECIFICACIONES

Rango: 0-35 mg / L
Material del cuerpo: Epoxi y Noryl
Temperatura mxima: 50 C
Presin mxima: 690 kPa (100PSI)
La profundidad mxima de 60 m (197 pies)
La calibracin de un solo punto en el aire
La longitud del cable: 1 metro
Peso: 52 gramos
Dimensiones: 16,5 mm x 116 mm (0,65 "x 4,57")
conector BNC

SENSOR DE TEMPERATURA LM35


El sensor LM35, es un sensor de temperatura integrado de
precisin cuyos rangos de operacin oscilan desde los 55C hasta los 150C, teniendo en cuenta que este tipo de
sensores ofrecen una precisin de +- 1.4C a temperatura
ambiente. Adems de ello, son del tipo lineal; es decir, que no
es necesario forzar al usuario a realizar conversiones debido a
que otros sensores estn basados en grados Kelvin.
El LM35 no requiere de circuitos adicionales para calibrarlo
externamente. La baja impedancia de salida, su salida lineal y
su precisa calibracin hace posible que est integrado sea
instalado fcilmente en un circuito de control. Debido a su baja
corriente de alimentacin se produce un efecto de auto
calentamiento muy reducido. Se encuentra en diferentes tipos
de encapsulado, el ms comn es el TO-92, utilizada por
transistores de baja potencia.
CARACTERISTICAS

Sus caractersticas ms relevantes son:


La tensin de salida es proporcional a la temperatura.
Tiene una precisin garantizada de 0.5 C a 25 C.
Baja impedancia de salida.
Baja corriente de alimentacin (60 A).
Bajo coste.
Est calibrado en grados Celsius.

Sistema Embebido
ARDUINO INTEL-GALILEO
Galileo es una placa electrnica basada en el procesador Intel
Quark SoC procesador de aplicaciones X1000, un sistema de
clase Pentium Intel de 32 bits en un chip ( ficha tcnica ). Es la
primera mesa basado en la arquitectura Intel diseado para
ser compatible con pin de hardware y software con escudos
Arduino diseados para el Uno R3. Pines digitales 0 a 13 (y la
AREF adyacente y pines GND), entradas analgicas de 0 a 5, el
cabezal de alimentacin, jefe de ICSP, y los pines del puerto
UART (0 y 1), estn todos en los mismos lugares que en la
Arduino Uno R3. Esto tambin se conoce como el Arduino 1,0
pinout.
Galileo est diseado para soportar los escudos que operan en
cualquiera de 3.3V o 5V. La tensin de funcionamiento bsico
de Galileo es 3.3V. Sin embargo, un puente en la placa permite
la traduccin de voltaje a 5V a los pines de E / S. Esto
proporciona soporte para escudos Uno de 5V y es el
comportamiento por defecto. Al cambiar la posicin del puente,
la traduccin de tensin se puede desactivar para proporcionar
un funcionamiento de 3,3 V en los pines de E / S.

Por supuesto, la junta Galileo es tambin el software


compatible con el medio ambiente Arduino desarrollo de
software (IDE), que hace que la facilidad de uso y la
introduccin de un broche de presin. Adems de Arduino
hardware y la compatibilidad del software, la junta Galileo tiene
varios estndar de la industria de PC puertos I / O y
caractersticas para ampliar el uso y capacidades nativa ms
all del ecosistema escudo Arduino. Una ranura de tamao
completo mini-PCI Express, el puerto Ethernet de 100 Mb,
ranura Micro-SD, RS-232, puerto host USB, puerto USB cliente,
y 8 MByte flash NOR vienen de serie en el tablero.
El procesador Intel genuina y capacidades nativas de E / S en
los alrededores de la Clanton SoC ofrece como ofrenda con
todas las funciones tanto para la comunidad cafetera y
estudiantes
por
igual. Tambin
ser
til
para
los
desarrolladores profesionales que buscan un entorno de
desarrollo simple y rentable a la ms complejo procesador
Intel Atom y diseos basados en el procesador Intel Core.
400 MHz de 32 bits Intel Pentium arquitectura del conjunto
de instrucciones (ISA) Procesador compatible o 16Kbytes en
el chip cach L1
512 KBytes de SRAM en el chip incrustado
Fcil de programar: solo hilo, de un solo ncleo, velocidad
constante
ACPI CPU compatible estados de suspensin soportados
Un reloj integrado en tiempo real (RTC), con un 3V batera
opcional "de tipo botn" para la operacin entre su vez en
ciclos.
conector Ethernet 10/100
Completa PCI Express * ranura mini-tarjeta, con PCIe 2.0
caractersticas compatibles
Funciona con la mitad mini- PCIe tarjetas con placa
convertidor opcional
Proporciona el USB 2.0 Host Port en mini- PCIe conector
Conector USB 2.0 del ordenador
Soporte de hasta 128 dispositivos de punto final USB

Conector de dispositivo USB, que se utiliza para la


programacin
Ms all de un puerto de programacin - un controlador de
dispositivo USB 2.0 totalmente compatible
10-clavijas de la Norma para la depuracin JTAG
botn Reiniciar para reiniciar el procesador
botn de reinicio para reiniciar el boceto y cualquier escudo
adjuntos
Las opciones de almacenamiento:
Default - 8 Mbytes objetivo principal legado SPI Flash es para
almacenar el firmware (o gestor de arranque) y el ltimo
boceto. Entre 256KByte y 512KByte est dedicado para el
almacenamiento de croquis. La descarga se realizar
automticamente desde el PC de desarrollo, por lo que no se
requiere ninguna accin a menos que haya una actualizacin
que se va a aadir al firmware.
Por defecto 512 Kbytes incrustados SRAM, habilitadas por el
firmware de forma predeterminada. No se requiere accin
para utilizar esta funcin.
Por defecto 256 MByte DRAM, habilitado por el firmware de
forma predeterminada.
tarjeta micro SD opcional ofrece hasta 32GByte de
almacenamiento
de almacenamiento USB 2.0 funciona con cualquier unidad
compatible USB
11 Kbyte EEPROM se puede programar a travs de la
EEPROM biblioteca .

BEAGLEBONE BLACK
Procesador: AM335x 1 GHz ARM Cortex-A8

512 MB de memoria RAM DDR3


4 GB de 8 bits eMMC a bordo de almacenamiento flash
acelerador de grficos 3D
acelerador de punto flotante NEON
2x PRU microcontroladores de 32 bits

Conectividad

cliente USB para la alimentacin y comunicaciones


host USB
Ethernet
HDMI
2x 46 cabezales de pin

Compatibilidad de software

4.

Debian
Android
Ubuntu
Cloud9 IDE en Node.js w biblioteca / BoneScript

DISEO

Configuracin y programacin del sistema embebido: Los


sistemas embebidos que utilizamos como lo son la Intel Galileo
y la BeagleBone Black fueron configurados en el lenguaje de
programacin Python el cual mediante el uso de protocolo SSH
podemos manejar de manera remota nuestros sistemas
embebidos, la programacin consiste en obtener informacin
valiosa de cada nodo (3 nodos) los cuales estn sensando lo
correspondiente a temperatura y oxigenacin. Previamente a
esto debamos haber instalado una imagen de Linux en
nuestros sistemas embebidos los cuales nos permitirn el
correcto funcionamiento de nuestra programacin.
Activacin de los sensores: En cuanto encendamos nuestros
sistemas embebidos nuestros sensores comenzarn a enviar la
informacin a nuestro sistema de procesamiento, la
informacin enviada de manera serial por los 3 nodos los
cuales estn colocados en el agua consiste en la temperatura y
la oxigenacin de la misma, cada nodo enviar su informacin
independientemente.
Mdulo de Transmisin: Nuestros mdulos de transmisin
nos envan la informacin de temperatura y oxigenacin de
cada uno de los Nodos que estarn colocados de manera
distante.

Mdulo de recepcin: El mdulo de recepcin que estar


colocado junto con nuestro sistema embebido en sus puertos
seriales recibir la informacin de manera serial la cual ser
llevada al procesador sistema embebido para el procesamiento
de datos.
Procesamiento de Datos: Obtenida la informacin de la
temperatura y la oxigenacin de cada nodo, nuestro sistema de
procesamiento de datos proceder a comparar las
temperaturas de cada nodo con un parmetro programado en
nuestros sistemas embebidos para poder activar una seal, de
igual manera con la oxigenacin
Activador: Una vez procesados los datos, si no se cumplen
con los parmetros establecidos en la programacin se procede
a activar lo que corresponde a los calefactores para poder
tener una temperatura y oxigenacin deseada

La metodologa de este proyecto, primeramente, se va a basar


en la configuracin bsica de los mdulos que vamos a utilizar,
como lo son los arduinos, los sistemas embebidos, los Zigbee,
los sensores de temperatura y los sensores de oxigenacin.
Como siguiente paso procederemos a las pruebas de control
para ver si nuestras configuraciones hechas anteriormente son
satisfactorias, en caso de no serlo debemos volver a la
configuracin de los parmetros de estos dispositivos. Si nos
devuelven
una
prueba
con
resultados
aceptables
procederemos al diseo de un modelo fsico resistente y a darle
los valores de control.
As mismo como en el paso anterior procederemos a realizar
las pruebas necesarias para poder saber si nuestro diseo
fsico es aceptable.
Luego de haber tenido un diseo aceptable, procederemos a
preparar nuestra red de comunicacin junto con los sensores
para una prueba final, recordemos que estas pruebas nos sern
de gran importancia ya que estas nos dan los resultados de los
objetivos que tenemos como meta, en caso de que todas las
pruebas nos den un resultado satisfactorio procederemos a la
recopilacin de los datos finales para poder sacar las
conclusiones.

5.

IMPLEMENTACION

Sistema Embebido Intel Galileo

Ingreso a la Intel galileo mediante protocolo SSH de manera


remota.

Configuracin de puertos como entrada y salida

Prueba de cambio de puertos como entrada y salida

Intel Galileo conectada al Router

Intel Galileo encendiendo un led como prueba

Codigo en C para obtencin de datos de los Nodos (Prueba)


char test[50];
char var;
String nodo; //string donde almacenare el dato nodo
String temp; //string donde almacenare el dato temperatura
String oxi; //string donde almacenare el dato oxigeno
int i = 0; // para contar las veces que leo o encuentro un ':'
int j = 0;

int k = 0;
int f = 0;

void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}

void loop() {
snprintf (test, 50, "Nodo: 2 Temperatura: 32 Oxigenacion: 100
");// para probar el codigo de manera local grabo la trama en
una cadena llamada test.
// if (Serial.available() > 0){ // con esto verifico que me llegue
algo (trama), caso contrario no pasa nada.
// // el codigo lo ubico aqui cuando este levantada la
comunicacion via ethernet, mientras tanto el codigo va fuera.
//

i = 0;

//

var = Serial.read();

//

while(var != '\0'){

//

test[k] = var;

//

//

k = 0;

// }

Serial.println(test); // imprimir via monitor serie el string test


para saber que me esta llegando.
while(test[j] != ':' && i < 3){ // mientras no encuentr un ':' voy
a seguir desplazandome en el arreglo test.
j++;
}
// una vez que encuentro un ':' salgo del while y aumento en 2
el entero j para poder leer directamente el numero que posee
la cadena.
j++;
j++;
while(test[j] != ' ' && i < 3){ //leo la cadena test uno a uno
hasta encontrar un espacio vacio.
if (i == 0){ // si i = 0 ha encontrado el primer ':' por ende
el numero que guardare es el del nodo.
nodo.concat(test[j]);
j++;
}else if (i == 1){
temp.concat(test[j]);
j++;
}else if (i == 2){
oxi.concat(test[j]);
j++;
}

}
i++; // si encuentra un espacio en blanco termina de guardar
en el string nodo y aumenta i en 1 para si vuelve a encontrar
un ':' el proximo valor lo guardara en temp y luego en oxi.
if (i == 3){ // si llego al ultimo valor, es decir 2 ya no me
interesa nada mas y encero mis variables contadoras.
j = 0;
}
Serial.println(nodo); // imprimo lo que he descifrado
Serial.println(temp);
Serial.println(oxi);
}

Nodo 1:

#include <SoftwareSerial.h>
#define rx 2
#define tx 3
SoftwareSerial myserial(rx, tx);
going to work

//define what pin rx is going to be


//define what pin tx is going to be
//define how the soft serial port is

String inputstring = "";


//a string to hold incoming data from
the PC
String sensorstring = "";
//a string to hold the data from the
Atlas Scientific product
boolean input_string_complete = false;
//have we received all the data
from the PC
boolean sensor_string_complete = false;
float DO;
//used to hold a floating point number that
is the DO
float tempC;
int tempPin = 0; // Definimos la entrada en pin A0
void setup() {
Serial.begin(9600);
port_0 to 9600
myserial.begin(9600);
port to 9600
inputstring.reserve(10);
data from the PC
sensorstring.reserve(30);
data from Atlas Scientific product
}

//set up the hardware


//set baud rate for the hardware serial
//set baud rate for the software serial
//set aside some bytes for receiving
//set aside some bytes for receiving

void serialEvent() {
//if the hardware serial port_0 receives a
char
inputstring = Serial.readStringUntil(13);
//read the string until we see a
<CR>
input_string_complete = true;
}
void loop() {
if (input_string_complete){
received in its entirety
myserial.print(inputstring);
Scientific product

//here we go...
//if a string from the PC has been
//send that string to the Atlas

myserial.print('\r');
//add a <CR> to the end of the string
inputstring = "";
//clear the string
input_string_complete = false;
//reset the flag used to tell if we
have received a completed string from the PC
}
if (myserial.available() > 0) {
//if we see that the Atlas Scientific
product has sent a character
char inchar = (char)myserial.read();
//get the char we just received
sensorstring += inchar;
//add the char to the var called
sensorstring
if (inchar == '\r') {
//if the incoming character is a <CR>
sensor_string_complete = true;
//set the flag
}
}

if (sensor_string_complete== true) {
//if a string from the Atlas
Scientific product has been received in its entirety
Serial.println(sensorstring);
//send that string to the PC's serial
monitor
if (isdigit(sensorstring[0])) {
//if the first character in the string is a
digit
DO = sensorstring.toFloat();
//convert the string to a floating
point number so it can be evaluated by the Arduino
tempC = analogRead(tempPin);
tempC = (5.0 * tempC * 100.0)/1024.0;
Serial.print("Temperatura2: ");
Serial.print(tempC);
Serial.println();
if (DO >= 6.0) {
//if the DO is greater than or equal to 6.0
Serial.println("high");
}
if (DO <= 5.99) {
//if the DO is less than or equal to 5.99
Serial.println("low");
}
}
sensorstring = "";
//clear the string
sensor_string_complete = false;
//reset the flag used to tell if we
have received a completed string from the Atlas Scientific product
}
}

Nodo 2:
#include <DHT11.h>
int pin=2;
DHT11 dht11(pin);
float tempC;
int tempPin = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
int err;
float temp, hum;
if((err = dht11.read(hum, temp)) == 0) // Si devuelve 0 es que ha leido
bien
{
Serial.print("Temperatura: ");
Serial.print(temp);
Serial.print(" Humedad: ");
Serial.print(hum);
tempC = analogRead(tempPin);
tempC = (5.0 * tempC * 100.0)/1024.0;
Serial.print("Temperatura2: ");
Serial.print(tempC);
Serial.println();
}
else
{
Serial.println();
Serial.print("Error Num :");
Serial.print(err);

Serial.println();
}
delay(1000);

//Recordad que solo lee una vez por segundo

6.

BIBLIOGRAFIA

[1] PRO ECUADOR Instituto de Promocin de exportaciones e


inversiones. Pesca y Acuacultura [On-line]. Disponible en:
http://www.proecuador.gob.ec/compradores/ofertaexportable/fishingand-aquaculture/
[2] Cmara Nacional de Acuicultura. Exportaciones por
Mercado y Pas comparativo acumulado a Abril 2014 [Online].
Disponible
en:
http://www.cnaecuador.com/estadisticas-cna/camaron/1334-camaronabril2014
[3] Petriella, A. M.; Boschi E. E. Crecimiento en crustceos
decpodos: de investigaciones realizadas en Argentina.
Investigaciones marinas, 1997, pp.: 135-157. On-line ISSN:
0717-7178
[4] X. Shen. et al., "Water Environment Monitoring System
Based on Neural Networks for Shrimp Cultivation", Artificial
Intelligence and Computational Intelligence, 2009. AICI '09.
International Conference on, vol.3, pp.:427,431, 7-8 Nov.
2009. doi: 10.1109/AICI.2009.294
[5] E. F. Copas. et al., Wireless Mesh Networks: Estudio,
Diseo y Aplicaciones. UTN-Facultad Regional Tucumn
[6] D. S. Simbeye. et al., Design and deployment of wireless
sensor networks for aquaculture monitoring and control

based on virtual instruments. Computers and Electronics in


Agriculture, Vol. 102, Sin publicar, pp.: 31-42.
[7] Beagleboard.org. (2016). BeagleBoard.org - black.
[online] Available at: https://beagleboard.org/black [Accessed
16 Jun. 2016].

Potrebbero piacerti anche