SlideShare una empresa de Scribd logo
1 de 11
Descargar para leer sin conexión
Prototipo estación metereológica Curso IOT
1
ÍNDICE
1 Propósito y alcance................................................................................................1
2 Fases del proyecto - Participantes..........................................................................2
3 Hardware y Software comercial.............................................................................2
4 Software a desarrollar............................................................................................3
4.1 Recogida de datos (waspmote).......................................................................4
4.2 Formateo de la salida estándar xml (script linux) ...........................................6
4.3 Página web principal (código php).................................................................8
4.4 Página web para visualizar la lectura de sensores (código xls) .......................9
4.5 Código de estilo css.....................................................................................10
5 Propuestas de ampliación para futuras fases ........................................................11
1 Propósito y alcance
El I.E.S Europa ha sido seleccionado en el programa STEM (Sciencie, Technology,
Engeneering, Mathematics) con la línea temática Eficiencia energética. Energías
alternativas.
En la propuesta de participación en el concurso, se indicaba:
Esta línea temática está en consonancia con el New European Green Deal que en
palabras de la presidenta de la Comisión Europea, Ursula von der Leyen significa „ El
Pacto Verde Europeo es nuestra nueva estrategia de crecimiento. Contribuirá a reducir
las emisiones, así como a crear puestos de trabajo“. Estas palabras resumen con
claridad la importancia que la eficiencia energética y las energías alternativas van a
tener para la sociedad europea: el progreso científico en el campo de las energías nos
trae una sociedad mejor, menos agresiva con el medioambiente y más rica.
El IES Europa posee una instalación solar fotovoltaica con una capacidad de
producción de 71kwh que se consigue con 215 placas solares y que permite la
generación del 75% del total de la energía eléctrica consumida en el centro,
reduciendo de este modo nuestra contribución a la huella ecológica. Es la mayor
instalación solar fotovoltaica instalada en un centro público de Educación Secundaria
de la Comunidad de Madrid y, posiblemente, de nuestro país.
A partir de esta instalación nos proponemos que las alumnas y alumnos del IES Europa
puedan estudiar desde un punto de vista experimental las cuestiones relacionadas con
la energía, y por esto hemos elegido como línea temática la Eficiencia energética y las
energías renovables.
En nuestro Instituto creemos que la mejor manera de aprender es haciendo.
Con el espíritu que mueve a nuestro centro en la apuesta por la ciencia, desde el
departamento en Informática impulsamos que nuestros alumnos participen en la
ejecución de proyectos que estén en sintonía con la línea temática de nuestro programa
STEM.
En este documento se describe la idea de implementar una “estación metereológica“
mediante el uso de sensores que recojan diferentes parámetros y sean enviados a un PC
para su procesamiento y análisis. Para ello se ha realizado un análisis de viabilidad
inicial con la participación de un grupo de alumnos del ciclo ASIR.
Prototipo estación metereológica Curso IOT
2
El uso de prototipo a desarrollar tendrá principalmente dos funciones:
 Situando el dispositivo próximo a los paneles solares del centro. Recogida de
información de las condiciones metereológicas que se estén dando en un
determinado momento. Con los datos obtenidos se tratará de encontrar
correlación entre el rendimiento que esté proporcionando la propia central solar
y los datos obtenidos. Permitirá determinar las mejores condiciones para un
máximo rendimiento.
 Prospección de nuevos espacios en el centro que puedan ser candidatos para la
ampliación de la central actualmente instalada. Se plantea la toma simultánea del
estado de las condiciones metereológicas en al menos dos espacios diferenciados
en el centro. Esta solución podría estar disponible en préstamo para otros centros
que pudieran tener interés en montar instalaciones parecidas a la nuestra.
2 Fases del proyecto - Participantes
 Análisis de viabilidad del prototipo. Realizada y aquí documentada. Alumnos de
ASIR y profesores del departamento de Informática participantes en el curso
“Con TEAM hay Steam“.
Realización de prácticas de laboratorio con el hardware disponible en los Kits
waspmote. Monitorización de temperatura, humedad y presión atmosférica.
 Elaboración de prototipos. Lanzamiento de proyectos fin de ciclo de alumnos de
2 de ASIR para la implementación del proyecto descrito en el apartado anterior
que incluya información de nuevos sensores (si es posible) y el análisis
comparativo con los datos reales obtenidos de los paneles solares. Ver
propuestas de ampliación en la sección final de este documento.
3 Hardware y Software comercial
 IOT Hardware Kit (Libelium)
o Waspmote 802.15.4 y Waspmote Gateway 802.15.4 (Antenna y Xbee
Pro)
o Battery.
o Waspmote event board.
o Sensor de temperatura.
o Sensor de temperatura, humedad y presión.
o Sensor de movimiento.
o Cables USB.
 Waspmote IDE && API
 Cutecom. Para recoger la información vía USB.
 Servidor Web Apache bajo SSOO Linux y módulos PHP.
Prototipo estación metereológica Curso IOT
3
4 Software a desarrollar
 Programa para la recogida de información de los sensores para el Kit waspmote.
Además de la toma de datos, se realizará un preformateo de la información con
el objetivo de que su almacenamiento final esté recogido en formato xml.
 Implementación de un script en Linux, que utilizando los datos del apartado
anterior, aplique un formato xml final.
 Desarrollo de páginas que integren código php, xsl y css para una presentación
amigable de los datos obtenidos y que pueda hacerse pública desde un servidor
Web.
Prototipo estación metereológica Curso IOT
4
4.1 Recogida de datos (waspmote)
Haciendo uso del IDE waspmote, cargaremos el siguiente programa.
La obtención de datos se realiza
utilizando un sensor de temperatura-
humedad-presión conectado a la placa
waspmote event board y esta a su vez a la
placa waspmote Gateway 802.15.4
#include <WaspSensorEvent_v30.h>
float temp;
float humd;
float pres;
float value;
char sensor[3] = "01";
void setup()
{
USB.ON();
Events.ON();
}
void loop()
{
temp = Events.getTemperature(); //Temperature
humd = Events.getHumidity(); //Humidity
pres = Events.getPressure(); //Pressure
// Publica los datos
USB.print("<medida><sensor>");
USB.print(sensor);
USB.print("</sensor><temp>");
USB.printFloat(temp, 2);
USB.print("</temp><humedad>");
USB.printFloat(humd, 1);
USB.print("</humedad><presion>");
USB.printFloat(pres, 2);
USB.println("</presion></medida>");
// Hiberna durante 10 segundos
PWR.deepSleep("00:00:00:10", RTC_OFFSET, RTC_ALM1_MODE1, ALL_OFF);
USB.ON();
}
Prototipo estación metereológica Curso IOT
5
En esta versión inicial del prototipo no se ha previsto realizar la codificación de un
programa que haga la lectura y volcado automático de los datos a fichero. Utilizaremos
el programa Cutecom para la lectura del puerto serie USB. La siguiente imagen muestra
la recogida de datos tomada durante una sesión de pruebas.
El volcado de los datos a fichero se realiza mediante un copiado y pegado manual. En
proyectos futuros puede ser un aspecto de mejora que este proceso esté automatizado.
Con el objetivo de preparar el fichero descargado para posteriores fases, su nombre
deberá seguir el siguiente formato: AAAA-MM-DD-VV.xml . P.e 2021-05-07-01.xml.
Siendo
 AAAA- Año en el que se ha realizado la toma de información.
 MM- Mes en el que se ha realizado la toma de información.
 DD- Día en el que se ha realizado la toma de información.
 VV- Versión del fichero. Utilizado por si un mismo día se han realizado varias
