Taller practico iot fundación telefónica

Preview:

DESCRIPTION

Presentación de la segunda parte del taller "Descubre Internet de las Cosas y el uso de Cosm". Este taller práctico se realizó los días 6 y 7 de noviembre de 2012, en el marco del evento "Vivir en un mar de datos" de Fundación Telefónica. Más información sobre el taller: http://agoranews.es/2012/11/06/el-internet-de-las-cosas-en-vivir-en-un-mar-de-datos

Citation preview

Taller Internet de las cosas y

Cosm"Vivir en un mar de datos: del Big Data

a la Smart Society"6 y 7 de Noviembre 2012

"Vivir en un mar de datos: del Big Data a la Smart Society "6 y 7 de Noviembre 2012 Fundación Telefónica.

Taller práctico IoT y CosmManos a la obra

InstalaciónArduinoInstalación programas básicos

Descargando Arduino IDE● IDE = Entorno Integrado de Desarrollo● Puede descargarse libremente● Sitio Web: www.arduino.cc● Dirección de descarga: http://arduino.

cc/en/Main/Software● Existe versión para Windows, Linux y Mac● Descargar la correspondiente.

Pasos adicionales● Para instalar el controlador en Windows si

no funciona correctamente la primera vez:http://arduino.cc/en/Guide/UnoDriversWindowsXP

● Controlador para el cable FTDI (USB-Serie):http://www.ftdichip.com/Drivers/VCP.htm

Nanode RFDiferencias con Arduino

Arduino vs Nanodes

Arduino UNO● Versión Arduino

Básica● Se programa

usando el puerto USB

● Tiene posibilidad de usar shields (por ejemplo GPRS)

● No tiene conexión de red nativa

Nanode Versión 5● Conexión Ethernet● Chip ENC28J60

muy barato● El USB sólo se usa

para corriente● Se requiere un

cable extra FTDI● Usa la librería

Ethercard

Nanode RF● Es el que vamos a

utilizar● Dispone de

conexión Ethernet y por radio

● Montaje en superficie más optimizado

● Puede incorporar más elementos

ConfiguraciónArduinoConfiguración parámetros básicos

Parámetros Arduino IDE● Hay que elegir el tipo de placa adecuado:

Tools -> Board -> Arduino UNONanode RF es compatible con Arduino UNO

● Miramos en Tools -> Serial Port y vemos los puertos que hay. Pinchamos el cable y elegimos en Tools -> Serial Port uno de los que aparecen nuevos que tenga tty en el nombre

Primer ejemplo: Blink● Es el programa más básico● Se carga desde File -> Example-> 1. Basics● En la linea led = 13; cambiamos 13 por 5 o 6● Conectamos el cable y pulsamos la flecha

(Upload) para subir el programa● ¿Que ocurre en el Nanode RF?

Estructura del programa● Comentarios con //

o entre /* */● setup(): sentencias

que sólo se tienen que ejecutar una vez el principio

● loop(): bucle principal que se ejecuta todo el tiempo

