SlideShare una empresa de Scribd logo
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 Cosm
Manos a la obra
Instalación
Arduino
Instalació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 RF
Diferencias 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ón
Arduino
Configuración parámetros básicos
Parámetros Arduino IDE
● Hay que elegir el tipo de placa adecuado:
  Tools -> Board -> Arduino UNO
Nanode 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
                        /*Blink
● Comentarios con //     Turns on an LED on for one second, then off for one
                        second, repeatedly.
  o entre /* */          This example code is in the public domain.
                         */

● setup(): sentencias   void setup() {
                          // initialize the digital pin as an output.

  que sólo se tienen      // Pin 13 has an LED connected on most Arduino
                        boards:
                          pinMode(13, OUTPUT);
  que ejecutar una      }
                        void loop() {
  vez el principio        digitalWrite(13, HIGH); // set the LED on
                          delay(1000);              // wait for a second
● loop(): bucle           digitalWrite(13, LOW); // set the LED off
                          delay(1000);              // wait for a second

  principal que se      }


  ejecuta todo el
  tiempo
Pequeños cambios
Arduino 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 redes
Para 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?
Cosm
Creación de usuarios y funcionalidades
básicas
Cosm
Creación de usuario
Cosm.com




    "Vivir en un mar de datos: del Big Data a la Smart Society "
           6 y 7 de Noviembre 2012 Fundación Telefónica.
                                                                   1/20
Alta nuevo usuario
Usuario y envio mail
Correo de Confirmación
Página de inicio




      "Vivir en un mar de datos: del Big Data a la Smart Society "
             6 y 7 de Noviembre 2012 Fundación Telefónica.
                                                                     1/20
Cosm
Feed, Datastream & Datapoint
Feed, Datastream &
Datapoint
● Feed "Environment (aka "feed")" / Feed
  ID
Contexto específico en el que medimos algo y generamos datos. Ej.: una
casa, un coche, un AQE, etc.

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


● Datapoint
Dato 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
Cosm
Mi 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.
Cosm
Creació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
Cosm
Triggers: permiten lanzar acciones cuando se
cumplen unas determinadas condiciones
Triggers
Trigger con twitter
Enví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 post
Permiten 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!
Apps
Programas que permiten interactuar con
Cosm utilizando su API
Aplicaciones
Twitter stats
URL: 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
Aplicaciones
Pachtweet
URL: 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.

Pachudial
URL: 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:
Aplicaciones
Earth Browser
URL: 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 Alert
URL: 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 Trails
URL: 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.
Mashups
Pruebas y ejemplos
Muchas Gracias!

Más contenido relacionado

La actualidad más candente

Curso Arduino práctico 2014
Curso Arduino práctico  2014Curso Arduino práctico  2014
Curso Arduino práctico 2014
Jose Antonio Vacas
 
Taller de Arduino - ¿Qué es Arduino?
Taller de Arduino - ¿Qué es Arduino?Taller de Arduino - ¿Qué es Arduino?
Taller de Arduino - ¿Qué es Arduino?
mrquesito
 
Barcamp 2015 - Integración de proyectos embebidos utilizando Arduino, Raspbe...
Barcamp 2015 -  Integración de proyectos embebidos utilizando Arduino, Raspbe...Barcamp 2015 -  Integración de proyectos embebidos utilizando Arduino, Raspbe...
Barcamp 2015 - Integración de proyectos embebidos utilizando Arduino, Raspbe...
Carlos Camacho
 
Arduino mfc y puerto serie
Arduino mfc y puerto serieArduino mfc y puerto serie
Arduino mfc y puerto serie
Ángel Acaymo M. G.
 
Robotica Educativa CEP Granada 2015
Robotica Educativa CEP Granada 2015Robotica Educativa CEP Granada 2015
Robotica Educativa CEP Granada 2015
Jose Antonio Vacas
 
Cargando el primer programa de arduino
Cargando el primer programa de arduinoCargando el primer programa de arduino
Cargando el primer programa de arduino
Luis Torreño Peromingo
 
