Académique Documents
Professionnel Documents
Culture Documents
Alvaro Everlet
alvaro.everlet@carriots.com
@aeverlet
Javier Pastor
javier.pastor@carriots.com
@javipstor
Nov 2013
1.
2.
3.
4.
5.
6.
7.
INTRODUCCIN AL IOT
CONSTRUYENDO UN PROYECTO DE IOT
DISPOSITIVOS
PLATAFORMA
FRONTEND
INTEGRACIN
DEMOS
1.
2.
3.
4.
5.
6.
7.
INTRODUCCIN AL IOT
CONSTRUYENDO UN PROYECTO DE IOT
DISPOSITIVOS
PLATAFORMA
FRONTEND
INTEGRACIN
DEMOS
INTRODUCCIN AL IOT
DE DONDE VIENE
1999 Kevin Ashton inventa Internet of Things
INTERNET OF THINGS
El IoT es el mundo en el que cada objeto tiene una identidad virtual propia y
capacidad potencial para integrarse e interactuar de manera independiente en la
Red con cualquier otro individuo, ya sea una mquina (M2M) o un humano.
INTRODUCCIN AL IOT
NUESTRO MUNDO EST CAMBIANDO
Estamos sufriendo una transformacin donde things hablan con otros things y
estas conversaciones estn creando nuevos modelos de negocio, productos y
compaas.
Hace 20 aos, Internet se usaba principalmente como herramienta para buscar
informacin. En los ltimos 10 aos hemos vivido una nueva forma de uso de
Internet, donde todo se ha convertido en social, transaccional y mvil.
QU SER LO SIGUIENTE?
Internet of Things.
El nmero de cosas conectadas a internet sobrepas en 2008 el nmero de
habitantes del planeta. Se estima que habr 50.000 millones de dispositivos
conectados en 2020.
CIFRAS
Segn un estudio de CISCO, solo este ao el volumen de negocio de las cosas
conectadas a internet ascender a 475.000 millones de euros.
El IoT representara un negocio mundial de 10.900 billones de euros en 5 aos por
la mayor productividad, ahorro de costes y nuevos mercados para las empresas.
INTRODUCCIN AL IOT
POR QU AHORA
Ahora convergen mltiples factores:
a. Popularizacin de placas de HW libre
b. Abaratamiento de sensores
c. Mejora comunicaciones
d. Plataformas IoT
INTRODUCCIN AL IOT
Baby check
EJEMPLOS
Termostatos inteligentes
extrados de postscapes.com
Tracking deportivo
Recordatorio pastillas
Enchufes conectados
Pastillas inteligentes
Vigilancia no intrusiva
INTRODUCCIN AL IOT
CASOS DE USO INDUSTRIALES
SMART CITY
SMART ENERGY
SMART OIL & GAS
SMART AGRICULTURE
SMART BUILDINGS
SMART RETAIL
SMART BANKING
SMART CONSUMER PRODUCTS
SMART LOGISTICS
INTRODUCCIN AL IOT
TENDENCIAS Y LOCURAS
L8 smartlight (kickstarter)
INTRODUCCIN AL IOT
PASOS A SEGUIR
Una cosa (thing)
Dotarlo de electrnica
Conectarlo
INTRODUCCIN AL IOT
HOMENAJE A LOS DEVELOPERS
1.
2.
3.
4.
5.
6.
7.
INTRODUCCIN AL IOT
CONSTRUYENDO UN PROYECTO DE IOT
DISPOSITIVOS
PLATAFORMA
FRONTEND
INTEGRACIN
DEMOS
PROJECT STACK
CUSTOM IT
SYSTEMS
FRONTEND
Internet
PLATFORM
PRESENTATION
(MONITOR & REPORT)
Internet
APPLICATION
(DB & MIDDLEWARE
& RULE ENGINE)
Connectivity
HARDWARE
INTEGRATION
FRONTEND
Users
Custom
Dashboard &
control panel
Custom interface
HTTPS
PUSH/PULL
Webservices
Custom
IT
Servers
HTTPS
REST
Webservices
Custom
Reporting &
data download
HTTPS
Web interface
REST API
SECURITY
PROJECT &
DEVICE
MANAGEMENT
BIG DATA
STORAGE
EVENT
PROCESSING
BUSINESS
RULES
REST API
RS 485
HTTP
3G / Ethernet
Gateway
RS 485
Gateway
Gateway
CONNECTED
DEVICES & PRODUCTS
HTTP
API
Zigbee /
Radio
Zigbee /
Radio
HTTP
3G / Ethernet
RS 485
EXTERNAL
COMMUNICATION
MODULE
HTTP
API
HTTP
3G / Ethernet
HTTP
3G / Ethernet
CONTROL
PANEL
Gateway
Zigbee /
Radio
HTTP
API
Other APIs
EXTERNAL
APIS
COMPLEJO O POTENTE?
PROPONGO UNA VUELTA RPIDA POR LOS ELEMENTOS DE UN
PROYECTO DE INTERNET DE LAS COSAS SIGUIENDO UN EJEMPLO
SMART PARKING (CASO DE USO DE UNA SMART CITY)
1.
2.
3.
4.
5.
6.
7.
INTRODUCCIN AL IOT
CONSTRUYENDO UN PROYECTO DE IOT
DISPOSITIVOS
PLATAFORMA
FRONTEND
INTEGRACIN
DEMOS
DISPOSITIVOS
SENSORES & ACTUADORES
Los sensores toman informacin en bruto
que lee un dispositivo. Pueden medir
temperatura, presencia, viento, campos
magnticos, ujos de lquidos, calidad del
aire, propiedades de los lquidos,
vibraciones, posiciones geogrcas,
altitud, presin y un largo etc.
Los actuadores permiten la interaccin
con el mundo fsico. Pueden abrir puertas,
mostrar mensajes, layencender luces,
enviar seales, controlar un ujo de
lquidos, controlar el aire acondicionado,
encender y apagar motores, etc.
CONECTIVIDAD
En los proyectos de IoT los dispositivos se
conectan a Internet para interactuar.
Conectividad autnoma (Standalone)
Modems 3G / GPRS embebidos en el
dispositivo
Dispositivo + Pasarela
Comunicacin dispositivo-pasarela serie
(ej. RS232 or RS485) o radio (ej. 868MHz)
Red de sensores + Pasarela
Comiunicacin local por WIFI o ethernet
entre dispositivos y pasarela.
COMMUNICATION PROTOCOL
Los dispositivos interactan con Carriots
con un protocolo estndar HTTP / HTTPS
en la capa de Internet y JSON o XML en la
capa de aplicacin (REST API)
HTTP
3G / Ethernet
HTTP
3G / Ethernet
Gateway
Zigbee
RS 485
Gateway
DISPOSITIVOS
EJEMPLO DE ENVO DE TRAMA: informacin de plaza de parking
HTTP request
POST /streams HTTP/1.1!
Host: api.carriots.com!
Accept: application/json!
User-Agent: place_524@smartparking!
Content-Type: application/json!
carriots.apikey:98346673a637...5a0d83045425407ab4!
Content-Length: 182!
Connection: close!
!
Data (PAYLOAD)
{!
"protocol":"v2",!
"at":"now",!
"device":"place_524@smartparking",!
"data":{"parking":"on"},!
"checksum":"2c0766329b4d4b3beb08...97ae7b7de2160be"!
}
1: HTTP request
DEVICE
REST API
1.
2.
3.
4.
5.
6.
7.
INTRODUCCIN AL IOT
CONSTRUYENDO UN PROYECTO DE IOT
DISPOSITIVOS
PLATAFORMA
FRONTEND
INTEGRACIN
DEMOS
PLATAFORMA
API REST
Siguiendo un estndarampliamente adoptado
en Internet, Carriots implementa una API REST
sobre HTTPS para:
Recibir cantidades masivas de datos de los
dispositivos.
Interactuar con todas las entidades de
Carriots para construir paneles de control
personalizados, dasboards y e informes
REST API
SECURITY
BIG DATA
STORAGE
PROJECT &
DEVICE
MANAGEMENT
EVENT
PROCESSING
REST API
BUSINESS
RULES
CONTROL
PANEL
EXTERNAL
COMMUNICATION
MODULE
PLATAFORMA
LGICA DE NEGOCIO Y EVENTOS
La lgica del proyecto de IoT se aloja y se
ejecuta en la plataforma. Scripts de Groovy se
ejecutan (aislados y securizados) en el motor
SDK y se lanzan en base a eventos tratados
con una aproximacin tipo if-then-else. Desde
scripts sencillos a complejas reglas.
CONTROL PANEL
El panel de control es la interfaz web para
desarolladores de proyectos IoT con Carriots.
SEGURIDAD
En todos los proyectos IoT la seguridad debe
formar parte de su diseo. La aproximacin
de Carriots a este tema:
Apikeys denen privilegios y visibilidad.
HTTPS para cifrar conversaciones con la
API REST.
HMAC hash y contraseas pre-
MDULO DE COMUNICACIN
Enviar emails o SMS, interactuar con otros
sistemas o APIs se realiza con un mdulo
especco para garantizar la seguridad y el
rendimiento.
REST API
SECURITY
BIG DATA
STORAGE
PROJECT &
DEVICE
MANAGEMENT
EVENT
PROCESSING
REST API
BUSINESS
RULES
CONTROL
PANEL
EXTERNAL
COMMUNICATION
MODULE
PLATAFORMA
EJEMPLO: Lgica de Groovy ejecutada al recibir un dato de plaza de parking
// Libraries!
import com.carriots.sdk.Device;!
SDK LIBRARIES IMPORT
import com.carriots.sdk.utils.BasicHttp;!
!
// Free places counter update!
DATA BASE ACCESS
def device = Device.find('ParkingControl@smartparking');!
def places = new Integer(device.device_properties.FreePlaces);!
device.device_properties.FreePlaces=places-1;!
device.update();!
!!
// Place update!
CUSTOM PROPERTIES MANAGEMENT
def place = Device.find(context.device);!
place.device_properties['free']='no';!
place.update();!
CARRIOTS -> DEVICE COMMUNICATION
!
// Display location !
IP address stored as device property
def led = Device.find('LedDisplay-12@smartparking');!
def address = led.device_properties.address;
!
def token = led.device_properties.token;!
!
// Display update!
def basicHttp = new BasicHttp();!
basicHttp.url = "http://"+address+"/message";!
basicHttp.params=["text":"Free places: "+device.device_properties.FreePlaces,
"token":token];!
basicHttp.send();!
PLATAFORMA
PANTALLAZO DEL PANEL DE CONTROL DE CARRIOTS
EJEMPLO DE CREACIN DE LISTENER
ENTIDAD VIGILADA
EVENTO QUE
DESENCADENA LA
LGICA
APROXIMACIN
IF-THEN-ELSE
SCRIPTS DE GROOVY
REGLAS PREDEFINIDAS
1.
2.
3.
4.
5.
6.
7.
INTRODUCCIN AL IOT
CONSTRUYENDO UN PROYECTO DE IOT
DISPOSITIVOS
PLATAFORMA
FRONTEND
INTEGRACIN
DEMOS
FRONTEND
PANEL DE CONTROL DE CARRIOTS
El panel de control proporcionado por
Carriots es la primera herramienta
necesaria para la creacin de proyectos
IoT. Desde gestionar los detalles del
proyecto hasta la depuracin y
construccin de toda la lgica del
proyecto.
MONITORIZACIN
Herramientas y tcnicas disponibles para
la monitorizacin:
Pooling de los datos de la API REST.
Descarga de datos en chero
Grcas personalizadas de Carriots
Ej: Denir las zonas de parking, denir los PUSH de datos basado en eventos
mensajes de los paneles de sealizacin,
FRONTEND
etc.
FORNTENDS PERSONALIZADOS
Paneles de control personalizados, apps
para mviles, widgets, etc. Lo que
realmente quiere ver el usuario nal de un
proyecto IoT es la simplicidad de uso,
abstrayndose de la complejidad.
Ej: Mapas persoanlizados de las plazas de
parking, grcas de disponibilidad, gestin
Custom
Dashboard &
control panel
HTTPS
REST
Webservices
REST API
Custom
Reporting &
data download
CONTROL
PANEL
Users
HTTPS
Web interface
1.
2.
3.
4.
5.
6.
7.
INTRODUCCIN AL IOT
CONSTRUYENDO UN PROYECTO DE IOT
DISPOSITIVOS
PLATAFORMA
FRONTEND
INTEGRACIN
DEMOS
INTEGRACIN
SISTEMAS EXTERNOS
Para destapar el verdadero potencial de
los proyectos IoT la integracin es una
pieza fundamental. Mediante la API REST
de Carriots (data PULL), PUSH de datos
personalizados o peticiones HTTP/s
(RESTful) o sockets.
Ej: ERP corporativos, Zoho CRM, ArcGIS,
data warehouses, IBMs Intelligent
Operation Center, APIs de prediccin
meteorolgica, bases de datos externas,
etc.
Users
MECANISMOS YA INTEGRADOS
Mecanismos accesibles desde el motor
SDK:
Dropbox
Twitter
Mailing
SMS internacionales
Sockets
INTEGRATION
EXTERNAL
APIS
Other APIs
Custom interface
HTTPS
PUSH/PULL
Webservices
Custom
IT
Servers
HTTP
API
REST API
HTTP
API HTTP
API
EXTERNAL
COMMUNICATION
MODULE
1.
2.
3.
4.
5.
6.
7.
INTRODUCCIN AL IOT
CONSTRUYENDO UN PROYECTO DE IOT
DISPOSITIVOS
PLATAFORMA
FRONTEND
INTEGRACIN
DEMOS
DEMOS
NUESTRA SMART CITY
Alvaro Everlet
alvaro.everlet@carriots.com
@aeverlet
Javier Pastor
javier.pastor@carriots.com
@javipstor
Nov 2013