/*Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */void setup() { // initialize the digital pin as an output. // Pin 13 has an LED connected on most Arduino boards: pinMode(13, OUTPUT); }void loop() { digitalWrite(13, HIGH); // set the LED on delay(1000); // wait for a second digitalWrite(13, LOW); // set the LED off delay(1000); // wait for a second}

Pequeños cambiosArduino se puede programar una y otra vez¿Porque no probar a ...● Cambiar el número 13 por otro● Copiar las lineas● Cambiar 1000 por otros valores?

¿Qué ocurre? Vamos a investigarlo!

Conexión en Red

Conceptos de redesPara conectar hacen falta cuatro datos al menos:● Dirección IP: Identificador único● Máscara de red: sería el "prefijo" de la zona● Puerta de enlace: sería la salida de la red● DNS: páginas amarillas en Internet

No necesitaremos configurarlos, el protocolo DHCP se encargará de ello

Red en Nanode/Arduino● Para que Arduino entienda cómo trabajar

con la tarjeta de red, necesitamos instalar una librería

● La descargamos desde : https://github.com/jcw/ethercard

● La descomprimimos en la carpeta libraries dentro de la carpeta de Arduino

● Cambiamos el nombre para que se llame ethercard (sin más)

Ejemplo 2: Cliente DHCP● Lo cargamos desde File-> Examples ->

ethercard-> TestDHCP● Debemos cambiar un número de la línea

que pone mymac = [0x74...]● Se cambian los números a la derecha de la

0x, por números del 0-9 (o HEX si sabemos)● La MAC es una dirección única por equipo● Si tuviéramos dos iguales NO funciona!

Pruebas monitor serie● Quitamos el cable ethernet, cargamos el

programa en Arduino y observamos el monitor serie ¿Qué mensaje aparece? ¿Qué puede estar pasando?

● Conectamos el cable ethernet, reseteamos el Nanode y observamos la dirección IP. ¿Por qué funciona en esta ocasión?

CosmCreación de usuarios y funcionalidades básicas

CosmCreación de usuario

Cosm.com

1/20"Vivir en un mar de datos: del Big Data a la Smart Society "

6 y 7 de Noviembre 2012 Fundación Telefónica.

Alta nuevo usuario

Usuario y envio mail

Correo de Confirmación

Página de inicio

1/20"Vivir en un mar de datos: del Big Data a la Smart Society "

6 y 7 de Noviembre 2012 Fundación Telefónica.

CosmFeed, Datastream & Datapoint

Feed, Datastream & Datapoint● Feed "Environment (aka "feed")" / Feed

IDContexto específico en el que medimos algo y generamos datos. Ej.: una casa, un coche, un AQE, etc.

● Datastream/ ID alfanumérico dentro del feedRepresenta a un dispositivo (o sensor) de captación de datos que se encuentra dentro del ambiente anteriormente definido en un feed.

● DatapointDato en un momento específico del tiempo, que puede consultarse de forma individual.

Feed "Environment ("aka feed")

https://cosm.com/feeds/72220 es la dirección del Feed con ID= 72220

Datastream & Datapoint

CosmMi consola

Console, Keys & Debug ● Console La consola te permite monitorizar tus propios datos en

tiempo real así como los datos de otras personas.

● Keys Claves para autorizar a los dispositivos a crear nuevos datos. Con esta clave le estamos autorizando a escribir datos en nuestra cuenta de forma automática y así garantizar su origen.

● Debug te permite ver en tiempo real el número de llamadas al API que estás haciendo y las peticiones individuales HTTP con todo detalle.

Api Keys

Apps, Settings & Logout

●Apps La ventana de Apps presenta programas que permiten

interactuar con Cosm de diversas formas utilizando su API.

●Settings Desde la ventana Settings podremos cambiar al configuración de nuestro perfil.

●Logout Esta opción sirve para cerrar la sesión.

CosmCreación dispositivo y feed

Crear primer dispositivo

Dispositivo Arduino

Parámetros Arduino

Etiquetas Arduino

Dispositivo creado!

API Key y Feed - Copiar

Feed Creado!

Ejemplo 3: PachubeTest

Parámetros Arduino Cosm

Comprobación Envío Cosm

Datos enviados!

Ejemplo 4: Envio Cosm (II) ● Vamos a continuación cargar el ejemplo.

● Al pulsar el botón "+" y pulsar la tecla Enter se incrementará el valor en Cosm en 30.

● Echemos un ojo al código.

Ejemplo 4: Envio Cosm (II)

void setup ()

void loop ()

Cargamos el código y abrimos el Serial Monitor

Nuestro datastream en Cosm

Debug en Cosm

Volvemos al Serial Monitor

Nuestro datastream en Cosm

Ejemplo 4: Envio Cosm (II)

● Podemos cambiar este valor por otro y comprobar lo que ocurre.

● Podemos también reiniciar la placa, dándole al botón de reset y observar qué ocurre.

Reset

Vemos Reset en Cosm

Disparadores en CosmTriggers: permiten lanzar acciones cuando se cumplen unas determinadas condiciones

Triggers

Trigger con twitterEnvía un tweet desde tu cuenta cuando se lanza un disparador, al superar alguno de los valores configurados. Son avisos que se enviarán desde tu cuenta de Cosm con el mensaje que configuremos. Si vamos al caso de AQE, cuando se superen las alertas de NO2 ambientales, recibiremos un tweet indicándonos este hecho.

Trigger con HTTP postPermiten interactuar con páginas enviando formularios de datos complejos. Por lo general será lo que utilicemos para varias de las aplicaciones de Cosm que interactúan con terceros.

Ejemplo 5: Reset + Trigger● Sabemos que cuando la placa se reinicia

vuelve a cero● Configuraremos un trigger en Cosm para

que envíe un tuit cada vez que se reinicie.● Cargaremos el programa ejemplo 5 y

conectaremos el Nanode a la corriente, sin ordenador

● ¿Funciona igual?

Ejemplo 5: Reset + Trigger

Crea un disparador

Dale el valor que lanza la alerta

Este es el tuit que mandará

¡Hecho!

En Cosm nos aparece

Reset y ¡ tuit!

AppsProgramas que permiten interactuar con Cosm utilizando su API

AplicacionesTwitter statsURL: http://apps.pachube.com/twitterstats/Hace un Twitter feed donde cada datastream son followers, following (friends), list, send tweets y te permite ver la evolución en el tiempo... Utilizando Graph Builder puedes obtener visualizaciones de los datos por tiempos y periodos, personalizar colores y grosor de trazo en la gráfica y embeberlos en una página web. Para embeberlos copias pegas el link que te dan al insertar imagen desde url y así te aparecerá un gráfico png. Tutorial completo: https://cosm.com/docs/quickstart/twitter.html

AplicacionesPachtweetURL: http://apps.pachube.com/pachtweet/Primero debes seguir en twitter a @pachtweet y mandarle un mensaje abierto; luego debes enviarle por mensaje directo una key y una vez te confirma que tiene el key puedes modificar los datos de tu datastream con mensajes de twitter, poniendo set feedID numero, numero, numero cada número entre comas es un datastream del feed por orden.

PachudialURL: http://apps.pachube.com/scaredycat/Genera de manera muy sencilla una visualización de datos de uno de tus datastream en código html está pensada para ponerse en página web. Un ejemplo de uno de mis data stream:

AplicacionesEarth BrowserURL: http://apps.pachube.com/earth_browser/Permite encontrar valores de datos en tiempo real desde Pachube localizados a lo largo del planeta. Puedes superponer nuevas búsquedas personalizando los colores para obtener visualizaciones más complejos.

SMS AlertURL: http://apps.pachube.com/alert/Se configura como opción del trigger HTTP post y se mete un url que te da la página al meter tu número de teléfono. Cuando el dato alcanza el valor determinado, llega un sms al móvil indicado al principio.

Aplicaciones

Pachube TrailsURL: http://apps.pachube.com/trails/Cuando se define un feed, se le ponen los parámetros que lo identifican. Si es algo móvil, se pone en el feed que es de tipo "mobile" y entonces se le crean dos datastreams más que son longitud y latitud. No aparecen como gráficos, pero si que aparecen cuando se le llama desde el API.Te permite embeber en tu sitio web un mapa en tiempo real de cualquier feed movil de Pachube que contenga información de geolocalización. Esta construido sobre el API de CloudMade? Web Map Lite. Hay varios ejemplos en el link del app.

MashupsPruebas y ejemplos

Muchas Gracias!

Recommended