Mini Proyecto Arduino
Mini Proyecto Arduino Mini Proyecto Arduino
Mini Proyecto Arduino
Brenn Cabreera
 
Introduccion a arduino circuitos basicos de entrada y salida
Introduccion a arduino circuitos basicos de entrada y salidaIntroduccion a arduino circuitos basicos de entrada y salida
Introduccion a arduino circuitos basicos de entrada y salida
Moises Nuñez Silva
 
Taller de introducción a Arduino FesTICval 2012
Taller de introducción a Arduino FesTICval 2012Taller de introducción a Arduino FesTICval 2012
Taller de introducción a Arduino FesTICval 2012
assdl
 
Curso arduino basico bitbloq
Curso arduino basico bitbloqCurso arduino basico bitbloq
Curso arduino basico bitbloq
Jose Antonio Vacas
 
Wtv020 sd-16 p y arduino
Wtv020 sd-16 p y arduinoWtv020 sd-16 p y arduino
Wtv020 sd-16 p y arduino
Luis Torreño Peromingo
 
Introducción a Arduino
Introducción a ArduinoIntroducción a Arduino
Introducción a Arduino
Josué Herrera
 
Arduino comic es
Arduino comic esArduino comic es
Arduino comic es
arduikee
 
Interfaz puerto paralelo LPT
Interfaz puerto paralelo LPTInterfaz puerto paralelo LPT
Interfaz puerto paralelo LPT
Ángel Acaymo M. G.
 
Programacion basica en Arduino
Programacion basica en ArduinoProgramacion basica en Arduino
Programacion basica en Arduino
Alberto Labarga
 
ITT 18 Practicas Basicas de Arduino
ITT 18 Practicas Basicas de Arduino ITT 18 Practicas Basicas de Arduino
ITT 18 Practicas Basicas de Arduino
El Gfe Davidson
 
Arduino delphi tokio 10.2 y puerto serie
Arduino delphi tokio 10.2 y puerto serieArduino delphi tokio 10.2 y puerto serie
Arduino delphi tokio 10.2 y puerto serie
Ángel Acaymo M. G.
 
Arduino consola y puerto serie
Arduino consola y puerto serieArduino consola y puerto serie
Arduino consola y puerto serie
Ángel Acaymo M. G.
 
Proyecto de arduino
Proyecto de arduinoProyecto de arduino
Proyecto de arduino
Brenn Cabreera
 
Taller arduino intermedio
Taller arduino intermedio Taller arduino intermedio
Taller arduino intermedio
Abraham Hernández Castro
 

La actualidad más candente (20)

Curso Arduino práctico 2014
Curso Arduino práctico  2014Curso Arduino práctico  2014
Curso Arduino práctico 2014
 
Taller de Arduino - ¿Qué es Arduino?
Taller de Arduino - ¿Qué es Arduino?Taller de Arduino - ¿Qué es Arduino?
Taller de Arduino - ¿Qué es Arduino?
 
Barcamp 2015 - Integración de proyectos embebidos utilizando Arduino, Raspbe...
Barcamp 2015 -  Integración de proyectos embebidos utilizando Arduino, Raspbe...Barcamp 2015 -  Integración de proyectos embebidos utilizando Arduino, Raspbe...
Barcamp 2015 - Integración de proyectos embebidos utilizando Arduino, Raspbe...
 
Arduino mfc y puerto serie
Arduino mfc y puerto serieArduino mfc y puerto serie
Arduino mfc y puerto serie
 
Robotica Educativa CEP Granada 2015
Robotica Educativa CEP Granada 2015Robotica Educativa CEP Granada 2015
Robotica Educativa CEP Granada 2015
 
Cargando el primer programa de arduino
Cargando el primer programa de arduinoCargando el primer programa de arduino
Cargando el primer programa de arduino
 
Mini Proyecto Arduino
Mini Proyecto Arduino Mini Proyecto Arduino
Mini Proyecto Arduino
 
Introduccion a arduino circuitos basicos de entrada y salida
Introduccion a arduino circuitos basicos de entrada y salidaIntroduccion a arduino circuitos basicos de entrada y salida
Introduccion a arduino circuitos basicos de entrada y salida
 
