O documento apresenta um resumo das qualificações e experiências de Heider Lopes como professor e programador, com ênfase em tecnologias como IoT, mobile e APIs. Ele também fornece uma introdução sobre o que é IoT, como desenvolver soluções IoT, protocolos de comunicação como MQTT e ferramentas como Node-RED.
1. Heider Lopes
PROFESSOR/PROGRAMADOR
✓ Pós-graduado em Sistemas e Desenvolvimento Web, Bacharel em Sistemas
de Informação
✓ Desenvolvedor Fullstack
✓ Autor e coautor de artigos na área de desenvolvimento de software
✓ Mentor de projetos de tecnologias
✓ Apaixonado por tecnologia principalmente em temas relacionados a mobile,
IoT e Wearables
4. A “Internet das Coisas” se refere a uma revolução
tecnológica que tem como objetivo conectar os itens
usados do dia a dia à rede mundial de computadores.
O que é IoT?
18. Segundo Gartner até 2020 a previsão é que serão 20 bilhões de dispositivos
conectados, ou seja, cerca de 2,5 dispositivos por pessoa (considerando uma
população mundial estimada de 7,8 bilhões).
Em 2025, a Internet das Coisas pode gerar até US$ 200 bi por ano para o Brasil
em quatro áreas principais de destaque: saúde, agronegócio, cidades inteligentes
e indústrias. Até lá, o IoT deve gerar impacto econômico entre US$ 132 bilhões e
US$ 134 bilhões para o país.
Por que investir em IoT?
19. - Automatização de processos manuais
- Imagine um galpão com mais de 1 milhão de produtos, o gestor suspeita
de fraudes internas e solicita a contagem dos produtos. Os funcionários
terão de fazer manualmente todo o processo, com IOT ele pode usar
uma ferramenta, como um óculos ou uma caneta que se comunica com
as gôndolas.
Por que investir em IoT?
22. Nosso cenário
Backend: seria toda a estrutura interna: pilares, armação, vigas, tubulação de gás
e hidráulica, fiação elétrica, etc.
Frontend: seria toda parte visível: acabamento, pisos, pia, gesso e outros.
APIs: seriam as tomadas,
torneiras, mangueira do
gás e tudo que permite
instalar ou remover algo
com facilidade.
25. O protocolo de mensagens MQTT é projetado para um baixo consumo
de banda de rede e requisitos de hardware sendo extremamente
simples e leve.
Foi desenvolvido pela IBM e Eurotech e é projetado para enviar dados
através de redes intermitentes ou com baixa banda de dados, para
isto o protocolo é desenvolvido em cima de vários conceitos que
garantem uma alta taxa de entrega das mensagens.
É baseado no TCP/IP e ambos, cliente e broker, necessitam da pilha
TCP/IP para o seu funcionamento. O MQTT está na mesma camada
OSI que o HTTP, porém a maior diferença entre os dois protocolos é o
tamanho do payload.
No HTTP, o payload é maior, o que inviabiliza o seu uso em conexões
de baixa qualidade, como GSM por exemplo.
Protocolo MQTT (Message Queue Telemetry Transport)
30. É um back-end bastante intuitivo, com interface em blocos, baseado
em Node.js, que permite que você configure comunicações entre
dispositivos e serviços online.
Nodered
31. Acesse o terminal e digite:
node-red [-p PORTA]
Observação: A porta padrão dele é 1880
Rodando a aplicação
32. Acesse o browse e digite:
http://ip:porta
Por exemplo: http://localhost:1880
Acessando o Node-Red
33. Dê um duplo-clique em MQTT.
Ao abrir a janela à seguir, digite um tópico MQTT, deixe QoS como
está e dê um nome sugestivo, como por exemplo: Temperatura
Acessando o Node-Red
34. Clique no lápis para adicionar um novo broker. Você verá a seguinte
janela. Adicione o host, a porta do seu broker e deixe o Cliente ID em
branco (você pode colocar um ID para o cliente, se desejar, mas
deixando em branco ele gerará um bom nome).
Acessando o Node-Red
35. Próximo passo: dê um clique-duplo em function. Quando uma
mensagem é recebida pelo cliente, ela é convertida para json através
do bloco “json”, e então torna-se amigável. Dê um nome para a
função, e coloque o código como abaixo. Ele cria uma variável global
onde salva os dados recebidos do sensor.
Acessando o Node-Red
36. Dê um duplo clique na função e edite o código
Acessando o Node-Red
37. Criamos um JSON com as variáveis globais, serializamos,
adicionamos cabeçalhos para a resposta a requisição e retornamos
como JSON para o próximo bloco (os blocos se comunicam
basicamente por JSON).
Dê um duplo-clique em “http in”, e edite o nome que você deseja para
a requisição e o método (POST/GET).
Acessando o Node-Red
38. Agora é só acessar no seu browser no seguinte modelo, supondo que
você configurou o bloco http in para responder ao /temperatura:
Acessando o Node-Red