Protocolos de
Comunicação - Sistemas
Embarcados
Prof. Romulo Fagundes Cantanhede
Tópicos
Guardião Cloud
Protocolos de Comunicação:
HTTP
MQTT
CoAP
Guardião Cloud System
O que é?
Plataforma de IoT, que tem permite o controle e
recebimento de informações de dispositivos diversos.
Existe 3 tip...
Dispositivo de Coleta
Permite o recebimento de informações, em formato
variado, sem restrição de campos.
Podemos, por exem...
Controlar Dispositivos
Que tal ligar uma lâmpada remotamente? É possível
dizer em que estado, determinado dispositivo deva...
Disparar um Gatilho
Que tal detectar e realizar alguma ação em caso de
incêndio? Ou detectar a presença de uma pessoa?
Pod...
Dashboard
Informações do Projeto
Api Key - Número único vinculado ao projeto.
Prefixo - Será utilizado na sequência para criação de
c...
O que precisa?
Se cadastrar! Com diversos planos, dentre eles
Gratuito.
API de Serviço - Use os dados como quiser.
Boa doc...
Protocolos de Comunicação
Protocolo - HTTP
RFC 2616
Protocolo simples de ser implementado e utilizado.
Em IoT, para leitura de informações, se utili...
Exemplo HTTP - Coleta
$ curl -X GET 'http://127.0.0.1:3000/collect/
WBS0007/?apiKey=69f827f9-512d-4b4e-8867-
d761c4fb9ce3&...
Exemplo HTTP - Atuador
$ curl -X GET 'http://127.0.0.1:3000/actuator/
WBS0002/?apiKey=69f827f9-512d-4b4e-8867-
d761c4fb9ce...
Exemplo HTTP - Gatilho
$ curl -X GET ‘http://127.0.0.1:3000/trigger/
WBS0008/on/?apiKey=69f827f9-512d-4b4e-8867-
d761c4fb9...
Protocolo - MQTT
Sem RFC - Muito simples para tanto…(site).
Utiliza TCP, porta 1883.
Baseado em um modelo de Publisher/Sub...
Protocolo MQTT - App
Para utilizar o MQTT é possível utilizar o app:
Mosquitto:
Possui lib para Python: paho-mqtt
App nati...
Protocolo MQTT - Pub
mosquitto_pub -h 127.0.0.1 -u
“romulo.fagundes@gmail.com” -P
“69f827f9-512d-4b4e-8867-d761c4fb9ce3” -...
Protocolo MQTT - Sub
mosquitto_sub -h 127.0.0.1 -u
"romulo.fagundes@gmail.com" -P
"69f827f9-512d-4b4e-8867-d761c4fb9ce3" -...
Protocolo MQTT
As listas disponíveis pelo Guardião, são:
/collect/ - Alterar e coletar dados.
/trigger/ - Alterar e acompa...
Protocolo - CoAP
RFC 7252.
Utiliza UDP porta 5683.
Baixo consumo de energia e banda.
Recomendado para IoT e M2M.
Imagine o...
Protocolo - CoAP - App
É possível instalar o coap-cli, utilizando Node.JS.
O Guardião implementa apenas 2 métodos do CoAP:...
Exemplo CoAP - Envio
coap put coap://127.0.0.1/gcs/WBS/collect/WBS0007
-p ‘{“data”:{"temperatura":10,"umidade":
30,"lumino...
Exemplo CoAP - Acompanhar
coap get coap://127.0.0.1/gcs/WBS/collect/WBS0007
-p ‘{"auth":{"apiKey":"69f827f9-512d-4b4e-8867...
Dúvidas?
Próximos SlideShares
Carregando em…5
×

Protocolos de Sistemas Embarcados

531 visualizações

Publicada em

Apresentado os protocolos de sistemas embarcados, tais como HTTP, MQTT e CoAP usando como base o Guardião Cloud System.

Publicada em: Tecnologia
1 comentário
4 gostaram
Estatísticas
Notas
  • Muito bom o conteúdo apresentado Romulo! Começarei a implementar em um projeto hoje a tarde.
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
Sem downloads
Visualizações
Visualizações totais
531
No SlideShare
0
A partir de incorporações
0
Número de incorporações
15
Ações
Compartilhamentos
0
Downloads
18
Comentários
1
Gostaram
4
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Protocolos de Sistemas Embarcados

  1. 1. Protocolos de Comunicação - Sistemas Embarcados Prof. Romulo Fagundes Cantanhede
  2. 2. Tópicos Guardião Cloud Protocolos de Comunicação: HTTP MQTT CoAP
  3. 3. Guardião Cloud System
  4. 4. O que é? Plataforma de IoT, que tem permite o controle e recebimento de informações de dispositivos diversos. Existe 3 tipos de dispositivos: Coleta de dados. Controlar dispositivos. Disparar gatilhos.
  5. 5. Dispositivo de Coleta Permite o recebimento de informações, em formato variado, sem restrição de campos. Podemos, por exemplo: Receber dados GPS. Receber dados de sensores de temp./hum. Receber dados de computadores e celulares.
  6. 6. Controlar Dispositivos Que tal ligar uma lâmpada remotamente? É possível dizer em que estado, determinado dispositivo deva estar. Podemos por exemplo: Ligar/desligar um relé a distância (sirene/lâmpada). Posicionar um servo motor.
  7. 7. Disparar um Gatilho Que tal detectar e realizar alguma ação em caso de incêndio? Ou detectar a presença de uma pessoa? Podemos por exemplo: Disparar um alerta em caso de presença de intruso. Disparar um alerta em caso de incêndio.
  8. 8. Dashboard
  9. 9. Informações do Projeto Api Key - Número único vinculado ao projeto. Prefixo - Será utilizado na sequência para criação de cada novo dispositivo.
  10. 10. O que precisa? Se cadastrar! Com diversos planos, dentre eles Gratuito. API de Serviço - Use os dados como quiser. Boa documentação: http://docs.guardiaocloud.com.br Diversos exemplo e propostas.
  11. 11. Protocolos de Comunicação
  12. 12. Protocolo - HTTP RFC 2616 Protocolo simples de ser implementado e utilizado. Em IoT, para leitura de informações, se utiliza do método GET e POST. Porém a mensagem HTTP, inclui várias informações no cabeçalho. Em condições e baixo consumo de banda, é desaconselhado.
  13. 13. Exemplo HTTP - Coleta $ curl -X GET 'http://127.0.0.1:3000/collect/ WBS0007/?apiKey=69f827f9-512d-4b4e-8867- d761c4fb9ce3&temperatura=10&humidade=20&lumin osidade=5' Dado Valor temperatura 10 humidade 20 luminosidade 5
  14. 14. Exemplo HTTP - Atuador $ curl -X GET 'http://127.0.0.1:3000/actuator/ WBS0002/?apiKey=69f827f9-512d-4b4e-8867- d761c4fb9ce3' {"state":43} {"state":1}
  15. 15. Exemplo HTTP - Gatilho $ curl -X GET ‘http://127.0.0.1:3000/trigger/ WBS0008/on/?apiKey=69f827f9-512d-4b4e-8867- d761c4fb9ce3' {“status”:true,”dateUpdated":"..."} on {“status”:false,”dateUpdated":"..."} off
  16. 16. Protocolo - MQTT Sem RFC - Muito simples para tanto…(site). Utiliza TCP, porta 1883. Baseado em um modelo de Publisher/Subscribe. Precisa de um broker e de simples conexão. Recomendado para IoT e M2M. MQTT é mais simples que o HTTP, em relação a tamanho de mensagem - economia de banda.
  17. 17. Protocolo MQTT - App Para utilizar o MQTT é possível utilizar o app: Mosquitto: Possui lib para Python: paho-mqtt App nativo, instalado através do pacote: mosquitto. mosquitto_pub - publicar mensagem. mosquitto_sub - inscrever mensagem.
  18. 18. Protocolo MQTT - Pub mosquitto_pub -h 127.0.0.1 -u “romulo.fagundes@gmail.com” -P “69f827f9-512d-4b4e-8867-d761c4fb9ce3” -t “WBS/ collect/WBS0007” -m ‘{“data”:{“temperatura”: 15,”humidade”:25,”luminosidade":10}}' O usuário (-u) é o login do projeto. A senha (-P) é a ApiKey do projeto. A lista (-t) é aonde os dados serão publicados. E os dados (-m) é os dados em formato JSON.
  19. 19. Protocolo MQTT - Sub mosquitto_sub -h 127.0.0.1 -u "romulo.fagundes@gmail.com" -P "69f827f9-512d-4b4e-8867-d761c4fb9ce3" -t "WBS/ collect/WBS0007" -v O usuário (-u) é o login do projeto. A senha (-P) é a ApiKey do projeto. A lista (-t) é aonde os dados serão acompanhados. Para exibir os dados no console, utilize o -v.
  20. 20. Protocolo MQTT As listas disponíveis pelo Guardião, são: /collect/ - Alterar e coletar dados. /trigger/ - Alterar e acompanhar gatilho. /actuator/ - Alterar e acompanhar dados de um atuador.
  21. 21. Protocolo - CoAP RFC 7252. Utiliza UDP porta 5683. Baixo consumo de energia e banda. Recomendado para IoT e M2M. Imagine o HTTP/REST, porém utilizando UDP.
  22. 22. Protocolo - CoAP - App É possível instalar o coap-cli, utilizando Node.JS. O Guardião implementa apenas 2 métodos do CoAP: GET - Acompanhar dados publicados. PUT - Enviar dados para coleta/alteração.
  23. 23. Exemplo CoAP - Envio coap put coap://127.0.0.1/gcs/WBS/collect/WBS0007 -p ‘{“data”:{"temperatura":10,"umidade": 30,"luminosidade":15},"auth": {"apiKey":"69f827f9-512d-4b4e-8867- d761c4fb9ce3","email":"romulo.fagundes@gmail.com"} }'
  24. 24. Exemplo CoAP - Acompanhar coap get coap://127.0.0.1/gcs/WBS/collect/WBS0007 -p ‘{"auth":{"apiKey":"69f827f9-512d-4b4e-8867- d761c4fb9ce3","email":"romulo.fagundes@gmail.com"} }' -o Realiza o acompanhamento (-o) para os dados que estão sendo enviados. Sendo enviar os dados(-p) apenas realizar a autenticação.
  25. 25. Dúvidas?

×