O documento apresenta uma palestra sobre Internet das Coisas usando Azure como backend. É descrito o contexto da Internet das Coisas e apresentados os dispositivos Netduino e Arduino, além dos protocolos MQTT e RSMB para comunicação entre dispositivos. É mostrado como usar o Azure para hospedar dados e serviços backend para aplicações da Internet das Coisas.
2. Sala 2
Palestrante
How to /
Tips & Tricks
Internet das Coisas
usando Azure como
backend
Jorge Maia
MCT
3. Agenda
• Contexto de Internet das Coisas
• O que usaremos
• Netduino (o dispositivo)
• Netduino plus 2
• SDK
• MicroFramework (Código)
• SDK beta para vs2013
• Azure(Backend)
• WorkerRole
• Website
• Passo a Passo
• Teste ao Vivo
4. Jorge Maia
Cientista da Computação;
20+ anos entre TI e Dev
Últimos 6 com uso de metodologias ágeis;
Especialista em Desenvolvimento, Arquitetura e ALM
Entusiasta de Hardware e sistemas reconfiguráveis;
Fundador do CrazyTechGuys;
6. Arduino
• Plataforma eletrônica Open-
Source, baseada em um conceito
de Software e Hardware de fácil
utilização.
• Desenvolvida para ser utilizada
por qualquer um que tenha
interesse em criar seu próprio
sistema hardware/software
(http://www.arduino.cc/ - tradução livre)
7. Arduino
• A partir do projeto original, foram criados diversos projetos (open-source
ou não, boards, Shields, periféricos), que podem ser usados nos mais
diversos projetos
• Ethernet
• Usb
• GPS
• GPRS
• Wi-Fi
8. NetDuino
• Placa Microcontrolada
• ST Micro 32 Bits
• 168 MHz
• 384 KB – Memória para codificação
• I/O digitais e analogicas;
• Leds e Push Button
• PWM e RS232
• Comunicação Ethernet
9. NetDuino
• 100% integrada ao Visual Studio
(2013 – beta 4.3)
• Micro Framework .Net 4.3
• Programação em C#
• Orientação a Objetos
• Facilmente utilizável e facilmente
“debugável”
• Custo Baixo Fonte: http://fabienroyer.wordpress.com/2012/04/04/nwazet-modules-for-netduino-go/
11. IOT (Internet of Things)
• Também chamada de IoE
(Internet of Everything)
• Objetos e aparelhos
ligados a Internet
• Informação, estado e
controle sobre objetos
• Comunicação entre
pessoas e dispositivos e
dispositivos-dispositivos
• Carros, Casas, Relógios,
Geladeiras (?)...
Fonte: http://edition.cnn.com/2013/05/02/travel/london-city-airport-internet-of-things/
12. 1999 ?
“Meados de 1980, Carnegie Mellon University, Pensilvânia."
14. IOT (Internet of Things)
• Google movimentou bastante
o mercado de IoT, ao comprar
a Nest, por U$ 3,2 Bi
• Termostato, detecção de
fumaça e carbono
• Nest tinha menos de 4 anos
• Nest Já Adquiriu a Dropcam...
15. IOT (Internet of Things)
• Alguns dos grandes players do
Mercado se movimentando, como a
Intel, com o lançamento do Quark
(microprocessador voltado para IoT).
• Além disso, lançaram a plataforma de
desenvolvimento Galileo.
• Windows Embedded – Build 2014
http://www.intel.com.br/content/www/br/pt/do-it-yourself
17. IOT (Internet of Things)
Arquitetura típica para aplicativos de IoT
http://msdn.microsoft.com/pt-br/magazine/hh852591.aspx
18. IOT (Internet of Things)
• Desafios
• Segurança dos dados
• Privacidade
• Infraestrutura de dados
• Futuro
• Miniaturização
• Diminuição de custos
• Teleoperações e
Telepresença
• Integração de Sensores
Fonte: http://itlaw.wikia.com/wiki/Internet_of_Things
20. MQTT
• “Message Queue Telemetry
Transport” (Fila de transporte de
mensagens de telemetria)
• Criado em 1999 pelo Dr. Andy
Stanford-Clark da IBM e Arlen
Nipper da Arcom (hoje Eurotech)
• 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/
21. 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
22. 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
• Três níveis de QoS para entrega de mensagens:
Fonte: http://www.eureka-time.
com/fr/author/loughlin/
23. RSMB
• “Really Small Message Broker”
• Broker de mensagens MQTT produzido de modo gratuito pela IBM (não
é “open Source”)
• 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
24. RSMB x Mosquitto
• O Mosquitto é um outro Broker, com funções semelhantes as do RSMB
• Controlado atualmente pela Eclipse, o Mosquitto é free e tem código
aberto
25. Backend ? Cloud?
• Necessitamos desconhecer a conexão (onipresença)
• Precisamos escalar
• Elasticidade
• Leve / Confiável
• Clientes por toda parte
29. Obrigado por sua
presença.
www.jorgemaia.com.br
www.facebook.com/jorgeasmaia
@jorgemaia
Notas do Editor
“At most once” (no máximo uma): as mensagens são entregues de acordo com as melhores condições da rede TCP/IP. Normalmente utilizado em comunicações com sensores onde não importa aquela leitura individual se a próxima será recebida logo em seguida
“At least once” (pelo menos uma): as mensagens tem sua entrega garantida, mas duplicatas podem ocorrer
“Exactly one” (exatamente Uma): Garantia de entrega de apenas uma mensagem. Normalmente usados em sistemas de pagamento, onde mensagens duplicadas ou a não chegada delas acarreta em perdas.