Taller practico iot fundación telefónica

76
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.

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

Transcript of Taller practico iot fundación telefónica

Page 1: Taller practico iot fundación telefónica

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.

Page 2: Taller practico iot fundación telefónica

Taller práctico IoT y CosmManos a la obra

Page 3: Taller practico iot fundación telefónica

InstalaciónArduinoInstalación programas básicos

Page 4: Taller practico iot fundación telefónica

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.

Page 5: Taller practico iot fundación telefónica

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

Page 6: Taller practico iot fundación telefónica

Nanode RFDiferencias con Arduino

Page 7: Taller practico iot fundación telefónica

Arduino vs Nanodes

Page 8: Taller practico iot fundación telefónica

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

Page 9: Taller practico iot fundación telefónica

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

Page 10: Taller practico iot fundación telefónica

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

Page 11: Taller practico iot fundación telefónica

ConfiguraciónArduinoConfiguración parámetros básicos

Page 12: Taller practico iot fundación telefónica

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

Page 13: Taller practico iot fundación telefónica

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?

Page 14: Taller practico iot fundación telefónica

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}

Page 15: Taller practico iot fundación telefónica

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!

Page 16: Taller practico iot fundación telefónica

Conexión en Red

Page 17: Taller practico iot fundación telefónica

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

Page 18: Taller practico iot fundación telefónica

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)

Page 19: Taller practico iot fundación telefónica

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!

Page 20: Taller practico iot fundación telefónica

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?

Page 21: Taller practico iot fundación telefónica

CosmCreación de usuarios y funcionalidades básicas

Page 22: Taller practico iot fundación telefónica

CosmCreación de usuario

Page 23: Taller practico iot fundación telefónica

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.

Page 24: Taller practico iot fundación telefónica

Alta nuevo usuario

Page 25: Taller practico iot fundación telefónica

Usuario y envio mail

Page 26: Taller practico iot fundación telefónica

Correo de Confirmación

Page 27: Taller practico iot fundación telefónica

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.

Page 28: Taller practico iot fundación telefónica

CosmFeed, Datastream & Datapoint

Page 29: Taller practico iot fundación telefónica

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.

Page 30: Taller practico iot fundación telefónica

Feed "Environment ("aka feed")

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

Page 31: Taller practico iot fundación telefónica

Datastream & Datapoint

Page 32: Taller practico iot fundación telefónica

CosmMi consola

Page 33: Taller practico iot fundación telefónica

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.

Page 34: Taller practico iot fundación telefónica

Api Keys

Page 35: Taller practico iot fundación telefónica

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.

Page 36: Taller practico iot fundación telefónica

CosmCreación dispositivo y feed

Page 37: Taller practico iot fundación telefónica

Crear primer dispositivo

Page 38: Taller practico iot fundación telefónica

Dispositivo Arduino

Page 39: Taller practico iot fundación telefónica

Parámetros Arduino

Page 40: Taller practico iot fundación telefónica

Etiquetas Arduino

Page 41: Taller practico iot fundación telefónica

Dispositivo creado!

Page 42: Taller practico iot fundación telefónica

API Key y Feed - Copiar

Page 43: Taller practico iot fundación telefónica

Feed Creado!

Page 44: Taller practico iot fundación telefónica

Ejemplo 3: PachubeTest

Page 45: Taller practico iot fundación telefónica

Parámetros Arduino Cosm

Page 46: Taller practico iot fundación telefónica

Comprobación Envío Cosm

Page 47: Taller practico iot fundación telefónica

Datos enviados!

Page 48: Taller practico iot fundación telefónica

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.

Page 49: Taller practico iot fundación telefónica

Ejemplo 4: Envio Cosm (II)

Page 50: Taller practico iot fundación telefónica

void setup ()

Page 51: Taller practico iot fundación telefónica

void loop ()

Page 52: Taller practico iot fundación telefónica

Cargamos el código y abrimos el Serial Monitor

Page 53: Taller practico iot fundación telefónica

Nuestro datastream en Cosm

Page 54: Taller practico iot fundación telefónica

Debug en Cosm

Page 55: Taller practico iot fundación telefónica

Volvemos al Serial Monitor

Page 56: Taller practico iot fundación telefónica

Nuestro datastream en Cosm

Page 57: Taller practico iot fundación telefónica

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.

Page 58: Taller practico iot fundación telefónica

Reset

Page 59: Taller practico iot fundación telefónica

Vemos Reset en Cosm

Page 60: Taller practico iot fundación telefónica

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

Page 61: Taller practico iot fundación telefónica

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.

Page 62: Taller practico iot fundación telefónica

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?

Page 63: Taller practico iot fundación telefónica

Ejemplo 5: Reset + Trigger

Page 64: Taller practico iot fundación telefónica

Crea un disparador

Page 65: Taller practico iot fundación telefónica

Dale el valor que lanza la alerta

Page 66: Taller practico iot fundación telefónica

Este es el tuit que mandará

Page 67: Taller practico iot fundación telefónica

¡Hecho!

Page 68: Taller practico iot fundación telefónica

En Cosm nos aparece

Page 69: Taller practico iot fundación telefónica

Reset y ¡ tuit!

Page 70: Taller practico iot fundación telefónica

AppsProgramas que permiten interactuar con Cosm utilizando su API

Page 71: Taller practico iot fundación telefónica

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

Page 72: Taller practico iot fundación telefónica

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:

Page 73: Taller practico iot fundación telefónica

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.

Page 74: Taller practico iot fundación telefónica

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.

Page 75: Taller practico iot fundación telefónica

MashupsPruebas y ejemplos

Page 76: Taller practico iot fundación telefónica

Muchas Gracias!