recogidas de datos.
Un ejemplo podría ser:
En la siguiente sección se muestra el script que procesa la información obtenida de los
sensores para conseguir el formato xml definitivo. El script procesa los ficheros que se
encuentran en la ruta Web-root/waspmote/script-linux/rawdata/. Por lo tanto será en
esta ubicación donde habrá que copiar los ficheros que se están describiendo en este
apartado.
Tras ser procesados los ficheros con los datos del sensor, se mueven a la nueva ruta
Web-root/waspmote/script-linux/rawdataproc/. Aquí quedarán almacenados por si es
preciso su uso futuro, pero en la nueva ubicación ya no volverán a ser considerados en
posteriores ejecuciones del script.
[23:14:33:117] J#␊
[23:14:36:104] <medida><sensor>02</sensor><temp>22.67</temp><humedad>42.5</humedad><presion>94593.89</presion></medida>␍␊
[23:14:46:602] <medida><sensor>02</sensor><temp>22.68</temp><humedad>42.7</humedad><presion>94590.77</presion></medida>␍␊
[23:14:57:611] <medida><sensor>02</sensor><temp>22.67</temp><humedad>42.5</humedad><presion>94593.42</presion></medida>␍␊
[23:15:08:604] <medida><sensor>02</sensor><temp>22.67</temp><humedad>42.8</humedad><presion>94591.53</presion></medida>␍␊
[23:15:19:597] <medida><sensor>02</sensor><temp>22.66</temp><humedad>43.0</humedad><presion>94594.19</presion></medida>␍␊
Prototipo estación metereológica Curso IOT
6
4.2 Formateo de la salida estándar xml (script linux)
La información almacenada en el fichero anterior, aunque tiene un preprocesamiento
inicial, no constituye un fichero xml bien formado. Los ficheros xml finales se generan
mediante la ejecución del script Convertxml.sh, que se encuentra en la ruta Web-
root/waspmote/script-linux/scripts. Su código es el siguiente.
 gla y por último hacer clic en finalizar
