criando um dispositivo iot do zero: hardware ... · • hardware netduino plus 2 • cliente...
TRANSCRIPT
Jorge Maia
Cientista da Computação;
20+ anos entre TI e Dev
Consultor Especialista em Desenvolvimento,
Arquitetura e ALM
Empreendedor e desenvolvedor de produtos
e dispositivos IoT;
www.jorgemaia.com.br
Agenda
Internet das Coisas
O que precisamos para criar nosso
dispositivo
Nosso dispositivo codificado
Internet das Coisas
“Coisas conectadas,
conversando entre si, sem
intervenção de humanos”
“Surgiu em 1999, criado por
Kevin Ashton (MIT)”
“Meados de 1980,
Carnegie Mellon University, Pensilvânia."
https://www.cs.cmu.edu/~coke/history_long.txt
Previsões
Segundo o Gartner:
0
5
10
15
20
25
30
2013 2014 2015 2020
Bilhões de CoisasConectadas
http://www.gartner.com/newsroom/id/2905717
Vamos ao Trabalho
Conexão (meio) com a WEB
Hardware
Comunicação / Forma de Troca de informações
Cliente, Dashboard, …
Dispositivo
Hardware
Pense sempre em começar por uma plataforma de desenvolvimento
– Benchmarks confiáveis
– Comunidade
– Possibilidade de prototipar e iniciar produção sem re-trabalho
Escolha a plataforma / ferramenta
de acordo com seu projeto, não
se apaixone pelas tecnologias e
marcas!
Comunicação?
APIs? HTTP?
Serviços de dados móveis de
nuvens?
Protocolos lightweight?
http://tinkerman.eldiariblau.net/the-rentalito/
MQTT
• “Message Queue TelemetryTransport” (Fila de transporte de mensagens de telemetria)
• Criado em 1999 pelo Dr. Andy Stanford-Clark da IBM e Arlen Nipper da Arcom (hojeEurotech)
• Protocolo para troca de mensagens M2M/IOT
• Comunicação Assíncrona• Extremamente leve e simples
de ser implementado• Usa um modelo que envolve
um “Broker” e um “Client”
Fonte:
http://mganis.blogspot.com.br/
MQTT
• Desenvolvido para dispositivos com restrição de banda de comunicação
• Muito utilizado em conexões com localizações remotas, aplicações mobile.
Fonte: https://www.ibm.com/developerworks/community/blogs/c565c720-fe84-4f63-873f-
607d87787327/entry/tc_overview?lang=en
MQTT• O protocolo MQTT inclui:
– Padrão publish/subscribe que provê distribuição de mensagens de um-para-muitos e desacoplamento de aplicações
– Transporte de mensagem sem preocupação com o conteúdo da mensagem
– Uso de TCP/IP para conexão básica de rede– Mecanismo para avisar aos “interessados” sobre uma desconexão
anormal de um cliente– Header de 2 bytes;– Três níveis de QoS para entrega de mensagens:
Fonte: http://www.eureka-
time.com/fr/author/loughlin/
RSMB
• “Really Small Message Broker”
• Broker de mensagens MQTT produzido pela
IBM
• O RSMB permite fazer a conexão com outros
brokers RSMB assim como com outros
servidores que usem o MQTT
• Ocupa apenas 80 KB de HD e 200 KB ou
menos de RAM, fazendo-o ideal para
aplicações em ambientes de pouca memória
Mosquitto
• O Mosquitto é um outro Broker, com
funções semelhantes as do RSMB, ou
seja um broker de MQTT
• Projeto Eclipse, o Mosquitto é open
source
Demonstração
• Vamos demonstrar um semáforo simples.
• Utilizando MQTT como protocolo para troca de informações
• Broker RSMB rodando em uma Worker Role no Microsoft Azure
• Hardware netduino plus 2
• Cliente ASP.NET MVC