criando um dispositivo iot do zero: hardware ... · • hardware netduino plus 2 • cliente...

35
CRIANDO UM DISPOSITIVO IOT DO ZERO: HARDWARE, COMUNICAÇÃO E SERVIÇOS NA WEB

Upload: phungthien

Post on 03-Apr-2018

233 views

Category:

Documents


3 download

TRANSCRIPT

CRIANDO UM DISPOSITIVO IOT DO ZERO:

HARDWARE, COMUNICAÇÃO E SERVIÇOS NA

WEB

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

@CrazyTechGuys

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

Enquanto Isso na Vida Real

Vamos ao Trabalho

Conexão (meio) com a WEB

Hardware

Comunicação / Forma de Troca de informações

Cliente, Dashboard, …

Dispositivo

Co

nex

ão

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

Arduino e seus “filhos”

Raspberry Pi

Spark Core

Spark Eletron

Intel Galileo

LilyPad Arduino

Escolha a plataforma / ferramenta

de acordo com seu projeto, não

se apaixone pelas tecnologias e

marcas!

Sensores

Placa para protótipos e projetosGlobalcode IoT Surfboard

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/

Aplicação

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

Nosso Hardware

Demonstração

http://jorgemaiaqconsp.azurewebsites.net

Muito Obrigado!

@jorgemaiawww.jorgemaia.com.brFacebook.com/jorgeasmaia