#!/bin/bash
# DEFINICION DE VARIABLES
nombreFich="" # NOMBRE DEL FICHERO DE SALIDA
cadEsc="" # CADENA A ESCRIBIR EN EL FICHERO
infoBool=NO # UTILIZADO PARA LOCALIDAD EL INICIO DE INFORMACION UTIL
fecha="" # FECHA RECUPERADA DEL NOMBRE DE FICHERO
version="" # VERSION RECUPERADA DEL NOMBRE DEL FICHERO
numeroSensor="" # NUMERO EL SENSOR QUE HA GENERADO LA INFORMACION
nombreFichSal="" # NOMBRE DEL FICHERO DE SALIDA. SENSIR-FECHA_VERSION
horaMuestra="" # HORA DE LA MUESTRA
restoLect="" # RESTO DE LA LECTURA RECIBIDA DEL SENSOR
sensorAlfa="" # NOMBRE DEL SENSOR
paramUno="" # CONTIENE INFORMACION PARA LA FUNCION procesarFichRaw
# CABECERA INICIAL DE TODOS LOS FICHEROS xml RESULTANTES
cabecerasXMLInic(){
echo '<?xml version="1.0"?>' >> "$nombreFichSal"
echo '<?xml-stylesheet type="text/xsl" href="./../xslfiles/waspmote.xsl" ?>' >> "$nombreFichSal"
echo '<waspmote>' >> "$nombreFichSal"
echo '<umbraTempMin>20</umbraTempMin>' >> "$nombreFichSal"
echo '<umbraTempMax>25</umbraTempMax>' >> "$nombreFichSal"
echo '<umbraHumedadMin>40</umbraHumedadMin>' >> "$nombreFichSal"
echo '<umbraHumedadMax>45</umbraHumedadMax>' >> "$nombreFichSal"
echo '<umbraPresionMin>20</umbraPresionMin>' >> "$nombreFichSal"
echo '<umbraPresionMax>30</umbraPresionMax>' >> "$nombreFichSal"
sensorAlfa="<sensor>$numeroSensor</sensor>"
echo "$sensorAlfa" >> "$nombreFichSal"
}
# FUNCION QUE PROCESA CADA FICHERO RAW A XML
procesarFichRaw (){
# LA FECHA Y VERSION VIENE DEL NOMBRE DEL FICHERO
fecha=$(echo "$paramUno" | cut -c 1-10)
version=$(echo "$paramUno" | cut -c 12-13)
echo "Procesando el fichero $paramUno"
while IFS= read -r line
do
# PUEDE QUE HAYA LINEAS QUE NO SEAN DE INFORMACION ANTERIORES. EN
LA PRIMERA LINEA VALIDA:
if [[ "$infoBool" = "NO" && "$line" = *medida* ]]
then
infoBool="SI" # YA HAN EMPEZADO LOS REGISTROS CON
INFO. UTIL
# RECUPERAR EL NUMERO DE SENSOR
numeroSensor=$(echo "$line" | cut -c 31-32)
# CREAR EL NOMBRE DEL FICHERO DE SALIDA USANDO FECH A Y
NUMERO DE SENSOR
nombreFichSal="./../xmldata/$numeroSensor-$fecha-$version.xml"
# ESCRIBE LA CABECERA DEL FICHERO XML RESULTANTE
cabecerasXMLInic
fi
Prototipo estación metereológica Curso IOT
7
Los ficheros xml finales, una vez han sido tratados y están listos para que sean
visualizados con un navegador mediante servicio web (http), se encuentran en la ruta
Web-root/waspmote/xmlfiles. Un fichero ejemplo podría ser.
# ESTE REGISRO HAY QUE VOLCARLO AL FICHERO DE SALIDA
if [[ "$infoBool" = "SI" ]]
then
horaMuestra=$(echo "$line" | cut -c 2-9)
restoLect=$(echo "$line" | cut -c 42-)
cadEsc="<medida><tiempo>$fecha-$horaMuestra</tiempo>$restoLect"
echo "$cadEsc" >> "$nombreFichSal"
fi
done < "./../rawdata/$paramUno"
echo "</waspmote>" >> "$nombreFichSal"
# GUARDA EL FICHERO RAW DATA EN rawdataproc PARA QUE NO VUELVA A SER
PROCESADO SI SE LLAMA DE NUEVO AL SCRIPT
$(mv "./../rawdata/$paramUno" "./../rawdataproc/$paramUno")
}
# PARA CADA FICHERO EN EL DIRECTORIO RAWDATA. PENDIENTE DE PROCESAR.
for i in $(ls ./../rawdata/ -C1)
do
paramUno=$i # UTILIZADO PARA PASAR EL NOMBRE DEL FICHERO A LA
FUNCION procesarFichRaw
infoBool="NO" # INICIALIZA VARIABLE NECESARIA ANTES DE PROCESAR
CUALQUIER FICHERO RAW
procesarFichRaw # FUNCION QUE PROCESA CADA FICHERO RAW A XML
done
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="./../xslfiles/waspmote.xsl" ?>
<waspmote>
<umbraTempMin>20</umbraTempMin>
<umbraTempMax>25</umbraTempMax>
<umbraHumedadMin>40</umbraHumedadMin>
<umbraHumedadMax>45</umbraHumedadMax>
<umbraPresionMin>20</umbraPresionMin>
<umbraPresionMax>30</umbraPresionMax>
<sensor>02</sensor>
<medida><tiempo>2021-05-01-01-07-39</tiempo><temp>21.49</temp><humedad>48.2</humedad><presion>93806.80</presion></medida>
<medida><tiempo>2021-05-01-01-07-50</tiempo><temp>21.48</temp><humedad>48.3</humedad><presion>93809.78</presion></medida>
<medida><tiempo>2021-05-01-01-08-01</tiempo><temp>21.46</temp><humedad>48.4</humedad><presion>93804.80</presion></medida>
</waspmote>
Prototipo estación metereológica Curso IOT
8
4.3 Página web principal (código php)
Se plantea una sencilla página php que muestre el listado de ficheros xml con la
información disponible en la ruta Web-root/waspmote/xmlfiles (lecturas de los sensores
en formato xml).
La página está situada en la ruta Web-root/waspmote/index.php.
Disponible vía web en la url http://IpServidorWeb/waspmote
Su código es:
<html>
<head>
<title>Prueba de PHP</title>
<link rel="stylesheet" href="./cssfiles/index.css">
</head>
<body>
<div id="cab">
<h4 style=" float:left; width:70%;text-align:center; margin-top:3%;">Prototipo - Central Metoreológica<br/>Departamento Informática</h4>
<div style=" float:left; width:30%;text-align:center;margin-top:1%;"><img style="width:100px;" src="./img/ieseuropa.png" alt="Logo-Europa"
/></div>
</div>
<p style="clear:left;text-align:center;padding-top:3%;margin-bottom:-1%;font-size:25px;color:blue;">LECTURA DE SENSORES</p>
<?php
$dir = opendir("./xmlfiles/");
$files = array();
while ($current = readdir($dir)){
if( $current != "." && $current != "..") {
$files[] = $current;
}
}
echo '<ul>';
for($i=0; $i<count( $files ); $i++){
echo '<li><a target="_blank" href="xmlfiles/'.$files[$i].'">'.$files[$i].'</a></li>';
}
echo '</ul>';
?>
</body>
</html>
Prototipo estación metereológica Curso IOT
9
4.4 Página web para visualizar la lectura de sensores (código xls)
Los ficheros xml se procesan para su visualización mediante el siguiente código xls.
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head>
<title>Prototipo - Central Metoreológica.</title>
<link rel="stylesheet" type="text/css" href="./../cssfiles/waspmote.css" />
</head>
<body>
<div id="cab">
<h4 style=" float:left; width:70%;text-align:center; margin-top:3%;">Prototipo - Central Metoreológica<br/>Departamento Informática</h4>
<div style=" float:left; width:30%;text-align:center;margin-top:1%;"><img style="width:100px;" src="./../img/ieseuropa.png" alt="Logo-Europa"
/></div>
</div>
<p style="clear:left;text-align:center;padding-top:3%;margin-bottom:0%;font-size:25px;color:blue;">Sensor: <xsl:value-of select="waspmote/medida/sensor" /></p>
<div id="cuer">
<div id="rangos">
<div style="margin-bottom:1%;text-decoration:underline;color:blue;">UMBRALES DE MEDIDA</div>
<div style="display:inline-block;width:33%;">Temp. (Cel.): <xsl:value-of select="waspmote/umbraTempMin" /> -- <xsl:value-of
select="waspmote/umbraTempMax" /></div>
<div style="display:inline-block;width:33%;">Humedad (%): <xsl:value-of select="waspmote/umbraHumedadMin" /> -- <xsl:value-of
select="waspmote/umbraHumedadMax" /> </div>
<div style="display:inline-block;width:33%;">Presión (Pa): <xsl:value-of select="waspmote/umbraPresionMin" /> -- <xsl:value-of
select="waspmote/umbraPresionMax" /></div>
</div>
<table style="width:100%;">
<tr>
<td style="color:black;width:25%;text-decoration:underline;color:blue;">Tiempo</td>
<td style="color:black;width:25%;text-decoration:underline;color:blue;">Temp. (Cel.)</td>
<td style="color:black;width:25%;text-decoration:underline;color:blue;">Humedad (%)</td>
<td style="color:black;width:25%;text-decoration:underline;color:blue;">Presión (Pa)</td>
</tr>
<!-- Por cada medida recogida en el fichero XML. Una entrada con tiempo, temperatura, humedad y presion -->
<xsl:for-each select="waspmote/medida">
<tr>
<!-- Tiempo -->
<td style="color:black;width:25%;"><xsl:value-of select="tiempo" /></td>
<!-- Temperatura. Si esta fuera de los umbrales en rojo, sino en negro -->
<xsl:if test="temp &lt; /waspmote/umbraTempMin or temp &gt; /waspmote/umbraTempMax">
<td style="color:red;width:25%;"><xsl:value-of select="temp" /></td>
</xsl:if>
<xsl:if test="not(temp &lt; /waspmote/umbraTempMin or temp &gt; /waspmote/umbraTempMax)">
<td style="color:black;width:25%;"><xsl:value-of select="temp" /></td>
</xsl:if>
<!-- Humedad. Si esta fuera de los umbrales en rojo, sino en negro -->
<xsl:if test="humedad &lt; /waspmote/umbraHumedadMin or humedad &gt; /waspmote/umbraHumedadMax">
<td style="color:red;width:25%;"><xsl:value-of select="humedad" /></td>
</xsl:if>
<xsl:if test="not(humedad &lt; /waspmote/umbraHumedadMin or humedad &gt; /waspmote/umbraHumedadMax)">
<td style="color:black;width:25%;"><xsl:value-of select="humedad" /></td>
</xsl:if>
<!-- Presion. Si esta fuera de los umbrales en rojo, sino en negro -->
<xsl:if test="presion &lt; /waspmote/umbraPresionMin or presion &gt; /waspmote/umbraPresionMax">
<td style="color:red;width:25%;"><xsl:value-of select="presion" /></td>
</xsl:if>
<xsl:if test="not(presion &lt; /waspmote/umbraPresionMin or presion &gt; /waspmote/umbraPresionMax)">
<td style="color:black;width:25%;"><xsl:value-of select="presion" /></td>
</xsl:if>
</tr>
</xsl:for-each>
</table>
</div>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Prototipo estación metereológica Curso IOT
10
La figura muestra un ejemplo de la página.
4.5 Código de estilo css
Para la página principal index.php:
Para las páginas utilizadas para mostrar los datos recogidos por los sensores:
#cab
{
text-align:center; text-transform:uppercase;
color:green; width:50%;
margin-left:25%; aling:center;
border-bottom:2px; border-style:solid;
}
ul {
list-style: none; text-align:center;
width:30%; margin-left:32%;
}
ul li {
border-bottom: 1.5px solid black; background-color:cyan;
overflow: hidden; white-space: nowrap;text-overflow: ellipsis;width:100%; text-decoration:underline; color:blue;
}
ul li a {
padding: .1em 0 .1em 0; display: block;
text-decoration: none; background-color:#F0E68C;
}
ul li a:hover {
background-color:white; color:black;
}
#cab
{
text-align:center; text-transform:uppercase;
color:green; width:90%;
margin-left:5%; aling:center;
border-bottom:2px; border-style:solid;
}
#rangos
{
text-align:center; text-transform:uppercase;
margin-top:1%; margin-bottom:1%;
padding-top:1%; padding-bottom:1%;
margin-left:1%; width:98%;
aling:center; border-width:2px;
border-style:solid; color:black;
}
#cuer
{
text-align:center; width:90%;
margin-left:auto; margin-right:auto;
border-width:2px; border-style:solid;
}
Prototipo estación metereológica Curso IOT
11
5 Propuestas de ampliación para futuras fases
 Toma de información de un número mayor de parámetros, si hay disponibilidad