Taller de introducción a Arduino FesTICval 2012
Taller de introducción a Arduino FesTICval 2012Taller de introducción a Arduino FesTICval 2012
Taller de introducción a Arduino FesTICval 2012
 
Curso arduino basico bitbloq
Curso arduino basico bitbloqCurso arduino basico bitbloq
Curso arduino basico bitbloq
 
Wtv020 sd-16 p y arduino
Wtv020 sd-16 p y arduinoWtv020 sd-16 p y arduino
Wtv020 sd-16 p y arduino
 
Introducción a Arduino
Introducción a ArduinoIntroducción a Arduino
Introducción a Arduino
 
Arduino comic es
Arduino comic esArduino comic es
Arduino comic es
 
Interfaz puerto paralelo LPT
Interfaz puerto paralelo LPTInterfaz puerto paralelo LPT
Interfaz puerto paralelo LPT
 
Programacion basica en Arduino
Programacion basica en ArduinoProgramacion basica en Arduino
Programacion basica en Arduino
 
ITT 18 Practicas Basicas de Arduino
ITT 18 Practicas Basicas de Arduino ITT 18 Practicas Basicas de Arduino
ITT 18 Practicas Basicas de Arduino
 
Arduino delphi tokio 10.2 y puerto serie
Arduino delphi tokio 10.2 y puerto serieArduino delphi tokio 10.2 y puerto serie
Arduino delphi tokio 10.2 y puerto serie
 
Arduino consola y puerto serie
Arduino consola y puerto serieArduino consola y puerto serie
Arduino consola y puerto serie
 
Proyecto de arduino
Proyecto de arduinoProyecto de arduino
Proyecto de arduino
 
Taller arduino intermedio
Taller arduino intermedio Taller arduino intermedio
Taller arduino intermedio
 

Similar a Taller practico iot fundación telefónica

Bluetooth 2
Bluetooth 2Bluetooth 2
Cuaderno_Arduino.pdf
Cuaderno_Arduino.pdfCuaderno_Arduino.pdf
Cuaderno_Arduino.pdf
Erwin Joel Espinoza Delgado
 
Hack x Crack Arduino; Diseño hecho por: Hacker Fashion
Hack x Crack Arduino; Diseño hecho por: Hacker FashionHack x Crack Arduino; Diseño hecho por: Hacker Fashion
Hack x Crack Arduino; Diseño hecho por: Hacker Fashion
Darwin921278
 
Cuaderno_Arduino.pdf
Cuaderno_Arduino.pdfCuaderno_Arduino.pdf
Cuaderno_Arduino.pdf
Erwin Joel Espinoza Delgado
 
Cuaderno_Arduino.pdf
Cuaderno_Arduino.pdfCuaderno_Arduino.pdf
Cuaderno_Arduino.pdf
Edwin4321
 
Hack x crack_cuaderno_arduino
Hack x crack_cuaderno_arduinoHack x crack_cuaderno_arduino
Hack x crack_cuaderno_arduino
Juan Jose Garcia Sanchez
 
Netduino
NetduinoNetduino
Netduino
David Matias
 
Vehiculo controlado por app y Arduino
Vehiculo controlado por app y ArduinoVehiculo controlado por app y Arduino
Vehiculo controlado por app y Arduino
José Pujol Pérez
 
Arduino
ArduinoArduino
Arduino
Evelyn Freire
 
[Arqui1]practica2 200815555
[Arqui1]practica2 200815555[Arqui1]practica2 200815555
[Arqui1]practica2 200815555
AnGeo Gomez
 
Wearables & Iot - Breve Intro
Wearables & Iot - Breve IntroWearables & Iot - Breve Intro
Wearables & Iot - Breve Intro
Globant
 
tutorial_de_arduino-tutorial_de_arduino.pdf
tutorial_de_arduino-tutorial_de_arduino.pdftutorial_de_arduino-tutorial_de_arduino.pdf
tutorial_de_arduino-tutorial_de_arduino.pdf
javier414940
 
