SlideShare uma empresa Scribd logo
1 de 31
Globalcode – Open4education
Trilha – IoT
Anderson Santos
Arquiteto de Sistemas
Cesar Nascimento
Arquiteto de T.I
Application Protocols
Selecionando protocolos para IoT
16/05/2015 V2.0
Globalcode – Open4education
Agenda
Introdução
O método
Cenário de exemplo
Globalcode – Open4education
Quem somos?
Anderson Santos (adsantos@gmail.com)
Cesar Nascimento (cesar.nascimento@gmail.com)
Anderson - Arquiteto de sistemas com mais de 20 anos de
experiência em TI, onde os últimos 10 anos em empresas de
telecomunicações. Graduado em Matemática, PMP, com MBA em
Gestão de Projetos pela FGV e mestrando pelo IPT. Especializado
em SOA, atuando como consultor para Telefonica | Vivo.
Cesar Nascimento é formado em Ciência da Computação, pós-
graduado em Desenvolvimento de Jogos Eletrônicos e mestrando em
Eng de Soft pelo IPT. Desde 1998 atuando em T.I, já foi consultor na
Accenture e há 7 anos trabalha na IBM do Brasil como Arquiteto de
T.I com foco em SOA, BPM, Cloud e Arquitetura Corporativa.
Todas as opiniões expressas são pessoais e não representam
nenhuma empresa ou instituição.
Globalcode – Open4education
O segredo do sucesso de uma
implementação de IoT começa
com a correta seleção dos
protocolos de comunicação.
Introdução ...
Globalcode – Open4education
Introdução ...
Gartner
4.8 Billion
25 Billion
Globalcode – Open4education
Introdução ...
7 pessoas para cada
website
http://www.internetlivestats.com
09 Maio 2015
http://www.worldometers.info/world-population/
Globalcode – Open4education
Introdução ...
http://populationpyramid.net/world/2020/
7 dispositivos para
cada pessoa
Globalcode – Open4education
Introdução ...
http://blogs.sap.com/innovation/innovation/seeings-believing-the-mother-of-all-iot-infographics-is-here-01245973
Globalcode – Open4education
O método ...
① Identificar o tipo de aplicação que queremos
implementar;
② Coletar os requisitos não-funcionais da aplicação
relevantes à seleção do protocolo;
③ Listar os protocolos candidatos;
④ Elencar as suas características;
⑤ Identificar quais características dos protocolos
atendem os requisitos não-funcionais da
aplicação;
⑥ Selecionar o(s) protocolo(s) mais adequado(s).
Globalcode – Open4education
Application protocols
Globalcode – Open4education
①Identificar o tipo de aplicação
que queremos implementar;
Globalcode – Open4education
Cenário ...
Aplicação
Controle de iluminação publica.
Requisitos
Funcionais
1. Monitorar e controlar 600.000 lâmpadas para a cidade X;
2. As lâmpadas devem ser acionadas gradualmente ao anoitecer (100 lux);
3. As lâmpadas devem ser desligadas ao amanhecer (1.000 lux);
4. Acionamento e desligamento acidentais devem ser ignorados;
5. Em caso de não-acionamento ou não-desligamento uma mensagem deve ser enviada
indicado a situação;
6. As unidades de controle deverão aceitar comandos de acionamento (100%,
desligamento (0%) e incrementos de luminosidade (0 < x < 100%);
7. A cada transição de estado da lâmpada, uma mensagem deve ser enviada;
8. Deve ser possível verificar o estado de uma lâmpada em qualquer momento.
Não funcionais
1. A unidade de controle da lâmpada deve enviar mensagens utilizando protocolo(s)
aberto(s);
2. O tempo entre a detecção de um estado e o recebimento de uma mensagem, ou o envio
de um comando, não deve ser superior a 2 segundos;
3. As mensagens serão enviadas, via internet sem fio, para as aplicações de controle e
monitoramento.
Globalcode – Open4education
Monitor Search Manage
Control Play
Globalcode – Open4education
[1]
Control
Plane
Device
To
Server
Timelinesofresponse
10usto10ms10msto1s>1s
Web services and business apps
Server-to-Server (S2S)
Devices and intelligent systems
Thing Thing ThingDevice-to-device (D2D)
Manage
Monitor
Control
Control
Play
Globalcode – Open4education
②Coletar os requisitos não-
funcionais [18] da aplicação
relevantes a seleção do
protocolo;
Auditoria, Privacidade, Desempenho, Usabilidade,
Confiabilidade, Segurança, Disponibilidade,
Manutenibilidade, Interoperabilidade, Integridade,
Recuperabilidade
Globalcode – Open4educationIoT - Internet of Things - na Iluminação Pública – CPqD
Cenário ...
100 lâmpadas por gateway
Globalcode – Open4education
D2S
Devices
Control panel
Monitoring App
ID
Thing
[15]
Emissor -> Canal [Código(Mensagem)] -> Receptor
Globalcode – Open4education
ID
Global Unique Identifier
Globalcode – Open4education
IP
as Global Unique Identifier
IPv6
FE80:0000:0000:0000:0202:B3FF:FE1E:8329
Globalcode – Open4education
Não se preocupe
Cisco
Globalcode – Open4education
Ethernet
Wi-fi
GSM/GPRS
SMS
Stack TCP/UDP, HTTP e HTTPS
Internet
Globalcode – Open4education
Bluetooth
XBee
Internet
Radio Serial
Gateway
Globalcode – Open4education
③Listar os protocolos
candidatos;
Globalcode – Open4educationApplication protocols
RFC7252 /2013
Globalcode – Open4education
CoAP: The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for
use with constrained nodes and constrained networks in the Internet of Things. [15]
DDS - The OMG Data-Distribution Service for Real-Time Systems (DDS) is the first open
international middleware standard directly addressing publish-subscribe communications for
real-time and embedded systems. [7]
MQTT: is a machine-to-machine (M2M)/"Internet of Things" connectivity protocol. It was
designed as an extremely lightweight publish/subscribe messaging transport. [8]
MQTT-SN: a pub/sub protocol for wireless sensor networks. MQTT-SN can be considered as
a version of MQTT which is adapted to the peculiarities of a wireless communication
environment. [8]
REST - Representational State Transfer (REST) is a software architecture style consisting of
guidelines and best practices for creating scalable web services. [6]
XMPP: The Extensible Messaging and Presence Protocol (XMPP) is an open technology for
real-time communication, which powers a wide range of applications including instant
messaging, presence, multi-party chat, voice and video calls, collaboration, lightweight
middleware, content syndication, and generalized routing of XML data. [14]
Globalcode – Open4education
④Elencar as suas principais
características;
Globalcode – Open4education
Características
Característica Descrição / Critério
Rede Camada de rede (IPv4, IPv6,
Camada física Ethernet, GSM/GPRS, Wi-Fi
Taxa mensagens* Número de mensagens por segundo considerando um nó em uma rede local.
Rede/Comunicação Camada da rede / comunicação
Suporte a IPv6 Se o protocolo suporta IPv6
Latência Tempo que a mensagem leva de um ponto a outro.
Segurança Protocolos de segurança suportados.
QoS Qualidade do Serviço, um acordo entre o remetente e o destinatário sobre o envio da
mensagem.
Real-time De acordo com a definição deste apresentação é um serviço cujo a latência esta
entre 10us a 10ms.
Interoperabilidade É uma propriedade do sistema de trabalhar com outros sistemas sem restrições.
Tipo de aplicação Taxonomia que classifica os sistemas quanto ao fluxo de suas mensagens. S2S,
D2S e D2D.
Recurso utilizado pelo
protocolo
Recursos (memória) utilizado pelo protocolo.
Padrão de mensagem Padrão de distribuição da mensagem adotado pela arquitetura do sistema.
Plataforma independente Dispõe de clientes e servidores em diversas plataformas.
Padrão aberto Indica se a definição do protocolo é aberto ou proprietário.
Globalcode – Open4education
⑤ Identificar quais
características dos
protocolos atendem os
requisitos não-funcionais
da aplicação;
⑥Selecionar o(s)
protocolo(s) mais
adequado(s).
Globalcode – Open4education
XMPP DDS*
Rede WAN e LAN Memória compartilhada, WAN e LAN
Física Ethernet / Wi-fi / GPRS Ethernet / Wi-fi
Taxa mensagens ~ 1.900 m/s [24] ~ 11.000 m/s [26]
Rede/Comunicação TCP UDP, TCP
Suporte a IPv6 Sim Sim
Latência 100ms a segundos 100us a milisegundos
Segurança TLS DTLS
QoS N/A Availability, Delivery, Timeliness, Res
Real-time Não Sim
Interoperabilidade Java, DotNet, C Java, C
Tipo de aplicação D2S D2D
Recurso utilizado pelo
protocolo
~ 14k Flash *
Padrão de mensagem Publish/Subscriber, Request/Response, Spoke-hub Publish/Subscriber, Point-to-Point
Plataforma independente Sim Sim
Padrão aberto Sim Sim
* Não encontramos implementação para arduino
Característicasdosprotocolos
** Não encontramos implementação para GSM/GPRS
Globalcode – Open4education
Obrigado
É isso que dá deixar as coisas interagirem :)
fb.com/RasecNascimento
Contatos
@asantos_2000
Globalcode – Open4education
Referências
1. Understanding The Protocols Behind The Internet Of Things - http://electronicdesign.com/embedded/understanding-protocols-behind-internet-things
2. Understanding The Internet Of Things - http://electronicdesign.com/communications/understanding-internet-things
3. IPV6: How Many IP Addresses Can Dance on the Head of a Pin? - http://www.edn.com/electronics-blogs/other/4306822/IPV6-How-Many-IP-Addresses-Can-
Dance-on-the-Head-of-a-Pin-
4. Stomp - http://stomp.github.io
5. AMQP - http://www.amqp.org
6. REST - http://www.w3.org/2001/sw/wiki/REST
7. DDS - http://portals.omg.org/dds/
8. MQTT - http://mqtt.org
9. Choosing Your Messaging Protocol: AMQP, MQTT, or STOMP - http://blogs.vmware.com/vfabric/2013/02/choosing-your-messaging-protocol-amqp-mqtt-or-
stomp.html
10. The Internet of Things: Dr. John Barrett at TEDxCIT - https://youtu.be/QaTIt1C5R-M
11. Uniduino: Arduino Plugin for Unity - Teaser - https://youtu.be/EdSnjB-GIGg
12. 5 Things to Know About MQTT – The Protocol for Internet of Things -
https://www.ibm.com/developerworks/community/blogs/5things/entry/5_things_to_know_about_mqtt_the_protocol_for_internet_of_things?lang=en
13. Ending the IoT Protocol Wars - http://www.apiacademy.co/blogs/index.php/ending-the-iot-protocol-wars/
14. IoT Protocol Wars: MQTT vs CoAP vs XMPP - http://www.iotprimer.com/2013/11/iot-protocol-wars-mqtt-vs-coap-vs-xmpp.html
15. Constrained Application Protocol for Internet of Things - http://www.cse.wustl.edu/~jain/cse574-14/ftp/coap/index.html
16. M2M, IOT, Device Managment: COAP/LWM2M to rule them all? - http://pt.slideshare.net/jvermillard/m2m-iot-device-managment-coaplwm2m-to-rule-them-all
17. ISO/IEC/IEEE 29148:2011(E), Systems and software engineering – Lifecycle processes - Requirements engineering
18. IoT-A Unified Requirements list - http://www.iot-a.eu/public/requirements/copy_of_requirements
19. IoT - Internet of Things - na Iluminação Pública - http://pt.slideshare.net/cpqd/iot-internet-of-things-na-iluminacao-publica
20. Ethernet MAC And PHY - http://electronicdesign.com/embedded/ethernet-mac-and-phy
21. What can DDS do for You? - http://www.omg.org/hot-topics/documents/dds/CoreDX_DDS_Why_Use_DDS.pdf
22. Internet of Things (IoT) protocols COAP MQTT OSCON2014 - http://pt.slideshare.net/vgholkar/io-t-protocolsoscon2014
23. Five Ways to Secure a Real-Time Distributed System Without Compromising Performance - http://pt.slideshare.net/RealTimeInnovations/five-ways-to-
secure-a-realtime-distributed-system-without-compromising-performance
24. Performance tests XMPP - https://iotprotocols.wordpress.com/2015/03/31/performance-tests-xmpp/
25. Speedtests in a simulated IoT scenario with the CoAP protocol - https://iotprotocols.wordpress.com/2015/01/19/speedtests-in-a-simulated-iot-scenario-with-
the-coap-protocol/
26. Stresstesting an OpenDDS IoT scenario - https://iotprotocols.wordpress.com/2015/01/20/stresstesting-an-opendds-iot-scenario/
27. A performance test of my MQTT scenario - https://iotprotocols.wordpress.com/2015/01/18/a-performance-test-of-my-mqtt-scenario/
28. Comparing Performance of Web Service Interaction Styles: SOAP vs. REST - http://proc.conisar.org/2012/pdf/2208.pdf

Mais conteúdo relacionado

Mais procurados

Minicurso CONIC - Internet das Coisas
Minicurso CONIC - Internet das CoisasMinicurso CONIC - Internet das Coisas
Minicurso CONIC - Internet das CoisasRomulo Fagundes
 
Internet of Things: The MQTT protocol
Internet of Things: The MQTT protocolInternet of Things: The MQTT protocol
Internet of Things: The MQTT protocolMauro Assis
 
A Revolução já começou
A Revolução já começouA Revolução já começou
A Revolução já começouJose Wilker
 
Internet das coisas - A revolução já começou
Internet das coisas - A revolução já começouInternet das coisas - A revolução já começou
Internet das coisas - A revolução já começouJose Wilker
 
Protocolos de Sistemas Embarcados
Protocolos de Sistemas EmbarcadosProtocolos de Sistemas Embarcados
Protocolos de Sistemas EmbarcadosRomulo Fagundes
 
Code Igniter & Zend Framework - Uma união de sucesso
Code Igniter & Zend Framework - Uma união de sucessoCode Igniter & Zend Framework - Uma união de sucesso
Code Igniter & Zend Framework - Uma união de sucessoJose Wilker
 
Internet of Things, IoT inovação e Segurança
Internet of Things, IoT inovação e SegurançaInternet of Things, IoT inovação e Segurança
Internet of Things, IoT inovação e SegurançaLeandro Bennaton
 
Internet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começouInternet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começouJose Wilker
 
Micropython - Python para microcontroladores
Micropython - Python para microcontroladoresMicropython - Python para microcontroladores
Micropython - Python para microcontroladoresFabio Souza
 
Tecnologias LPWA: conectando o que nao foi conectado
Tecnologias LPWA: conectando o que nao foi conectadoTecnologias LPWA: conectando o que nao foi conectado
Tecnologias LPWA: conectando o que nao foi conectadoEronides Da Silva Neto
 
Programe a STM32L4 Discovery kit IoT node com ARM mbed
Programe a STM32L4 Discovery kit IoT node com ARM mbedPrograme a STM32L4 Discovery kit IoT node com ARM mbed
Programe a STM32L4 Discovery kit IoT node com ARM mbedFabio Souza
 
QCon Rio 2015 - Workshop IoT: Sensores Conectados
QCon Rio 2015 - Workshop IoT: Sensores ConectadosQCon Rio 2015 - Workshop IoT: Sensores Conectados
QCon Rio 2015 - Workshop IoT: Sensores ConectadosJorge Maia
 
Workshop - Cotrole sua casa remotamente através da Internet
Workshop - Cotrole sua casa remotamente através da InternetWorkshop - Cotrole sua casa remotamente através da Internet
Workshop - Cotrole sua casa remotamente através da InternetFabio Souza
 
Internet das Coisas com Python e Arduino
Internet das Coisas com Python e ArduinoInternet das Coisas com Python e Arduino
Internet das Coisas com Python e ArduinoHumberto Zanetti
 
Plataformas atuais de sistemas embarcados para IoT
Plataformas atuais de sistemas embarcados para IoTPlataformas atuais de sistemas embarcados para IoT
Plataformas atuais de sistemas embarcados para IoTAndré Luiz Secco
 
Internet das coisas com Arduino
Internet das coisas com ArduinoInternet das coisas com Arduino
Internet das coisas com ArduinoRonivaldo Sampaio
 
TDC 2015 - Java 8 em 256 KB de memória RAM
TDC 2015 - Java 8 em 256 KB de memória RAMTDC 2015 - Java 8 em 256 KB de memória RAM
TDC 2015 - Java 8 em 256 KB de memória RAMMarco Antonio Maciel
 

Mais procurados (20)

Minicurso CONIC - Internet das Coisas
Minicurso CONIC - Internet das CoisasMinicurso CONIC - Internet das Coisas
Minicurso CONIC - Internet das Coisas
 
Internet of Things: The MQTT protocol
Internet of Things: The MQTT protocolInternet of Things: The MQTT protocol
Internet of Things: The MQTT protocol
 
Smart Grid Forum 2016 Segurança IoT v3
Smart Grid Forum 2016 Segurança IoT v3Smart Grid Forum 2016 Segurança IoT v3
Smart Grid Forum 2016 Segurança IoT v3
 
A Revolução já começou
A Revolução já começouA Revolução já começou
A Revolução já começou
 
Internet das coisas - A revolução já começou
Internet das coisas - A revolução já começouInternet das coisas - A revolução já começou
Internet das coisas - A revolução já começou
 
Protocolos de Sistemas Embarcados
Protocolos de Sistemas EmbarcadosProtocolos de Sistemas Embarcados
Protocolos de Sistemas Embarcados
 
Code Igniter & Zend Framework - Uma união de sucesso
Code Igniter & Zend Framework - Uma união de sucessoCode Igniter & Zend Framework - Uma união de sucesso
Code Igniter & Zend Framework - Uma união de sucesso
 
Internet of Things, IoT inovação e Segurança
Internet of Things, IoT inovação e SegurançaInternet of Things, IoT inovação e Segurança
Internet of Things, IoT inovação e Segurança
 
Internet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começouInternet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começou
 
Micropython - Python para microcontroladores
Micropython - Python para microcontroladoresMicropython - Python para microcontroladores
Micropython - Python para microcontroladores
 
Tecnologias LPWA: conectando o que nao foi conectado
Tecnologias LPWA: conectando o que nao foi conectadoTecnologias LPWA: conectando o que nao foi conectado
Tecnologias LPWA: conectando o que nao foi conectado
 
Programe a STM32L4 Discovery kit IoT node com ARM mbed
Programe a STM32L4 Discovery kit IoT node com ARM mbedPrograme a STM32L4 Discovery kit IoT node com ARM mbed
Programe a STM32L4 Discovery kit IoT node com ARM mbed
 
QCon Rio 2015 - Workshop IoT: Sensores Conectados
QCon Rio 2015 - Workshop IoT: Sensores ConectadosQCon Rio 2015 - Workshop IoT: Sensores Conectados
QCon Rio 2015 - Workshop IoT: Sensores Conectados
 
Workshop - Cotrole sua casa remotamente através da Internet
Workshop - Cotrole sua casa remotamente através da InternetWorkshop - Cotrole sua casa remotamente através da Internet
Workshop - Cotrole sua casa remotamente através da Internet
 
Bento Quirino Apresentação
Bento Quirino ApresentaçãoBento Quirino Apresentação
Bento Quirino Apresentação
 
Internet das Coisas com Python e Arduino
Internet das Coisas com Python e ArduinoInternet das Coisas com Python e Arduino
Internet das Coisas com Python e Arduino
 
Mqtt protocolo iot
Mqtt protocolo iotMqtt protocolo iot
Mqtt protocolo iot
 
Plataformas atuais de sistemas embarcados para IoT
Plataformas atuais de sistemas embarcados para IoTPlataformas atuais de sistemas embarcados para IoT
Plataformas atuais de sistemas embarcados para IoT
 
Internet das coisas com Arduino
Internet das coisas com ArduinoInternet das coisas com Arduino
Internet das coisas com Arduino
 
TDC 2015 - Java 8 em 256 KB de memória RAM
TDC 2015 - Java 8 em 256 KB de memória RAMTDC 2015 - Java 8 em 256 KB de memória RAM
TDC 2015 - Java 8 em 256 KB de memória RAM
 

Destaque

[IoT] Internet das Coisas - O despertar dos objetos
[IoT] Internet das Coisas - O despertar dos objetos[IoT] Internet das Coisas - O despertar dos objetos
[IoT] Internet das Coisas - O despertar dos objetosCESAR
 
Introdução à plataforma Java Embedded & IoT
Introdução à plataforma Java Embedded & IoTIntrodução à plataforma Java Embedded & IoT
Introdução à plataforma Java Embedded & IoTMarco Antonio Maciel
 
Tutorial WebSocket em Java
Tutorial WebSocket em JavaTutorial WebSocket em Java
Tutorial WebSocket em Javalucascsoliveira
 
TDC2015 - Internet das Coisas - OpenDevice
TDC2015 - Internet das Coisas - OpenDeviceTDC2015 - Internet das Coisas - OpenDevice
TDC2015 - Internet das Coisas - OpenDeviceRicardo Rufino
 
Aplicações de embarcados - IoT
Aplicações de embarcados - IoTAplicações de embarcados - IoT
Aplicações de embarcados - IoTAndré Curvello
 
Monografia_AWS_ProtocolosIOT_DenisStorti_v1.1
Monografia_AWS_ProtocolosIOT_DenisStorti_v1.1Monografia_AWS_ProtocolosIOT_DenisStorti_v1.1
Monografia_AWS_ProtocolosIOT_DenisStorti_v1.1Denis Storti da Silva
 
IoT Intel Road Show 2014 - Controle de Pragas
IoT Intel Road Show 2014 - Controle de PragasIoT Intel Road Show 2014 - Controle de Pragas
IoT Intel Road Show 2014 - Controle de PragasDouglas Esteves
 
Loco Positioning System - FOSDEM 2017
Loco Positioning System - FOSDEM 2017Loco Positioning System - FOSDEM 2017
Loco Positioning System - FOSDEM 2017bitcraze
 
Localização indoor com redes de beacons inteligentes
Localização indoor com redes de beacons inteligentesLocalização indoor com redes de beacons inteligentes
Localização indoor com redes de beacons inteligentesAndré Curvello
 
Internet das Coisas (Internet of Things - IoT)
Internet das Coisas (Internet of Things - IoT)Internet das Coisas (Internet of Things - IoT)
Internet das Coisas (Internet of Things - IoT)Desiree Santos
 
Wi-Fi based indoor positioning
Wi-Fi based indoor positioningWi-Fi based indoor positioning
Wi-Fi based indoor positioningSherwin Rodrigues
 
MQTT in the Internet of Things | Loop by Litmus Automation
MQTT in the Internet of Things | Loop by Litmus AutomationMQTT in the Internet of Things | Loop by Litmus Automation
MQTT in the Internet of Things | Loop by Litmus AutomationLitmusautomation
 
DENIS_Comparacao_de_Protocolos_de_Comunicacao
DENIS_Comparacao_de_Protocolos_de_ComunicacaoDENIS_Comparacao_de_Protocolos_de_Comunicacao
DENIS_Comparacao_de_Protocolos_de_ComunicacaoDenis Storti da Silva
 
Indoor Positioning System
Indoor Positioning SystemIndoor Positioning System
Indoor Positioning SystemDidac Montero
 
Mini Curso Sistemas Embarcados
Mini Curso Sistemas EmbarcadosMini Curso Sistemas Embarcados
Mini Curso Sistemas EmbarcadosSuzana Viana Mota
 
Indoor positioning and indoor navigation: 7 use cases
Indoor positioning and indoor navigation: 7 use casesIndoor positioning and indoor navigation: 7 use cases
Indoor positioning and indoor navigation: 7 use casesinfsoft GmbH
 
Indoor Positioning Systems
Indoor Positioning SystemsIndoor Positioning Systems
Indoor Positioning SystemsProjectENhANCE
 
Precision (Indoor) Real Time Location Systems
Precision (Indoor) Real Time Location SystemsPrecision (Indoor) Real Time Location Systems
Precision (Indoor) Real Time Location SystemsPeter Batty
 

Destaque (20)

[IoT] Internet das Coisas - O despertar dos objetos
[IoT] Internet das Coisas - O despertar dos objetos[IoT] Internet das Coisas - O despertar dos objetos
[IoT] Internet das Coisas - O despertar dos objetos
 
Palestra forum iot
Palestra forum iotPalestra forum iot
Palestra forum iot
 
Introdução à plataforma Java Embedded & IoT
Introdução à plataforma Java Embedded & IoTIntrodução à plataforma Java Embedded & IoT
Introdução à plataforma Java Embedded & IoT
 
Tutorial WebSocket em Java
Tutorial WebSocket em JavaTutorial WebSocket em Java
Tutorial WebSocket em Java
 
TDC2015 - Internet das Coisas - OpenDevice
TDC2015 - Internet das Coisas - OpenDeviceTDC2015 - Internet das Coisas - OpenDevice
TDC2015 - Internet das Coisas - OpenDevice
 
Aplicações de embarcados - IoT
Aplicações de embarcados - IoTAplicações de embarcados - IoT
Aplicações de embarcados - IoT
 
Monografia_AWS_ProtocolosIOT_DenisStorti_v1.1
Monografia_AWS_ProtocolosIOT_DenisStorti_v1.1Monografia_AWS_ProtocolosIOT_DenisStorti_v1.1
Monografia_AWS_ProtocolosIOT_DenisStorti_v1.1
 
IoT Intel Road Show 2014 - Controle de Pragas
IoT Intel Road Show 2014 - Controle de PragasIoT Intel Road Show 2014 - Controle de Pragas
IoT Intel Road Show 2014 - Controle de Pragas
 
Loco Positioning System - FOSDEM 2017
Loco Positioning System - FOSDEM 2017Loco Positioning System - FOSDEM 2017
Loco Positioning System - FOSDEM 2017
 
Localização indoor com redes de beacons inteligentes
Localização indoor com redes de beacons inteligentesLocalização indoor com redes de beacons inteligentes
Localização indoor com redes de beacons inteligentes
 
Internet das Coisas (Internet of Things - IoT)
Internet das Coisas (Internet of Things - IoT)Internet das Coisas (Internet of Things - IoT)
Internet das Coisas (Internet of Things - IoT)
 
Esp8266 + lua
Esp8266 + luaEsp8266 + lua
Esp8266 + lua
 
Wi-Fi based indoor positioning
Wi-Fi based indoor positioningWi-Fi based indoor positioning
Wi-Fi based indoor positioning
 
MQTT in the Internet of Things | Loop by Litmus Automation
MQTT in the Internet of Things | Loop by Litmus AutomationMQTT in the Internet of Things | Loop by Litmus Automation
MQTT in the Internet of Things | Loop by Litmus Automation
 
DENIS_Comparacao_de_Protocolos_de_Comunicacao
DENIS_Comparacao_de_Protocolos_de_ComunicacaoDENIS_Comparacao_de_Protocolos_de_Comunicacao
DENIS_Comparacao_de_Protocolos_de_Comunicacao
 
Indoor Positioning System
Indoor Positioning SystemIndoor Positioning System
Indoor Positioning System
 
Mini Curso Sistemas Embarcados
Mini Curso Sistemas EmbarcadosMini Curso Sistemas Embarcados
Mini Curso Sistemas Embarcados
 
Indoor positioning and indoor navigation: 7 use cases
Indoor positioning and indoor navigation: 7 use casesIndoor positioning and indoor navigation: 7 use cases
Indoor positioning and indoor navigation: 7 use cases
 
Indoor Positioning Systems
Indoor Positioning SystemsIndoor Positioning Systems
Indoor Positioning Systems
 
Precision (Indoor) Real Time Location Systems
Precision (Indoor) Real Time Location SystemsPrecision (Indoor) Real Time Location Systems
Precision (Indoor) Real Time Location Systems
 

Semelhante a Protocolos IoT para Iluminação Pública

CLASS 2018 - Palestra de Alexandre Freire (Industrial Cybersecurity Sales Eng...
CLASS 2018 - Palestra de Alexandre Freire (Industrial Cybersecurity Sales Eng...CLASS 2018 - Palestra de Alexandre Freire (Industrial Cybersecurity Sales Eng...
CLASS 2018 - Palestra de Alexandre Freire (Industrial Cybersecurity Sales Eng...TI Safe
 
Desenhando Arquiteturas de Segurança Cibernética Centradas na Prevenção de Si...
Desenhando Arquiteturas de Segurança Cibernética Centradas na Prevenção de Si...Desenhando Arquiteturas de Segurança Cibernética Centradas na Prevenção de Si...
Desenhando Arquiteturas de Segurança Cibernética Centradas na Prevenção de Si...Alexandre Freire
 
Apresentação sobre Redes Industriais na UNIP Jundiaí/SP
Apresentação sobre Redes Industriais na UNIP Jundiaí/SPApresentação sobre Redes Industriais na UNIP Jundiaí/SP
Apresentação sobre Redes Industriais na UNIP Jundiaí/SPCarlos Mandolesi
 
Gestão de Redes de Computadores e Serviços.pptx
Gestão de Redes de Computadores e Serviços.pptxGestão de Redes de Computadores e Serviços.pptx
Gestão de Redes de Computadores e Serviços.pptxHJesusMiguel
 
Modelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNAModelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNAwolkartt_18
 
TradeTech Brazil 2011 - O Desafio Da Latencia
TradeTech Brazil 2011 - O Desafio Da LatenciaTradeTech Brazil 2011 - O Desafio Da Latencia
TradeTech Brazil 2011 - O Desafio Da LatenciaJose Ricardo Maia Moraes
 
Panorama Geral e Tendências em Redes IP - I Workshop CPqD de Inovação Tecnoló...
Panorama Geral e Tendências em Redes IP - I Workshop CPqD de Inovação Tecnoló...Panorama Geral e Tendências em Redes IP - I Workshop CPqD de Inovação Tecnoló...
Panorama Geral e Tendências em Redes IP - I Workshop CPqD de Inovação Tecnoló...CPqD
 
CISSP - TELECOM apresentada no CNASI 2013
CISSP - TELECOM apresentada no CNASI 2013CISSP - TELECOM apresentada no CNASI 2013
CISSP - TELECOM apresentada no CNASI 2013Adilson Da Rocha
 
Protocolo MQTT: Message Queuing Telemetry Transport
Protocolo MQTT: Message Queuing Telemetry TransportProtocolo MQTT: Message Queuing Telemetry Transport
Protocolo MQTT: Message Queuing Telemetry TransportNorberto Enomoto
 
S2 B 2007 Infra Aula 01 V1.00
S2 B 2007   Infra   Aula 01 V1.00S2 B 2007   Infra   Aula 01 V1.00
S2 B 2007 Infra Aula 01 V1.00doctorweb
 
Aula 07 - Projeto de Topologia e Exercícios - Parte II
Aula 07 - Projeto de Topologia e Exercícios - Parte IIAula 07 - Projeto de Topologia e Exercícios - Parte II
Aula 07 - Projeto de Topologia e Exercícios - Parte IIDalton Martins
 
TETRA and LTE public safety communications (brochure in portuguese)
TETRA and LTE public safety communications (brochure in portuguese)TETRA and LTE public safety communications (brochure in portuguese)
TETRA and LTE public safety communications (brochure in portuguese)Motorola Solutions LatAm
 
BR - Fabric Connect Workshop LAB Slides v0 PTBR.pdf
BR - Fabric Connect Workshop LAB Slides v0 PTBR.pdfBR - Fabric Connect Workshop LAB Slides v0 PTBR.pdf
BR - Fabric Connect Workshop LAB Slides v0 PTBR.pdfodairjose23
 
Clp automacao redes_protocolos
Clp automacao redes_protocolosClp automacao redes_protocolos
Clp automacao redes_protocolosWellington barbosa
 

Semelhante a Protocolos IoT para Iluminação Pública (20)

CLASS 2018 - Palestra de Alexandre Freire (Industrial Cybersecurity Sales Eng...
CLASS 2018 - Palestra de Alexandre Freire (Industrial Cybersecurity Sales Eng...CLASS 2018 - Palestra de Alexandre Freire (Industrial Cybersecurity Sales Eng...
CLASS 2018 - Palestra de Alexandre Freire (Industrial Cybersecurity Sales Eng...
 
Desenhando Arquiteturas de Segurança Cibernética Centradas na Prevenção de Si...
Desenhando Arquiteturas de Segurança Cibernética Centradas na Prevenção de Si...Desenhando Arquiteturas de Segurança Cibernética Centradas na Prevenção de Si...
Desenhando Arquiteturas de Segurança Cibernética Centradas na Prevenção de Si...
 
Apresentação sobre Redes Industriais na UNIP Jundiaí/SP
Apresentação sobre Redes Industriais na UNIP Jundiaí/SPApresentação sobre Redes Industriais na UNIP Jundiaí/SP
Apresentação sobre Redes Industriais na UNIP Jundiaí/SP
 
Gestão de Redes de Computadores e Serviços.pptx
Gestão de Redes de Computadores e Serviços.pptxGestão de Redes de Computadores e Serviços.pptx
Gestão de Redes de Computadores e Serviços.pptx
 
Modelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNAModelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNA
 
Intro_redes.pdf
Intro_redes.pdfIntro_redes.pdf
Intro_redes.pdf
 
Protocolos
ProtocolosProtocolos
Protocolos
 
TradeTech Brazil 2011 - O Desafio Da Latencia
TradeTech Brazil 2011 - O Desafio Da LatenciaTradeTech Brazil 2011 - O Desafio Da Latencia
TradeTech Brazil 2011 - O Desafio Da Latencia
 
Panorama Geral e Tendências em Redes IP - I Workshop CPqD de Inovação Tecnoló...
Panorama Geral e Tendências em Redes IP - I Workshop CPqD de Inovação Tecnoló...Panorama Geral e Tendências em Redes IP - I Workshop CPqD de Inovação Tecnoló...
Panorama Geral e Tendências em Redes IP - I Workshop CPqD de Inovação Tecnoló...
 
CISSP - TELECOM apresentada no CNASI 2013
CISSP - TELECOM apresentada no CNASI 2013CISSP - TELECOM apresentada no CNASI 2013
CISSP - TELECOM apresentada no CNASI 2013
 
Protocolo MQTT: Message Queuing Telemetry Transport
Protocolo MQTT: Message Queuing Telemetry TransportProtocolo MQTT: Message Queuing Telemetry Transport
Protocolo MQTT: Message Queuing Telemetry Transport
 
S2 B 2007 Infra Aula 01 V1.00
S2 B 2007   Infra   Aula 01 V1.00S2 B 2007   Infra   Aula 01 V1.00
S2 B 2007 Infra Aula 01 V1.00
 
Aula 07 - Projeto de Topologia e Exercícios - Parte II
Aula 07 - Projeto de Topologia e Exercícios - Parte IIAula 07 - Projeto de Topologia e Exercícios - Parte II
Aula 07 - Projeto de Topologia e Exercícios - Parte II
 
TETRA and LTE public safety communications (brochure in portuguese)
TETRA and LTE public safety communications (brochure in portuguese)TETRA and LTE public safety communications (brochure in portuguese)
TETRA and LTE public safety communications (brochure in portuguese)
 
Speed data
Speed dataSpeed data
Speed data
 
BR - Fabric Connect Workshop LAB Slides v0 PTBR.pdf
BR - Fabric Connect Workshop LAB Slides v0 PTBR.pdfBR - Fabric Connect Workshop LAB Slides v0 PTBR.pdf
BR - Fabric Connect Workshop LAB Slides v0 PTBR.pdf
 
PIF2019 - A17 - Thiago Lombardi - Baumier
PIF2019 - A17 - Thiago Lombardi - BaumierPIF2019 - A17 - Thiago Lombardi - Baumier
PIF2019 - A17 - Thiago Lombardi - Baumier
 
Clp automacao redes_protocolos
Clp automacao redes_protocolosClp automacao redes_protocolos
Clp automacao redes_protocolos
 
Gerredes
GerredesGerredes
Gerredes
 
INOVADEF - Apresentação Sender Rocha
INOVADEF - Apresentação Sender RochaINOVADEF - Apresentação Sender Rocha
INOVADEF - Apresentação Sender Rocha
 

Protocolos IoT para Iluminação Pública

  • 1. Globalcode – Open4education Trilha – IoT Anderson Santos Arquiteto de Sistemas Cesar Nascimento Arquiteto de T.I Application Protocols Selecionando protocolos para IoT 16/05/2015 V2.0
  • 3. Globalcode – Open4education Quem somos? Anderson Santos (adsantos@gmail.com) Cesar Nascimento (cesar.nascimento@gmail.com) Anderson - Arquiteto de sistemas com mais de 20 anos de experiência em TI, onde os últimos 10 anos em empresas de telecomunicações. Graduado em Matemática, PMP, com MBA em Gestão de Projetos pela FGV e mestrando pelo IPT. Especializado em SOA, atuando como consultor para Telefonica | Vivo. Cesar Nascimento é formado em Ciência da Computação, pós- graduado em Desenvolvimento de Jogos Eletrônicos e mestrando em Eng de Soft pelo IPT. Desde 1998 atuando em T.I, já foi consultor na Accenture e há 7 anos trabalha na IBM do Brasil como Arquiteto de T.I com foco em SOA, BPM, Cloud e Arquitetura Corporativa. Todas as opiniões expressas são pessoais e não representam nenhuma empresa ou instituição.
  • 4. Globalcode – Open4education O segredo do sucesso de uma implementação de IoT começa com a correta seleção dos protocolos de comunicação. Introdução ...
  • 5. Globalcode – Open4education Introdução ... Gartner 4.8 Billion 25 Billion
  • 6. Globalcode – Open4education Introdução ... 7 pessoas para cada website http://www.internetlivestats.com 09 Maio 2015 http://www.worldometers.info/world-population/
  • 7. Globalcode – Open4education Introdução ... http://populationpyramid.net/world/2020/ 7 dispositivos para cada pessoa
  • 8. Globalcode – Open4education Introdução ... http://blogs.sap.com/innovation/innovation/seeings-believing-the-mother-of-all-iot-infographics-is-here-01245973
  • 9. Globalcode – Open4education O método ... ① Identificar o tipo de aplicação que queremos implementar; ② Coletar os requisitos não-funcionais da aplicação relevantes à seleção do protocolo; ③ Listar os protocolos candidatos; ④ Elencar as suas características; ⑤ Identificar quais características dos protocolos atendem os requisitos não-funcionais da aplicação; ⑥ Selecionar o(s) protocolo(s) mais adequado(s).
  • 11. Globalcode – Open4education ①Identificar o tipo de aplicação que queremos implementar;
  • 12. Globalcode – Open4education Cenário ... Aplicação Controle de iluminação publica. Requisitos Funcionais 1. Monitorar e controlar 600.000 lâmpadas para a cidade X; 2. As lâmpadas devem ser acionadas gradualmente ao anoitecer (100 lux); 3. As lâmpadas devem ser desligadas ao amanhecer (1.000 lux); 4. Acionamento e desligamento acidentais devem ser ignorados; 5. Em caso de não-acionamento ou não-desligamento uma mensagem deve ser enviada indicado a situação; 6. As unidades de controle deverão aceitar comandos de acionamento (100%, desligamento (0%) e incrementos de luminosidade (0 < x < 100%); 7. A cada transição de estado da lâmpada, uma mensagem deve ser enviada; 8. Deve ser possível verificar o estado de uma lâmpada em qualquer momento. Não funcionais 1. A unidade de controle da lâmpada deve enviar mensagens utilizando protocolo(s) aberto(s); 2. O tempo entre a detecção de um estado e o recebimento de uma mensagem, ou o envio de um comando, não deve ser superior a 2 segundos; 3. As mensagens serão enviadas, via internet sem fio, para as aplicações de controle e monitoramento.
  • 13. Globalcode – Open4education Monitor Search Manage Control Play
  • 14. Globalcode – Open4education [1] Control Plane Device To Server Timelinesofresponse 10usto10ms10msto1s>1s Web services and business apps Server-to-Server (S2S) Devices and intelligent systems Thing Thing ThingDevice-to-device (D2D) Manage Monitor Control Control Play
  • 15. Globalcode – Open4education ②Coletar os requisitos não- funcionais [18] da aplicação relevantes a seleção do protocolo; Auditoria, Privacidade, Desempenho, Usabilidade, Confiabilidade, Segurança, Disponibilidade, Manutenibilidade, Interoperabilidade, Integridade, Recuperabilidade
  • 16. Globalcode – Open4educationIoT - Internet of Things - na Iluminação Pública – CPqD Cenário ... 100 lâmpadas por gateway
  • 17. Globalcode – Open4education D2S Devices Control panel Monitoring App ID Thing [15] Emissor -> Canal [Código(Mensagem)] -> Receptor
  • 19. Globalcode – Open4education IP as Global Unique Identifier IPv6 FE80:0000:0000:0000:0202:B3FF:FE1E:8329
  • 23. Globalcode – Open4education ③Listar os protocolos candidatos;
  • 24. Globalcode – Open4educationApplication protocols RFC7252 /2013
  • 25. Globalcode – Open4education CoAP: The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained networks in the Internet of Things. [15] DDS - The OMG Data-Distribution Service for Real-Time Systems (DDS) is the first open international middleware standard directly addressing publish-subscribe communications for real-time and embedded systems. [7] MQTT: is a machine-to-machine (M2M)/"Internet of Things" connectivity protocol. It was designed as an extremely lightweight publish/subscribe messaging transport. [8] MQTT-SN: a pub/sub protocol for wireless sensor networks. MQTT-SN can be considered as a version of MQTT which is adapted to the peculiarities of a wireless communication environment. [8] REST - Representational State Transfer (REST) is a software architecture style consisting of guidelines and best practices for creating scalable web services. [6] XMPP: The Extensible Messaging and Presence Protocol (XMPP) is an open technology for real-time communication, which powers a wide range of applications including instant messaging, presence, multi-party chat, voice and video calls, collaboration, lightweight middleware, content syndication, and generalized routing of XML data. [14]
  • 26. Globalcode – Open4education ④Elencar as suas principais características;
  • 27. Globalcode – Open4education Características Característica Descrição / Critério Rede Camada de rede (IPv4, IPv6, Camada física Ethernet, GSM/GPRS, Wi-Fi Taxa mensagens* Número de mensagens por segundo considerando um nó em uma rede local. Rede/Comunicação Camada da rede / comunicação Suporte a IPv6 Se o protocolo suporta IPv6 Latência Tempo que a mensagem leva de um ponto a outro. Segurança Protocolos de segurança suportados. QoS Qualidade do Serviço, um acordo entre o remetente e o destinatário sobre o envio da mensagem. Real-time De acordo com a definição deste apresentação é um serviço cujo a latência esta entre 10us a 10ms. Interoperabilidade É uma propriedade do sistema de trabalhar com outros sistemas sem restrições. Tipo de aplicação Taxonomia que classifica os sistemas quanto ao fluxo de suas mensagens. S2S, D2S e D2D. Recurso utilizado pelo protocolo Recursos (memória) utilizado pelo protocolo. Padrão de mensagem Padrão de distribuição da mensagem adotado pela arquitetura do sistema. Plataforma independente Dispõe de clientes e servidores em diversas plataformas. Padrão aberto Indica se a definição do protocolo é aberto ou proprietário.
  • 28. Globalcode – Open4education ⑤ Identificar quais características dos protocolos atendem os requisitos não-funcionais da aplicação; ⑥Selecionar o(s) protocolo(s) mais adequado(s).
  • 29. Globalcode – Open4education XMPP DDS* Rede WAN e LAN Memória compartilhada, WAN e LAN Física Ethernet / Wi-fi / GPRS Ethernet / Wi-fi Taxa mensagens ~ 1.900 m/s [24] ~ 11.000 m/s [26] Rede/Comunicação TCP UDP, TCP Suporte a IPv6 Sim Sim Latência 100ms a segundos 100us a milisegundos Segurança TLS DTLS QoS N/A Availability, Delivery, Timeliness, Res Real-time Não Sim Interoperabilidade Java, DotNet, C Java, C Tipo de aplicação D2S D2D Recurso utilizado pelo protocolo ~ 14k Flash * Padrão de mensagem Publish/Subscriber, Request/Response, Spoke-hub Publish/Subscriber, Point-to-Point Plataforma independente Sim Sim Padrão aberto Sim Sim * Não encontramos implementação para arduino Característicasdosprotocolos ** Não encontramos implementação para GSM/GPRS
  • 30. Globalcode – Open4education Obrigado É isso que dá deixar as coisas interagirem :) fb.com/RasecNascimento Contatos @asantos_2000
  • 31. Globalcode – Open4education Referências 1. Understanding The Protocols Behind The Internet Of Things - http://electronicdesign.com/embedded/understanding-protocols-behind-internet-things 2. Understanding The Internet Of Things - http://electronicdesign.com/communications/understanding-internet-things 3. IPV6: How Many IP Addresses Can Dance on the Head of a Pin? - http://www.edn.com/electronics-blogs/other/4306822/IPV6-How-Many-IP-Addresses-Can- Dance-on-the-Head-of-a-Pin- 4. Stomp - http://stomp.github.io 5. AMQP - http://www.amqp.org 6. REST - http://www.w3.org/2001/sw/wiki/REST 7. DDS - http://portals.omg.org/dds/ 8. MQTT - http://mqtt.org 9. Choosing Your Messaging Protocol: AMQP, MQTT, or STOMP - http://blogs.vmware.com/vfabric/2013/02/choosing-your-messaging-protocol-amqp-mqtt-or- stomp.html 10. The Internet of Things: Dr. John Barrett at TEDxCIT - https://youtu.be/QaTIt1C5R-M 11. Uniduino: Arduino Plugin for Unity - Teaser - https://youtu.be/EdSnjB-GIGg 12. 5 Things to Know About MQTT – The Protocol for Internet of Things - https://www.ibm.com/developerworks/community/blogs/5things/entry/5_things_to_know_about_mqtt_the_protocol_for_internet_of_things?lang=en 13. Ending the IoT Protocol Wars - http://www.apiacademy.co/blogs/index.php/ending-the-iot-protocol-wars/ 14. IoT Protocol Wars: MQTT vs CoAP vs XMPP - http://www.iotprimer.com/2013/11/iot-protocol-wars-mqtt-vs-coap-vs-xmpp.html 15. Constrained Application Protocol for Internet of Things - http://www.cse.wustl.edu/~jain/cse574-14/ftp/coap/index.html 16. M2M, IOT, Device Managment: COAP/LWM2M to rule them all? - http://pt.slideshare.net/jvermillard/m2m-iot-device-managment-coaplwm2m-to-rule-them-all 17. ISO/IEC/IEEE 29148:2011(E), Systems and software engineering – Lifecycle processes - Requirements engineering 18. IoT-A Unified Requirements list - http://www.iot-a.eu/public/requirements/copy_of_requirements 19. IoT - Internet of Things - na Iluminação Pública - http://pt.slideshare.net/cpqd/iot-internet-of-things-na-iluminacao-publica 20. Ethernet MAC And PHY - http://electronicdesign.com/embedded/ethernet-mac-and-phy 21. What can DDS do for You? - http://www.omg.org/hot-topics/documents/dds/CoreDX_DDS_Why_Use_DDS.pdf 22. Internet of Things (IoT) protocols COAP MQTT OSCON2014 - http://pt.slideshare.net/vgholkar/io-t-protocolsoscon2014 23. Five Ways to Secure a Real-Time Distributed System Without Compromising Performance - http://pt.slideshare.net/RealTimeInnovations/five-ways-to- secure-a-realtime-distributed-system-without-compromising-performance 24. Performance tests XMPP - https://iotprotocols.wordpress.com/2015/03/31/performance-tests-xmpp/ 25. Speedtests in a simulated IoT scenario with the CoAP protocol - https://iotprotocols.wordpress.com/2015/01/19/speedtests-in-a-simulated-iot-scenario-with- the-coap-protocol/ 26. Stresstesting an OpenDDS IoT scenario - https://iotprotocols.wordpress.com/2015/01/20/stresstesting-an-opendds-iot-scenario/ 27. A performance test of my MQTT scenario - https://iotprotocols.wordpress.com/2015/01/18/a-performance-test-of-my-mqtt-scenario/ 28. Comparing Performance of Web Service Interaction Styles: SOAP vs. REST - http://proc.conisar.org/2012/pdf/2208.pdf