de sensores.
 Validación de los ficheros xml mediante DTD o xml Schema.
 Diseño de modelos comparativos entre los datos obtenidos por un sensor y la
información monitorizada de las estaciones solares que permitan conocer las
mejores condiciones para obtener rendimientos máximos de los paneles.
 Diseño de modelos comparativos entre los datos obtenidos por un sensor y la
información monitorizada de las estaciones solares que permita determinar fallos
en los paneles solares si su rendimiento no está siendo el previsible.
 Diseño de modelos comparativos entre los datos obtenidos por sensores
ubicados en diferentes ubicaciones en un mismo momento que permitan
determinar las ubicaciones más idóneas para la instalación de nuevos paneles.
 Presentación de gráficas e informes en relación a todos los apartados anteriores.
 Desarrollo de aplicaciones que permitan la conexión directa al puerto serie del
PC y por tanto la recogida de la información de los sensores sustituyendo a la
aplicación Cutecom. Esto evitará la necesidad de actuación manual en el
almacenamiento de datos a ficheros.
 Conexión entre la placa waspmote y el PC vía radio. En el prototipo inicial se
realiza mediante conexión de cable USB.
 Implementación responsive del desarrollo web propuesto.

Más contenido relacionado

Similar a Manual -prototipo-estacion-metereologica

eMadrid 2015 20 02 (UNED) Llanos Tobarra - "Laboratorios Remotos para cursos ...
eMadrid 2015 20 02 (UNED) Llanos Tobarra - "Laboratorios Remotos para cursos ...eMadrid 2015 20 02 (UNED) Llanos Tobarra - "Laboratorios Remotos para cursos ...
eMadrid 2015 20 02 (UNED) Llanos Tobarra - "Laboratorios Remotos para cursos ...eMadrid network
 
Sistema autoalerta para vehículos.
Sistema autoalerta para vehículos.Sistema autoalerta para vehículos.
Sistema autoalerta para vehículos.Erick Calderin
 
Presentación Proyecto # 54 Premio Eureka 2011 Mención Innovatividad Técnica
Presentación Proyecto # 54 Premio Eureka 2011 Mención Innovatividad TécnicaPresentación Proyecto # 54 Premio Eureka 2011 Mención Innovatividad Técnica
Presentación Proyecto # 54 Premio Eureka 2011 Mención Innovatividad TécnicaProyecto Red Eureka
 
F3 edwin rodriguez_203055_3 (1)
F3 edwin rodriguez_203055_3 (1)F3 edwin rodriguez_203055_3 (1)
F3 edwin rodriguez_203055_3 (1)edwin andres
 
Manual chac (español)
Manual chac (español)Manual chac (español)
Manual chac (español)DIEGOS MORALES
 
dgarccos,+144-346-1-CE.pdf
dgarccos,+144-346-1-CE.pdfdgarccos,+144-346-1-CE.pdf
dgarccos,+144-346-1-CE.pdfssuser6ff431
 
Rendimiento y consumo energético con python
Rendimiento y consumo energético con pythonRendimiento y consumo energético con python
Rendimiento y consumo energético con pythonpythoncanarias
 
Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010
Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010
Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010MaryMamaniQuispe1
 
Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010
Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010
Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010DaniiCerro
 
Tutorial uso packet tracer y aplicaciones resueltas corpocides 2010
Tutorial uso packet tracer y aplicaciones resueltas corpocides 2010Tutorial uso packet tracer y aplicaciones resueltas corpocides 2010
Tutorial uso packet tracer y aplicaciones resueltas corpocides 2010Eduardo Sanchez Piña
 
Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010
Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010
Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010Einer Moreno Hidalgo
 
03.1 med-pres
03.1 med-pres03.1 med-pres
03.1 med-presxavazquez
 
Actividad4 manual usuarrio _victor jaimes
Actividad4 manual usuarrio _victor jaimesActividad4 manual usuarrio _victor jaimes
Actividad4 manual usuarrio _victor jaimesVictor Jaimes
 
Desarrollo e implementación de una estación meteorológica mediante la platafo...
Desarrollo e implementación de una estación meteorológica mediante la platafo...Desarrollo e implementación de una estación meteorológica mediante la platafo...
Desarrollo e implementación de una estación meteorológica mediante la platafo...Alejandro Galvez
 
Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010
Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010
Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010Instituto Tecnologico de Tepic
 

Similar a Manual -prototipo-estacion-metereologica (20)

TUTORI~1.PDF
TUTORI~1.PDFTUTORI~1.PDF
TUTORI~1.PDF
 
Memoria
MemoriaMemoria
Memoria
 
eMadrid 2015 20 02 (UNED) Llanos Tobarra - "Laboratorios Remotos para cursos ...
eMadrid 2015 20 02 (UNED) Llanos Tobarra - "Laboratorios Remotos para cursos ...eMadrid 2015 20 02 (UNED) Llanos Tobarra - "Laboratorios Remotos para cursos ...
eMadrid 2015 20 02 (UNED) Llanos Tobarra - "Laboratorios Remotos para cursos ...
 
Sistema autoalerta para vehículos.
Sistema autoalerta para vehículos.Sistema autoalerta para vehículos.
Sistema autoalerta para vehículos.
 
Presentación Proyecto # 54 Premio Eureka 2011 Mención Innovatividad Técnica
Presentación Proyecto # 54 Premio Eureka 2011 Mención Innovatividad TécnicaPresentación Proyecto # 54 Premio Eureka 2011 Mención Innovatividad Técnica
Presentación Proyecto # 54 Premio Eureka 2011 Mención Innovatividad Técnica
 
F3 edwin rodriguez_203055_3 (1)
F3 edwin rodriguez_203055_3 (1)F3 edwin rodriguez_203055_3 (1)
F3 edwin rodriguez_203055_3 (1)
 
Manual chac (español)
Manual chac (español)Manual chac (español)
Manual chac (español)
 
dgarccos,+144-346-1-CE.pdf
dgarccos,+144-346-1-CE.pdfdgarccos,+144-346-1-CE.pdf
dgarccos,+144-346-1-CE.pdf
 
Actividad no18 2do_parcial_lema_evelyn
Actividad no18 2do_parcial_lema_evelynActividad no18 2do_parcial_lema_evelyn
Actividad no18 2do_parcial_lema_evelyn
 
Rendimiento y consumo energético con python
Rendimiento y consumo energético con pythonRendimiento y consumo energético con python
Rendimiento y consumo energético con python
 
Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010
Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010
Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010
 
Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010
Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010
Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010
 
Tutorial uso packet tracer y aplicaciones resueltas corpocides 2010
Tutorial uso packet tracer y aplicaciones resueltas corpocides 2010Tutorial uso packet tracer y aplicaciones resueltas corpocides 2010
Tutorial uso packet tracer y aplicaciones resueltas corpocides 2010
 
packet-tracer
packet-tracerpacket-tracer
packet-tracer
 
Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010
Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010
Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010
 
03.1 med-pres
03.1 med-pres03.1 med-pres
03.1 med-pres
 