Arduino
ArduinoArduino
Interfaz java y arduino
Interfaz java y arduinoInterfaz java y arduino
Interfaz java y arduino
Ángel Acaymo M. G.
 
Tutorial Básico Arduino
Tutorial Básico ArduinoTutorial Básico Arduino
Tutorial Básico Arduino
Elio Alvarado
 
Básicos arduino
Básicos arduinoBásicos arduino
Básicos arduino
Dario Valverde
 
Basicos arduino
Basicos arduinoBasicos arduino
Basicos arduino
Franciscopsalinas
 
Programación básica de Arduino
Programación básica de Arduino Programación básica de Arduino
Programación básica de Arduino
SANTIAGO PABLO ALBERTO
 
Arduino 1
Arduino 1Arduino 1
Arduino 1
Evelyn Lopez
 
03-arduino.pdf
03-arduino.pdf03-arduino.pdf
03-arduino.pdf
IvanRamos131451
 

Similar a Taller practico iot fundación telefónica (20)

Bluetooth 2
Bluetooth 2Bluetooth 2
Bluetooth 2
 
Cuaderno_Arduino.pdf
Cuaderno_Arduino.pdfCuaderno_Arduino.pdf
Cuaderno_Arduino.pdf
 
Hack x Crack Arduino; Diseño hecho por: Hacker Fashion
Hack x Crack Arduino; Diseño hecho por: Hacker FashionHack x Crack Arduino; Diseño hecho por: Hacker Fashion
Hack x Crack Arduino; Diseño hecho por: Hacker Fashion
 
Cuaderno_Arduino.pdf
Cuaderno_Arduino.pdfCuaderno_Arduino.pdf
Cuaderno_Arduino.pdf
 
Cuaderno_Arduino.pdf
Cuaderno_Arduino.pdfCuaderno_Arduino.pdf
Cuaderno_Arduino.pdf
 
Hack x crack_cuaderno_arduino
Hack x crack_cuaderno_arduinoHack x crack_cuaderno_arduino
Hack x crack_cuaderno_arduino
 
Netduino
NetduinoNetduino
Netduino
 
Vehiculo controlado por app y Arduino
Vehiculo controlado por app y ArduinoVehiculo controlado por app y Arduino
Vehiculo controlado por app y Arduino
 
Arduino
ArduinoArduino
Arduino
 
[Arqui1]practica2 200815555
[Arqui1]practica2 200815555[Arqui1]practica2 200815555
[Arqui1]practica2 200815555
 
Wearables & Iot - Breve Intro
Wearables & Iot - Breve IntroWearables & Iot - Breve Intro
Wearables & Iot - Breve Intro
 
tutorial_de_arduino-tutorial_de_arduino.pdf
tutorial_de_arduino-tutorial_de_arduino.pdftutorial_de_arduino-tutorial_de_arduino.pdf
tutorial_de_arduino-tutorial_de_arduino.pdf
 
Arduino
ArduinoArduino
Arduino
 
Interfaz java y arduino
Interfaz java y arduinoInterfaz java y arduino
Interfaz java y arduino
 
Tutorial Básico Arduino
Tutorial Básico ArduinoTutorial Básico Arduino
Tutorial Básico Arduino
 
Básicos arduino
Básicos arduinoBásicos arduino
Básicos arduino
 
Basicos arduino
Basicos arduinoBasicos arduino
Basicos arduino
 
Programación básica de Arduino
Programación básica de Arduino Programación básica de Arduino
Programación básica de Arduino
 
Arduino 1
Arduino 1Arduino 1
Arduino 1
 
03-arduino.pdf
03-arduino.pdf03-arduino.pdf
03-arduino.pdf
 

Más de Sara Alvarellos Navarro

Fab Lab Madrid Network presentation at Maker Faire Rome 2014
Fab Lab Madrid Network presentation at Maker Faire Rome 2014Fab Lab Madrid Network presentation at Maker Faire Rome 2014
Fab Lab Madrid Network presentation at Maker Faire Rome 2014
Sara Alvarellos Navarro
 