Actividad4 manual usuarrio _victor jaimes
Actividad4 manual usuarrio _victor jaimesActividad4 manual usuarrio _victor jaimes
Actividad4 manual usuarrio _victor jaimes
 
Desarrollo e implementación de una estación meteorológica mediante la platafo...
Desarrollo e implementación de una estación meteorológica mediante la platafo...Desarrollo e implementación de una estación meteorológica mediante la platafo...
Desarrollo e implementación de una estación meteorológica mediante la platafo...
 
12345
1234512345
12345
 
Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010
Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010
Tutorial uso-packet-tracer-y-aplicaciones-resueltas-corpocides-2010
 

Más de rgarroyo79

Actividad5 1 raul gonzalez
Actividad5 1 raul gonzalezActividad5 1 raul gonzalez
Actividad5 1 raul gonzalezrgarroyo79
 
Memoria domótica
Memoria domóticaMemoria domótica
Memoria domóticargarroyo79
 
Actividad1.3 raulglz
Actividad1.3 raulglzActividad1.3 raulglz
Actividad1.3 raulglzrgarroyo79
 
RECUPERAR W7 Y WINDOWS XP
RECUPERAR W7 Y WINDOWS XPRECUPERAR W7 Y WINDOWS XP
RECUPERAR W7 Y WINDOWS XPrgarroyo79
 
La bios ó setup
La bios ó setupLa bios ó setup
La bios ó setuprgarroyo79
 
Khalid manual de partition wizard
Khalid manual de partition wizardKhalid manual de partition wizard
Khalid manual de partition wizardrgarroyo79
 
Iván easeus partition master
Iván easeus partition masterIván easeus partition master
Iván easeus partition masterrgarroyo79
 
Manual de instalacion del sistema operativo gag
Manual de instalacion del sistema operativo gagManual de instalacion del sistema operativo gag
Manual de instalacion del sistema operativo gagrgarroyo79
 
Manual de instalacion de ubuntu
Manual de instalacion de ubuntuManual de instalacion de ubuntu
Manual de instalacion de ubunturgarroyo79
 
Practica ins ubuntu
Practica ins ubuntuPractica ins ubuntu
Practica ins ubunturgarroyo79
 
Para intalar un ubuntu tienes que tener istalado en programa vmware workstati...
Para intalar un ubuntu tienes que tener istalado en programa vmware workstati...Para intalar un ubuntu tienes que tener istalado en programa vmware workstati...
Para intalar un ubuntu tienes que tener istalado en programa vmware workstati...rgarroyo79
 
Manual de manejo de ubuntu
Manual de manejo de ubuntuManual de manejo de ubuntu
Manual de manejo de ubunturgarroyo79
 
Manual de manejo de driver guide toolkit
Manual de manejo de driver guide toolkitManual de manejo de driver guide toolkit
Manual de manejo de driver guide toolkitrgarroyo79
 
Manual de manejo de my drivers By Khalid
Manual de manejo de my drivers By KhalidManual de manejo de my drivers By Khalid
Manual de manejo de my drivers By Khalidrgarroyo79
 
Trabajo manejo aplicación driver guide toolkit
Trabajo manejo aplicación driver guide toolkitTrabajo manejo aplicación driver guide toolkit
Trabajo manejo aplicación driver guide toolkitrgarroyo79
 
Manual de cd de reparación
Manual de cd de reparaciónManual de cd de reparación
Manual de cd de reparaciónrgarroyo79
 
Centrales electricas
Centrales electricasCentrales electricas
Centrales electricasrgarroyo79
 
Formatos y Edición
Formatos y EdiciónFormatos y Edición
Formatos y Ediciónrgarroyo79
 

Más de rgarroyo79 (19)

Actividad5 1 raul gonzalez
Actividad5 1 raul gonzalezActividad5 1 raul gonzalez
Actividad5 1 raul gonzalez
 
Memoria domótica
Memoria domóticaMemoria domótica
Memoria domótica
 
Actividad1.3 raulglz
Actividad1.3 raulglzActividad1.3 raulglz
Actividad1.3 raulglz
 
RECUPERAR W7 Y WINDOWS XP
RECUPERAR W7 Y WINDOWS XPRECUPERAR W7 Y WINDOWS XP
RECUPERAR W7 Y WINDOWS XP
 
Placa base
Placa basePlaca base
Placa base
 
La bios ó setup
La bios ó setupLa bios ó setup
La bios ó setup
 
Khalid manual de partition wizard
Khalid manual de partition wizardKhalid manual de partition wizard
Khalid manual de partition wizard
 
Iván easeus partition master
Iván easeus partition masterIván easeus partition master
Iván easeus partition master
 
Manual de instalacion del sistema operativo gag
Manual de instalacion del sistema operativo gagManual de instalacion del sistema operativo gag
Manual de instalacion del sistema operativo gag
 
Manual de instalacion de ubuntu
Manual de instalacion de ubuntuManual de instalacion de ubuntu
Manual de instalacion de ubuntu
 
Practica ins ubuntu
Practica ins ubuntuPractica ins ubuntu
Practica ins ubuntu
 
Para intalar un ubuntu tienes que tener istalado en programa vmware workstati...
Para intalar un ubuntu tienes que tener istalado en programa vmware workstati...Para intalar un ubuntu tienes que tener istalado en programa vmware workstati...
Para intalar un ubuntu tienes que tener istalado en programa vmware workstati...
 
Manual de manejo de ubuntu
Manual de manejo de ubuntuManual de manejo de ubuntu
Manual de manejo de ubuntu
 
Manual de manejo de driver guide toolkit
Manual de manejo de driver guide toolkitManual de manejo de driver guide toolkit
Manual de manejo de driver guide toolkit
 
Manual de manejo de my drivers By Khalid
Manual de manejo de my drivers By KhalidManual de manejo de my drivers By Khalid
Manual de manejo de my drivers By Khalid
 
Trabajo manejo aplicación driver guide toolkit
Trabajo manejo aplicación driver guide toolkitTrabajo manejo aplicación driver guide toolkit
Trabajo manejo aplicación driver guide toolkit
 
Manual de cd de reparación
Manual de cd de reparaciónManual de cd de reparación
Manual de cd de reparación
 
Centrales electricas
Centrales electricasCentrales electricas
Centrales electricas
 
Formatos y Edición
Formatos y EdiciónFormatos y Edición
Formatos y Edición
 

Último

plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativafiorelachuctaya2
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFlor Idalia Espinoza Ortega
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 

Último (20)

Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativa
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamica
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 