A citizen-led air quality project
A citizen-led air quality project   �A citizen-led air quality project   �
A citizen-led air quality project
Sara Alvarellos Navarro
 
Iniciativa ciudadana de medición de calidad del aire en Madrid 2011-2013
Iniciativa ciudadana de medición de calidad del aire en Madrid 2011-2013Iniciativa ciudadana de medición de calidad del aire en Madrid 2011-2013
Iniciativa ciudadana de medición de calidad del aire en Madrid 2011-2013
Sara Alvarellos Navarro
 
130610 presentacion make spacemadrid en átomos y bits
130610 presentacion make spacemadrid en átomos y bits130610 presentacion make spacemadrid en átomos y bits
130610 presentacion make spacemadrid en átomos y bits
Sara Alvarellos Navarro
 
Aplicaciones creativas del Hardware Libre en Medialab-Prado
Aplicaciones creativas del Hardware Libre en Medialab-PradoAplicaciones creativas del Hardware Libre en Medialab-Prado
Aplicaciones creativas del Hardware Libre en Medialab-Prado
Sara Alvarellos Navarro
 
Assigment2
Assigment2Assigment2
Encuentro Internet de las cosas (y de las personas) Madrid
Encuentro Internet de las cosas (y de las personas) MadridEncuentro Internet de las cosas (y de las personas) Madrid
Encuentro Internet de las cosas (y de las personas) Madrid
Sara Alvarellos Navarro
 
MeMercaMadrid: A Visual Topology of the Network of Food Flows
MeMercaMadrid: A Visual Topology of the Network of Food FlowsMeMercaMadrid: A Visual Topology of the Network of Food Flows
MeMercaMadrid: A Visual Topology of the Network of Food Flows
Sara Alvarellos Navarro
 
Sara alvarellos portfolio_2011
Sara alvarellos portfolio_2011Sara alvarellos portfolio_2011
Sara alvarellos portfolio_2011
Sara Alvarellos Navarro
 
Croquis, primeros pasos del pfc
Croquis, primeros pasos del pfcCroquis, primeros pasos del pfc
Croquis, primeros pasos del pfc
Sara Alvarellos Navarro
 
Meeting light point
Meeting light pointMeeting light point
Meeting light point
Sara Alvarellos Navarro
 
water-cells-for-spa-world
water-cells-for-spa-worldwater-cells-for-spa-world
water-cells-for-spa-world
Sara Alvarellos Navarro
 

Más de Sara Alvarellos Navarro (12)

Fab Lab Madrid Network presentation at Maker Faire Rome 2014
Fab Lab Madrid Network presentation at Maker Faire Rome 2014Fab Lab Madrid Network presentation at Maker Faire Rome 2014
Fab Lab Madrid Network presentation at Maker Faire Rome 2014
 
A citizen-led air quality project
A citizen-led air quality project   �A citizen-led air quality project   �
A citizen-led air quality project
 
Iniciativa ciudadana de medición de calidad del aire en Madrid 2011-2013
Iniciativa ciudadana de medición de calidad del aire en Madrid 2011-2013Iniciativa ciudadana de medición de calidad del aire en Madrid 2011-2013
Iniciativa ciudadana de medición de calidad del aire en Madrid 2011-2013
 
130610 presentacion make spacemadrid en átomos y bits
130610 presentacion make spacemadrid en átomos y bits130610 presentacion make spacemadrid en átomos y bits
130610 presentacion make spacemadrid en átomos y bits
 
Aplicaciones creativas del Hardware Libre en Medialab-Prado
Aplicaciones creativas del Hardware Libre en Medialab-PradoAplicaciones creativas del Hardware Libre en Medialab-Prado
Aplicaciones creativas del Hardware Libre en Medialab-Prado
 
Assigment2
Assigment2Assigment2
Assigment2
 
Encuentro Internet de las cosas (y de las personas) Madrid
Encuentro Internet de las cosas (y de las personas) MadridEncuentro Internet de las cosas (y de las personas) Madrid
Encuentro Internet de las cosas (y de las personas) Madrid
 