Manual -prototipo-estacion-metereologica

  • 1. Prototipo estación metereológica Curso IOT 1 ÍNDICE 1 Propósito y alcance................................................................................................1 2 Fases del proyecto - Participantes..........................................................................2 3 Hardware y Software comercial.............................................................................2 4 Software a desarrollar............................................................................................3 4.1 Recogida de datos (waspmote).......................................................................4 4.2 Formateo de la salida estándar xml (script linux) ...........................................6 4.3 Página web principal (código php).................................................................8 4.4 Página web para visualizar la lectura de sensores (código xls) .......................9 4.5 Código de estilo css.....................................................................................10 5 Propuestas de ampliación para futuras fases ........................................................11 1 Propósito y alcance El I.E.S Europa ha sido seleccionado en el programa STEM (Sciencie, Technology, Engeneering, Mathematics) con la línea temática Eficiencia energética. Energías alternativas. En la propuesta de participación en el concurso, se indicaba: Esta línea temática está en consonancia con el New European Green Deal que en palabras de la presidenta de la Comisión Europea, Ursula von der Leyen significa „ El Pacto Verde Europeo es nuestra nueva estrategia de crecimiento. Contribuirá a reducir las emisiones, así como a crear puestos de trabajo“. Estas palabras resumen con claridad la importancia que la eficiencia energética y las energías alternativas van a tener para la sociedad europea: el progreso científico en el campo de las energías nos trae una sociedad mejor, menos agresiva con el medioambiente y más rica. El IES Europa posee una instalación solar fotovoltaica con una capacidad de producción de 71kwh que se consigue con 215 placas solares y que permite la generación del 75% del total de la energía eléctrica consumida en el centro, reduciendo de este modo nuestra contribución a la huella ecológica. Es la mayor instalación solar fotovoltaica instalada en un centro público de Educación Secundaria de la Comunidad de Madrid y, posiblemente, de nuestro país. A partir de esta instalación nos proponemos que las alumnas y alumnos del IES Europa puedan estudiar desde un punto de vista experimental las cuestiones relacionadas con la energía, y por esto hemos elegido como línea temática la Eficiencia energética y las energías renovables. En nuestro Instituto creemos que la mejor manera de aprender es haciendo. Con el espíritu que mueve a nuestro centro en la apuesta por la ciencia, desde el departamento en Informática impulsamos que nuestros alumnos participen en la ejecución de proyectos que estén en sintonía con la línea temática de nuestro programa STEM. En este documento se describe la idea de implementar una “estación metereológica“ mediante el uso de sensores que recojan diferentes parámetros y sean enviados a un PC para su procesamiento y análisis. Para ello se ha realizado un análisis de viabilidad inicial con la participación de un grupo de alumnos del ciclo ASIR.
  • 2. Prototipo estación metereológica Curso IOT 2 El uso de prototipo a desarrollar tendrá principalmente dos funciones:  Situando el dispositivo próximo a los paneles solares del centro. Recogida de información de las condiciones metereológicas que se estén dando en un determinado momento. Con los datos obtenidos se tratará de encontrar correlación entre el rendimiento que esté proporcionando la propia central solar y los datos obtenidos. Permitirá determinar las mejores condiciones para un máximo rendimiento.  Prospección de nuevos espacios en el centro que puedan ser candidatos para la ampliación de la central actualmente instalada. Se plantea la toma simultánea del estado de las condiciones metereológicas en al menos dos espacios diferenciados en el centro. Esta solución podría estar disponible en préstamo para otros centros que pudieran tener interés en montar instalaciones parecidas a la nuestra. 2 Fases del proyecto - Participantes  Análisis de viabilidad del prototipo. Realizada y aquí documentada. Alumnos de ASIR y profesores del departamento de Informática participantes en el curso “Con TEAM hay Steam“. Realización de prácticas de laboratorio con el hardware disponible en los Kits waspmote. Monitorización de temperatura, humedad y presión atmosférica.  Elaboración de prototipos. Lanzamiento de proyectos fin de ciclo de alumnos de 2 de ASIR para la implementación del proyecto descrito en el apartado anterior que incluya información de nuevos sensores (si es posible) y el análisis comparativo con los datos reales obtenidos de los paneles solares. Ver propuestas de ampliación en la sección final de este documento. 3 Hardware y Software comercial  IOT Hardware Kit (Libelium) o Waspmote 802.15.4 y Waspmote Gateway 802.15.4 (Antenna y Xbee Pro) o Battery. o Waspmote event board. o Sensor de temperatura. o Sensor de temperatura, humedad y presión. o Sensor de movimiento. o Cables USB.  Waspmote IDE && API  Cutecom. Para recoger la información vía USB.  Servidor Web Apache bajo SSOO Linux y módulos PHP.
  • 3. Prototipo estación metereológica Curso IOT 3 4 Software a desarrollar  Programa para la recogida de información de los sensores para el Kit waspmote. Además de la toma de datos, se realizará un preformateo de la información con el objetivo de que su almacenamiento final esté recogido en formato xml.  Implementación de un script en Linux, que utilizando los datos del apartado anterior, aplique un formato xml final.  Desarrollo de páginas que integren código php, xsl y css para una presentación amigable de los datos obtenidos y que pueda hacerse pública desde un servidor Web.
  • 4. Prototipo estación metereológica Curso IOT 4 4.1 Recogida de datos (waspmote) Haciendo uso del IDE waspmote, cargaremos el siguiente programa. La obtención de datos se realiza utilizando un sensor de temperatura- humedad-presión conectado a la placa waspmote event board y esta a su vez a la placa waspmote Gateway 802.15.4 #include <WaspSensorEvent_v30.h> float temp; float humd; float pres; float value; char sensor[3] = "01"; void setup() { USB.ON(); Events.ON(); } void loop() { temp = Events.getTemperature(); //Temperature humd = Events.getHumidity(); //Humidity pres = Events.getPressure(); //Pressure // Publica los datos USB.print("<medida><sensor>"); USB.print(sensor); USB.print("</sensor><temp>"); USB.printFloat(temp, 2); USB.print("</temp><humedad>"); USB.printFloat(humd, 1); USB.print("</humedad><presion>"); USB.printFloat(pres, 2); USB.println("</presion></medida>"); // Hiberna durante 10 segundos PWR.deepSleep("00:00:00:10", RTC_OFFSET, RTC_ALM1_MODE1, ALL_OFF); USB.ON(); }
  • 5. Prototipo estación metereológica Curso IOT 5 En esta versión inicial del prototipo no se ha previsto realizar la codificación de un programa que haga la lectura y volcado automático de los datos a fichero. Utilizaremos el programa Cutecom para la lectura del puerto serie USB. La siguiente imagen muestra la recogida de datos tomada durante una sesión de pruebas. El volcado de los datos a fichero se realiza mediante un copiado y pegado manual. En proyectos futuros puede ser un aspecto de mejora que este proceso esté automatizado. Con el objetivo de preparar el fichero descargado para posteriores fases, su nombre deberá seguir el siguiente formato: AAAA-MM-DD-VV.xml . P.e 2021-05-07-01.xml. Siendo  AAAA- Año en el que se ha realizado la toma de información.  MM- Mes en el que se ha realizado la toma de información.  DD- Día en el que se ha realizado la toma de información.  VV- Versión del fichero. Utilizado por si un mismo día se han realizado varias recogidas de datos. Un ejemplo podría ser: En la siguiente sección se muestra el script que procesa la información obtenida de los sensores para conseguir el formato xml definitivo. El script procesa los ficheros que se encuentran en la ruta Web-root/waspmote/script-linux/rawdata/. Por lo tanto será en esta ubicación donde habrá que copiar los ficheros que se están describiendo en este apartado. Tras ser procesados los ficheros con los datos del sensor, se mueven a la nueva ruta Web-root/waspmote/script-linux/rawdataproc/. Aquí quedarán almacenados por si es preciso su uso futuro, pero en la nueva ubicación ya no volverán a ser considerados en posteriores ejecuciones del script. [23:14:33:117] J#␊ [23:14:36:104] <medida><sensor>02</sensor><temp>22.67</temp><humedad>42.5</humedad><presion>94593.89</presion></medida>␍␊ [23:14:46:602] <medida><sensor>02</sensor><temp>22.68</temp><humedad>42.7</humedad><presion>94590.77</presion></medida>␍␊ [23:14:57:611] <medida><sensor>02</sensor><temp>22.67</temp><humedad>42.5</humedad><presion>94593.42</presion></medida>␍␊ [23:15:08:604] <medida><sensor>02</sensor><temp>22.67</temp><humedad>42.8</humedad><presion>94591.53</presion></medida>␍␊ [23:15:19:597] <medida><sensor>02</sensor><temp>22.66</temp><humedad>43.0</humedad><presion>94594.19</presion></medida>␍␊
  • 6. Prototipo estación metereológica Curso IOT 6 4.2 Formateo de la salida estándar xml (script linux) La información almacenada en el fichero anterior, aunque tiene un preprocesamiento inicial, no constituye un fichero xml bien formado. Los ficheros xml finales se generan mediante la ejecución del script Convertxml.sh, que se encuentra en la ruta Web- root/waspmote/script-linux/scripts. Su código es el siguiente.  gla y por último hacer clic en finalizar #!/bin/bash # DEFINICION DE VARIABLES nombreFich="" # NOMBRE DEL FICHERO DE SALIDA cadEsc="" # CADENA A ESCRIBIR EN EL FICHERO infoBool=NO # UTILIZADO PARA LOCALIDAD EL INICIO DE INFORMACION UTIL fecha="" # FECHA RECUPERADA DEL NOMBRE DE FICHERO version="" # VERSION RECUPERADA DEL NOMBRE DEL FICHERO numeroSensor="" # NUMERO EL SENSOR QUE HA GENERADO LA INFORMACION nombreFichSal="" # NOMBRE DEL FICHERO DE SALIDA. SENSIR-FECHA_VERSION horaMuestra="" # HORA DE LA MUESTRA restoLect="" # RESTO DE LA LECTURA RECIBIDA DEL SENSOR sensorAlfa="" # NOMBRE DEL SENSOR paramUno="" # CONTIENE INFORMACION PARA LA FUNCION procesarFichRaw # CABECERA INICIAL DE TODOS LOS FICHEROS xml RESULTANTES cabecerasXMLInic(){ echo '<?xml version="1.0"?>' >> "$nombreFichSal" echo '<?xml-stylesheet type="text/xsl" href="./../xslfiles/waspmote.xsl" ?>' >> "$nombreFichSal" echo '<waspmote>' >> "$nombreFichSal" echo '<umbraTempMin>20</umbraTempMin>' >> "$nombreFichSal" echo '<umbraTempMax>25</umbraTempMax>' >> "$nombreFichSal" echo '<umbraHumedadMin>40</umbraHumedadMin>' >> "$nombreFichSal" echo '<umbraHumedadMax>45</umbraHumedadMax>' >> "$nombreFichSal" echo '<umbraPresionMin>20</umbraPresionMin>' >> "$nombreFichSal" echo '<umbraPresionMax>30</umbraPresionMax>' >> "$nombreFichSal" sensorAlfa="<sensor>$numeroSensor</sensor>" echo "$sensorAlfa" >> "$nombreFichSal" } # FUNCION QUE PROCESA CADA FICHERO RAW A XML procesarFichRaw (){ # LA FECHA Y VERSION VIENE DEL NOMBRE DEL FICHERO fecha=$(echo "$paramUno" | cut -c 1-10) version=$(echo "$paramUno" | cut -c 12-13) echo "Procesando el fichero $paramUno" while IFS= read -r line do # PUEDE QUE HAYA LINEAS QUE NO SEAN DE INFORMACION ANTERIORES. EN LA PRIMERA LINEA VALIDA: if [[ "$infoBool" = "NO" && "$line" = *medida* ]] then infoBool="SI" # YA HAN EMPEZADO LOS REGISTROS CON INFO. UTIL # RECUPERAR EL NUMERO DE SENSOR numeroSensor=$(echo "$line" | cut -c 31-32) # CREAR EL NOMBRE DEL FICHERO DE SALIDA USANDO FECH A Y NUMERO DE SENSOR nombreFichSal="./../xmldata/$numeroSensor-$fecha-$version.xml" # ESCRIBE LA CABECERA DEL FICHERO XML RESULTANTE cabecerasXMLInic fi
  • 7. Prototipo estación metereológica Curso IOT 7 Los ficheros xml finales, una vez han sido tratados y están listos para que sean visualizados con un navegador mediante servicio web (http), se encuentran en la ruta Web-root/waspmote/xmlfiles. Un fichero ejemplo podría ser. # ESTE REGISRO HAY QUE VOLCARLO AL FICHERO DE SALIDA if [[ "$infoBool" = "SI" ]] then horaMuestra=$(echo "$line" | cut -c 2-9) restoLect=$(echo "$line" | cut -c 42-) cadEsc="<medida><tiempo>$fecha-$horaMuestra</tiempo>$restoLect" echo "$cadEsc" >> "$nombreFichSal" fi done < "./../rawdata/$paramUno" echo "</waspmote>" >> "$nombreFichSal" # GUARDA EL FICHERO RAW DATA EN rawdataproc PARA QUE NO VUELVA A SER PROCESADO SI SE LLAMA DE NUEVO AL SCRIPT $(mv "./../rawdata/$paramUno" "./../rawdataproc/$paramUno") } # PARA CADA FICHERO EN EL DIRECTORIO RAWDATA. PENDIENTE DE PROCESAR. for i in $(ls ./../rawdata/ -C1) do paramUno=$i # UTILIZADO PARA PASAR EL NOMBRE DEL FICHERO A LA FUNCION procesarFichRaw infoBool="NO" # INICIALIZA VARIABLE NECESARIA ANTES DE PROCESAR CUALQUIER FICHERO RAW procesarFichRaw # FUNCION QUE PROCESA CADA FICHERO RAW A XML done <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="./../xslfiles/waspmote.xsl" ?> <waspmote> <umbraTempMin>20</umbraTempMin> <umbraTempMax>25</umbraTempMax> <umbraHumedadMin>40</umbraHumedadMin> <umbraHumedadMax>45</umbraHumedadMax> <umbraPresionMin>20</umbraPresionMin> <umbraPresionMax>30</umbraPresionMax> <sensor>02</sensor> <medida><tiempo>2021-05-01-01-07-39</tiempo><temp>21.49</temp><humedad>48.2</humedad><presion>93806.80</presion></medida> <medida><tiempo>2021-05-01-01-07-50</tiempo><temp>21.48</temp><humedad>48.3</humedad><presion>93809.78</presion></medida> <medida><tiempo>2021-05-01-01-08-01</tiempo><temp>21.46</temp><humedad>48.4</humedad><presion>93804.80</presion></medida> </waspmote>
  • 8. Prototipo estación metereológica Curso IOT 8 4.3 Página web principal (código php) Se plantea una sencilla página php que muestre el listado de ficheros xml con la información disponible en la ruta Web-root/waspmote/xmlfiles (lecturas de los sensores en formato xml). La página está situada en la ruta Web-root/waspmote/index.php. Disponible vía web en la url http://IpServidorWeb/waspmote Su código es: <html> <head> <title>Prueba de PHP</title> <link rel="stylesheet" href="./cssfiles/index.css"> </head> <body> <div id="cab"> <h4 style=" float:left; width:70%;text-align:center; margin-top:3%;">Prototipo - Central Metoreológica<br/>Departamento Informática</h4> <div style=" float:left; width:30%;text-align:center;margin-top:1%;"><img style="width:100px;" src="./img/ieseuropa.png" alt="Logo-Europa" /></div> </div> <p style="clear:left;text-align:center;padding-top:3%;margin-bottom:-1%;font-size:25px;color:blue;">LECTURA DE SENSORES</p> <?php $dir = opendir("./xmlfiles/"); $files = array(); while ($current = readdir($dir)){ if( $current != "." && $current != "..") { $files[] = $current; } } echo '<ul>'; for($i=0; $i<count( $files ); $i++){ echo '<li><a target="_blank" href="xmlfiles/'.$files[$i].'">'.$files[$i].'</a></li>'; } echo '</ul>'; ?> </body> </html>
  • 9. Prototipo estación metereológica Curso IOT 9 4.4 Página web para visualizar la lectura de sensores (código xls) Los ficheros xml se procesan para su visualización mediante el siguiente código xls. <?xml version="1.0" encoding="UTF-8" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <head> <title>Prototipo - Central Metoreológica.</title> <link rel="stylesheet" type="text/css" href="./../cssfiles/waspmote.css" /> </head> <body> <div id="cab"> <h4 style=" float:left; width:70%;text-align:center; margin-top:3%;">Prototipo - Central Metoreológica<br/>Departamento Informática</h4> <div style=" float:left; width:30%;text-align:center;margin-top:1%;"><img style="width:100px;" src="./../img/ieseuropa.png" alt="Logo-Europa" /></div> </div> <p style="clear:left;text-align:center;padding-top:3%;margin-bottom:0%;font-size:25px;color:blue;">Sensor: <xsl:value-of select="waspmote/medida/sensor" /></p> <div id="cuer"> <div id="rangos"> <div style="margin-bottom:1%;text-decoration:underline;color:blue;">UMBRALES DE MEDIDA</div> <div style="display:inline-block;width:33%;">Temp. (Cel.): <xsl:value-of select="waspmote/umbraTempMin" /> -- <xsl:value-of select="waspmote/umbraTempMax" /></div> <div style="display:inline-block;width:33%;">Humedad (%): <xsl:value-of select="waspmote/umbraHumedadMin" /> -- <xsl:value-of select="waspmote/umbraHumedadMax" /> </div> <div style="display:inline-block;width:33%;">Presión (Pa): <xsl:value-of select="waspmote/umbraPresionMin" /> -- <xsl:value-of select="waspmote/umbraPresionMax" /></div> </div> <table style="width:100%;"> <tr> <td style="color:black;width:25%;text-decoration:underline;color:blue;">Tiempo</td> <td style="color:black;width:25%;text-decoration:underline;color:blue;">Temp. (Cel.)</td> <td style="color:black;width:25%;text-decoration:underline;color:blue;">Humedad (%)</td> <td style="color:black;width:25%;text-decoration:underline;color:blue;">Presión (Pa)</td> </tr> <!-- Por cada medida recogida en el fichero XML. Una entrada con tiempo, temperatura, humedad y presion --> <xsl:for-each select="waspmote/medida"> <tr> <!-- Tiempo --> <td style="color:black;width:25%;"><xsl:value-of select="tiempo" /></td> <!-- Temperatura. Si esta fuera de los umbrales en rojo, sino en negro --> <xsl:if test="temp &lt; /waspmote/umbraTempMin or temp &gt; /waspmote/umbraTempMax"> <td style="color:red;width:25%;"><xsl:value-of select="temp" /></td> </xsl:if> <xsl:if test="not(temp &lt; /waspmote/umbraTempMin or temp &gt; /waspmote/umbraTempMax)"> <td style="color:black;width:25%;"><xsl:value-of select="temp" /></td> </xsl:if> <!-- Humedad. Si esta fuera de los umbrales en rojo, sino en negro --> <xsl:if test="humedad &lt; /waspmote/umbraHumedadMin or humedad &gt; /waspmote/umbraHumedadMax"> <td style="color:red;width:25%;"><xsl:value-of select="humedad" /></td> </xsl:if> <xsl:if test="not(humedad &lt; /waspmote/umbraHumedadMin or humedad &gt; /waspmote/umbraHumedadMax)"> <td style="color:black;width:25%;"><xsl:value-of select="humedad" /></td> </xsl:if> <!-- Presion. Si esta fuera de los umbrales en rojo, sino en negro --> <xsl:if test="presion &lt; /waspmote/umbraPresionMin or presion &gt; /waspmote/umbraPresionMax"> <td style="color:red;width:25%;"><xsl:value-of select="presion" /></td> </xsl:if> <xsl:if test="not(presion &lt; /waspmote/umbraPresionMin or presion &gt; /waspmote/umbraPresionMax)"> <td style="color:black;width:25%;"><xsl:value-of select="presion" /></td> </xsl:if> </tr> </xsl:for-each> </table> </div> </body> </html> </xsl:template> </xsl:stylesheet>
  • 10. Prototipo estación metereológica Curso IOT 10 La figura muestra un ejemplo de la página. 4.5 Código de estilo css Para la página principal index.php: Para las páginas utilizadas para mostrar los datos recogidos por los sensores: #cab { text-align:center; text-transform:uppercase; color:green; width:50%; margin-left:25%; aling:center; border-bottom:2px; border-style:solid; } ul { list-style: none; text-align:center; width:30%; margin-left:32%; } ul li { border-bottom: 1.5px solid black; background-color:cyan; overflow: hidden; white-space: nowrap;text-overflow: ellipsis;width:100%; text-decoration:underline; color:blue; } ul li a { padding: .1em 0 .1em 0; display: block; text-decoration: none; background-color:#F0E68C; } ul li a:hover { background-color:white; color:black; } #cab { text-align:center; text-transform:uppercase; color:green; width:90%; margin-left:5%; aling:center; border-bottom:2px; border-style:solid; } #rangos { text-align:center; text-transform:uppercase; margin-top:1%; margin-bottom:1%; padding-top:1%; padding-bottom:1%; margin-left:1%; width:98%; aling:center; border-width:2px; border-style:solid; color:black; } #cuer { text-align:center; width:90%; margin-left:auto; margin-right:auto; border-width:2px; border-style:solid; }
  • 11. Prototipo estación metereológica Curso IOT 11 5 Propuestas de ampliación para futuras fases  Toma de información de un número mayor de parámetros, si hay disponibilidad de sensores.  Validación de los ficheros xml mediante DTD o xml Schema.  Diseño de modelos comparativos entre los datos obtenidos por un sensor y la información monitorizada de las estaciones solares que permitan conocer las mejores condiciones para obtener rendimientos máximos de los paneles.  Diseño de modelos comparativos entre los datos obtenidos por un sensor y la información monitorizada de las estaciones solares que permita determinar fallos en los paneles solares si su rendimiento no está siendo el previsible.  Diseño de modelos comparativos entre los datos obtenidos por sensores ubicados en diferentes ubicaciones en un mismo momento que permitan determinar las ubicaciones más idóneas para la instalación de nuevos paneles.  Presentación de gráficas e informes en relación a todos los apartados anteriores.  Desarrollo de aplicaciones que permitan la conexión directa al puerto serie del PC y por tanto la recogida de la información de los sensores sustituyendo a la aplicación Cutecom. Esto evitará la necesidad de actuación manual en el almacenamiento de datos a ficheros.  Conexión entre la placa waspmote y el PC vía radio. En el prototipo inicial se realiza mediante conexión de cable USB.  Implementación responsive del desarrollo web propuesto.