MeMercaMadrid: A Visual Topology of the Network of Food Flows
MeMercaMadrid: A Visual Topology of the Network of Food FlowsMeMercaMadrid: A Visual Topology of the Network of Food Flows
MeMercaMadrid: A Visual Topology of the Network of Food Flows
 
Sara alvarellos portfolio_2011
Sara alvarellos portfolio_2011Sara alvarellos portfolio_2011
Sara alvarellos portfolio_2011
 
Croquis, primeros pasos del pfc
Croquis, primeros pasos del pfcCroquis, primeros pasos del pfc
Croquis, primeros pasos del pfc
 
Meeting light point
Meeting light pointMeeting light point
Meeting light point
 
water-cells-for-spa-world
water-cells-for-spa-worldwater-cells-for-spa-world
water-cells-for-spa-world
 

Taller practico iot fundación telefónica

  • 1. 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.
  • 2. Taller práctico IoT y Cosm Manos a la obra
  • 4. 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.
  • 5. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 12. Parámetros Arduino IDE ● Hay que elegir el tipo de placa adecuado: Tools -> Board -> Arduino UNO Nanode 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
  • 13. 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?
  • 14. Estructura del programa /*Blink ● Comentarios con // Turns on an LED on for one second, then off for one second, repeatedly. o entre /* */ This example code is in the public domain. */ ● setup(): sentencias void setup() { // initialize the digital pin as an output. que sólo se tienen // Pin 13 has an LED connected on most Arduino boards: pinMode(13, OUTPUT); que ejecutar una } void loop() { vez el principio digitalWrite(13, HIGH); // set the LED on delay(1000); // wait for a second ● loop(): bucle digitalWrite(13, LOW); // set the LED off delay(1000); // wait for a second principal que se } ejecuta todo el tiempo
  • 15. Pequeños cambios Arduino 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!
  • 17. Conceptos de redes Para 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
  • 18. 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)
  • 19. 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!
  • 20. 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?
  • 21. Cosm Creación de usuarios y funcionalidades básicas
  • 23. Cosm.com "Vivir en un mar de datos: del Big Data a la Smart Society " 6 y 7 de Noviembre 2012 Fundación Telefónica. 1/20
  • 27. Página de inicio "Vivir en un mar de datos: del Big Data a la Smart Society " 6 y 7 de Noviembre 2012 Fundación Telefónica. 1/20
  • 29. Feed, Datastream & Datapoint ● Feed "Environment (aka "feed")" / Feed ID Contexto específico en el que medimos algo y generamos datos. Ej.: una casa, un coche, un AQE, etc. ● Datastream/ ID alfanumérico dentro del feed Representa a un dispositivo (o sensor) de captación de datos que se encuentra dentro del ambiente anteriormente definido en un feed. ● Datapoint Dato en un momento específico del tiempo, que puede consultarse de forma individual.
  • 30. Feed "Environment ("aka feed") https://cosm.com/feeds/72220 es la dirección del Feed con ID= 72220
  • 33. 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.
  • 35. 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.
  • 42. API Key y Feed - Copiar
  • 48. 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.
  • 49. Ejemplo 4: Envio Cosm (II)
  • 52. Cargamos el código y abrimos el Serial Monitor
  • 57. 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.
  • 58. Reset
  • 60. Disparadores en Cosm Triggers: permiten lanzar acciones cuando se cumplen unas determinadas condiciones
  • 61. Triggers Trigger con twitter Enví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 post Permiten 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.
  • 62. 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?
  • 63. Ejemplo 5: Reset + Trigger
  • 65. Dale el valor que lanza la alerta
  • 66. Este es el tuit que mandará
  • 68. En Cosm nos aparece
  • 69. Reset y ¡ tuit!
  • 70. Apps Programas que permiten interactuar con Cosm utilizando su API
  • 71. Aplicaciones Twitter stats URL: 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
  • 72. Aplicaciones Pachtweet URL: 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. Pachudial URL: 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:
  • 73. Aplicaciones Earth Browser URL: 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 Alert URL: 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.
  • 74. Aplicaciones Pachube Trails URL: 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.