1IoT - Internet de Todas As Coisas
1IoT - Internet de Todas As Coisas
1IoT - Internet de Todas As Coisas
TODAS AS COISAS
INTERNET DE
TODAS AS COISAS
FEDERAÇÃO DAS INDÚSTRIAS DO ESTADO DO PARANÁ (FIEP)
Carlos Valter
Presidente da Federação das Indústrias do Paraná
Carlos Valter
Superintendente Áreas Corporativas
FIGURA 27 – EXIBIÇÃO DAS CONFIGURAÇÕES DA REDE LOCAL________ 51 FIGURA 43 – ORGANIZAÇÃO DAS CAMADAS NO PADRÃO OSI_________ 89
FIGURA 29 – CONSTELAÇÃO DE SATÉLITES DO SISTEMA GPS__________ 55 FIGURA 45 – BRAÇO ROBÓTICO INDUSTRIAL MARCA KUKA MODELO KR
QUANTEC ULTRA____________________________________ 95
FIGURA 30 – MÓDULO GPS NEO 6M_______________________________ 56
FIGURA 46 – RAIO (DIREITA) E NUVEM DE TRABALHO (ESQUERDA)
FIGURA 31 – ANTENA CONECTADA AO MÓDULO GPS NEO 6M_________ 57
DE UM BRAÇO ROBÓTICO_____________________________ 96
FIGURA 32 – FORMATO DE SENTENÇA NMEA________________________ 58
FIGURA 47 – ELOS E JUNTAS EM UM BRAÇO ROBÓTICO_______________ 97
FIGURA 33 – SISTEMA VSAT DE COMUNICAÇÃO_____________________ 61
FIGURA 48 – ÓRGÃOS TERMINAIS DO BRAÇO ROBÓTICO______________ 97
FIGURA 34 – LDR (LIGHT DEPENDENT RESISTOR)____________________ 62
FIGURA 49 – EXATIDÃO E REPETIBILIDADE__________________________ 97
FIGURA 35 – PROJETO ARDUINO COM LDR_________________________ 63 FIGURA 50 – PUNHO DO BRAÇO ROBÓTICO________________________ 98
FIGURA 36 – SENSOR DE TEMPERATURA LM35______________________ 64 FIGURA 51 – UNIDADE DE CONTROLE_____________________________ 99
FIGURA 37 – MONTAGEM DO CIRCUITO____________________________ 64 FIGURA 52 – DISPOSITIVOS DE PROGRAMAÇÃO_____________________ 100
FIGURA 38 – SENSOR DE PRESENÇA HC-SR501______________________ 66 FIGURA 53 – COORDENADAS CARTESIANAS________________________ 101
FIGURA 39 – LIGAÇÃO DO SENSOR HC-SR501 À PLACA ARDUINO UNO__ 67 FIGURA 54 – COORDENADAS CILÍNDRICAS_________________________ 101
FIGURA 40 – PINAGEM DO SENSOR HC-SR501_______________________ 67 FIGURA 55 – COORDENADAS ESFÉRICAS OU POLARES________________ 102
LISTA DE QUADROS
FIGURA 56 – COORDENADAS DE REVOLUÇÃO OU ARTICULADO________ 102
FIGURA 57 – ROBÔ SCARA_______________________________________ 103
FIGURA 58 – PROGRAMAÇÃO PONTO A PONTO_____________________ 107
FIGURA 59 – MODELO DE SENSOR ENCODER ÓPTICO(ESQUERDA) E
QUADRO 1 – TIPOS DE SENSORES E SUAS APLICAÇÕES_______________ 14
SENSOR ENCODER MAGNÉTICO (DIREITA)_______________ 109
FIGURA 60 – SERVOMOTOR DO ROBÔ MARCA KUKA MODELO KR150___ 110 QUADRO 2 – CARACTERÍSTICAS RISC E CISC________________________ 24
FIGURA 63 – TELA DO MONITOR SERIAL MOSTRANDO A CONEXÃO QUADRO 4 – DESCRIÇÃO DOS PINOS DO MÓDULO ESP8266EX________ 44
AO SERVIDOR MQTT_________________________________ 119
QUADRO 5 – LISTA DE COMANDOS AT_____________________________ 44
FIGURA 64 – TELA MQTT UTILITY E MONITOR SERIAL ARDUINO________ 120
QUADRO 6 – DESCRIÇÃO DOS PINOS DO MÓDULO HC-05_____________ 48
2.4 GATEWAY__________________________________________________ 17
RECAPITULANDO____________________________________________ 120
REFERÊNCIAS______________________________________________ 121
Movimento Sensor eletromecânico Sensores analógicos enviam sinais que variam de forma contínua,
Sensor óptico em intervalos de valores máximos e mínimos. Por exemplo, um sensor
Sensor indutivo de temperatura envia um sinal mínimo de 5 mV para indicar uma
Sensor capacitivo temperatura de 0 °C; à medida que a temperatura aumenta, o valor
Sensor ultrassônico do sinal também se eleva continuamente, até alcançar a temperatura
Medida de massa Células de carga ambiente de 24 °C, quando seu sinal terá o valor de 10 mV. A Figura 1
Medida de temperatura Termistores mostra um gráfico gerado por este tipo de sinal.
Termopar
5 Sinal (V)
Temp (ºC)
0
24
Figura 1 - Gráfico de um sinal analógico
Fonte: SENAI DR PR, 2019
Nem todos os sinais possuem comportamentos lineares como o da
5
figura. Alguns podem apresentar outros perfis de comportamento, mas, na Tempo
0
sua grande maioria, os sinais possuem uma grande faixa de comportamento
Figura 2 - Gráfico de sinal digital
linear, possibilitando prever seu comportamento de forma mais simples.
Fonte: SENAI DR PR, 2019
São exemplos de sensores analógicos: sensor indutivo, sensor
Sensores digitais fornecem a informação de dois estados, ligado
de temperatura, sensor capacitivo, sensor ultrassônico e sensor de
ou desligado. Este tipo de comportamento é muito útil em sensores
intensidade luminosa.
que identificam posicionamento ou passagem de objetos ou pessoas,
2.1.2 Sensores de sinal digital engrenagens ou mecanismos.
Sensores de sinal digital enviam sinais discretos, ou seja, possuem Sensores tipo chave liga-desliga (eletromecânicos) e sensores
apenas dois estados para o valor de seu sinal. Por exemplo, um sensor ópticos são exemplos de sensores que enviam sinais digitais.
citar uma válvula industrial pela qual passa determinado líquido. 28T/12T
Engrenagens
Quando a válvula recebe uma informação de um sensor, indicando que helicoidais
versátil em projetos de IoT. Na Figura 3 podemos observar a estrutura de Manusear atuadores durante o seu funcionamento pode causar
um servomotor, que converte a rotação do eixo do motor em rotação de ferimentos sérios. Certifique-se de que todo o sistema está desligado
hastes que podem atuar mecanicamente em um sistema. antes de manipulá-lo.
melhorar a eficiência do sistema. Existem quatro modelos que são os Figura 4 – Configuração de comunicação dispositivo-dispositivo
Fonte: SENAI DR PR, 2019.
indicados para a comunicação dos dispositivos IoT.
ºC
Bluetooth
IEEE 802.11
IEEE 802.15.1
ºC
2.6.4 Compartilhamento de dados
Usualmente dispositivos IoT armazenam informações em um único
DISPOSITIVO COM DISPOSITIVO COM
SENSOR DE SENSOR DE MONÓXIDO servidor de aplicação. Entretanto, em algumas situações, é necessário
TEMPERATURA DE CARBONO
analisar ou comparar dados que estão em outras localizações. Assim,
Figura 6 – Configuração dispositivo - Gateway
podemos ter a necessidade de compartilhar, por exemplo, as medidas
Fonte: SENAI DR PR, 2019.
enviadas por um sensor de luminosidade com três servidores de
aplicação, como mostra a figura.
SERVER - B
a comunicação entre dispositivos medidores de temperatura,
SERVER - A instalados no chão de fábrica da empresa, e a nuvem de dados a
SERVER - B
qual a empresa utilizaria para acessar os valores das medidas. Para
SERVER - A
SERVIDOR DE APLICAÇÃO C
resolver este problema, a equipe utilizou a estrutura de configuração
SERVER - A
Dispositivo-Nuvem, na qual os sensores utilizavam protocolos
de comunicação para enviar dados pela rede local, e esses dados
SERVER - C
ficariam disponíveis para acesso de qualquer ponto da empresa.
SERVER - C
SERVER - C
SERVER - C RECAPITULANDO
Neste capítulo, aprendemos sobre classificação de sensores digitais
Figura 7 – Configuração de compartilhamento de dados
Fonte: SENAI DR PR, 2019
e analógicos e o comportamento dos sinais em função de cada tipo.
Abordamos o funcionamento de atuadores, muito utilizados em soluções
de IoT por substituírem a ação humana em processos que exigem
intervenção de natureza mecânica. Também aprendemos sobre as
diferentes formas de interconectarmos dispositivos, definindo a estrutura
mais apropriada para cada tipo de aplicação IoT, de forma a otimizar a
interface com o usuário e utilizar adequadamente a conexão com a rede.
Automatizar um processo requer uma sequência lógica de ações. Um microcontrolador se diferencia de outros componentes eletrônicos
Para isso devemos estruturar o caminho a ser seguido no processo. A por necessitar de um programa que o faça “funcionar”. Logo, um
humanidade, desde a antiguidade, busca formas de automatizar as mais microcontrolador não é componente eletrônico com apenas uma função,
diversas atividades, sempre utilizando as técnicas e ferramentas mais mas com várias possibilidades de funcionamento. Suas aplicações
apropriadas disponíveis. dependem do desenvolvimento de sequências lógicas que irão guiar
seu comportamento. Então, podemos dizer que o número de aplicações
A evolução da ciência e, consequentemente, da tecnologia nos
práticas do microcontrolador é limitado pela criatividade do programador.
permitiu avançar de automações basicamente mecânicas e elétricas
para automações com a aplicação de dispositivos eletrônicos, que Sua utilização é ampla, no controle de processos da indústria,
causaram uma revolução na forma em que aplicamos a automação em equipamentos eletrodomésticos, controles de acesso e muitas
de processos. outras aplicações.
Os microcontroladores são exemplos de dispositivos, mais Para entendermos o princípio de funcionamento dos
apropriadamente chamados componentes, que fazem uso de técnicas microcontroladores, iremos, neste capítulo, conhecer sua estrutura
de processos eletrônicos para controlar diversos tipos de periféricos. básica, entender as funções das partes principais e sua programação.
• memória interna: quando todos os blocos de funções são Modo de endereçamento Pouca variedade Muita variedade
executados internamente; Acesso a dados Via registradores Via memória
• memória externa: quando nem todos os blocos de funções são Quadro 2 - Características RISC e CISC
executados internamente, necessitando de memória externa. Fonte: ADAPTADO DE BRITO, 2014.
Outro tipo de classificação é o padrão de instruções: No Quadro 2, podemos observar as principais diferenças entre as
• CISC: Complex Instruction Set Computer, quando uma única duas arquiteturas. No caso dos microcontroladores, a utilização da ar-
instrução complexa substitui um conjunto de instruções quitetura RISC se justifica pelo menor número de endereços e a pou-
menores. ca variedade de modos de endereçamento, o que simplifica muito o
• RISC: Reduced Instruction Set Computer, quando várias instruções processamento. Processadores com arquitetura RISC são aplicados em
menores são utilizadas. projetos menores, resultando em menores custos. Ou seja, é um proces-
sador voltado para projetos mais simples, como dispositivos portáteis.
Program RAM
RA2/AN2/VREF-
RA3/AN3/VREF+
microcontrolador, versão PDIP.
Memory 8 Level Stack
(13-bit) File RA4/T0CKI
Registers RA5/AN4/SS
Program
14 PORTB
5V (RUN)
RAM Addr (1) 9
Bus
Addr MUX
RB0/INT PROG (13,4V)
RB1
Instrucon reg
RB2 CRISTAL RESET (OV)
Direct Addr 7 Indirect 5V
8 Addr RB3/PGM
RB4
(MHz)
FSR reg RB5 PORTC PORTE PORTA
RB6/PGC
A5
A4
A3
A2
A1
A0
E2
E1
E0
STATUS reg
D1
D0
C3
C2
C1
C0
RB7/PGD
8
PORTC
RC0/T1OSO/T1CKI
3
20
19
18
17
16
15
14
13
12
11
10
MUX RC1/T1OSI/CCP2
9
8
7
6
5
4
3
2
1
Power-up
Timer RC2/CCP1
Instrucon Oscillator RC3/SCK/SCL
Decode & Start-up Timer RC4/SDI/SDA
Control
Power-on
Reset 8
ALU RC5/SDO
RC6/TX/CK PIC16F877
Timing Watchdog RC7/RX/DT
W reg
Generaon Timer PORTD
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
OSC1/CLKIN Brown-out RD0/PSP0
OSC2/CLKOUT Reset RD1/PSP1
In-Circuit RD2/PSP2
C4
C5
C6
C7
D2
D3
D4
D5
D6
D7
B0
B1
B2
B3
B4
B5
B6
B7
Debugger RD3/PSP3
Low-Voltage RD4/PSP4
Programming Parallel Slave RD5/PSP5
Port RD6/PSP6 PORTC 5V PORTB
RD7/PSP7 PORTD
PORTE
MCLR VDD, VSS RE0/AN5/RD
RE1/AN6/WR
Figura 9 - Microcontrolador PIC Modelo 16F877
RE2/AN7/CS
Timer0 Timer1 Timer2 10-bit A/D Fonte: SENAI DR PR, 2019
CASO RELATADO
Microcontroladores em satélites
RECAPITULANDO
O satélite universitário ITASAT, desenvolvido por professores e alunos
do Instituto Tecnológico de Aeronáutica e de outras universidades Neste capítulo conhecemos algumas características dos microcon-
brasileiras, em 2006, propôs a utilização de um microcontrolador para troladores, as partes que compõem sua estrutura interna, características
controlar uma unidade de condicionamento de energia, responsável
físicas gerais, suas aplicações em projetos eletrônicos e a importância
por controlar a potência da energia consumida pelo satélite. A opção
por um microcontrolador para desempenhar essa importante função que possuem no desenvolvimento de soluções de tecnologia. Aprende-
deve-se ao alto nível de flexibilidade e confiabilidade em controles mos também sobre o ambiente de programação e como é a organiza-
digitais, proporcionados pela arquitetura do microcontrolador, ção da estrutura de codificação. Como conclusão, abordamos o método
servindo como um novo tipo de tecnologia no desenvolvimento de
satélites nacionais. Anteriormente, esse tipo de controle era realizado mais comum para a gravação da programação no microcontrolador.
com circuitos analógicos em satélites desenvolvidos pelo INPE (Instituto
Nacional de Pesquisas Espaciais). Entre alguns modelos disponíveis, o
microcontrolador escolhido foi o 80C32E, da fabricante ATMEL, mas
Para que possamos compartilhar informações devemos utilizar Segundo a Arduino (2019), a primeira placa Arduino foi lançada
tecnologias para transmiti-las e recebê-las. Neste capítulo, apresenta- em 2005 com a intenção de ajudar estudantes de design, inexperientes
remos alguns padrões de conectividade de dados, utilizados nas mais em eletrônica e programação, a conectar protótipos do mundo real com
diversas áreas de telecomunicações. o mundo digital. Com o passar do tempo, a placa Arduino tornou-se re-
ferência para o desenvolvimento de projetos, dos mais simples aos mais
Arduino é uma plataforma livre, de hardware e software, projetada
complexos.
para a criação de projetos eletrônicos. É uma ferramenta simples e ver-
sátil que permite a criação de diversos projetos através da programação Neste capítulo, iremos explorar a utilização da placa Arduino, co-
de um dispositivo capaz de controlar suas portas, recebendo e enviando nhecer sua estrutura básica e saber como programá-la.
informações em formato digital ou analógico.
AREF
3 2 1 0 9 8 7 6 5 4 3 2 1 0
GND
1 1 1 1
RX
TX
Digital • Roxo: seleção do tipo de alimentação, pela porta USB ou
PWM2
PWM1
PWM0
USB
alimentação externa.
PWR
1
Q1
S1
Para a programação das portas digitais utilizamos o comando
SV1
ICSP
1
IC1
X1 POWER Analog in
ler dados dos pinos e digitalWrite() para enviar dados para os pinos.
5V Gnd 9V 0 1 2 3 4 5
Descrição dos pinos da Figura 17: A linguagem C é utilizada para a programação dos acionamentos
de cada porta da placa Arduino. O ambiente de programação é
• Laranja claro: pinos de referência GND;
disponibilizado pelo fabricante, tanto para download quanto para
• Laranja: pinos de alimentação 5V e 9V; programação via WEB. Os códigos programados para Arduino também
• Azul: entradas analógicas; recebem o nome de sketch.
1 // a função setup roda apenas uma vez quando você liga ou reseta a placa
2 void setup() { trolador PIC, no Capítulo 1, vemos que a estrutura de programação se
3 // Configura o pino digital de nome led_builtin como uma SAÍDA.
4 pinMode(led_builtin, OUTPUT); divide em duas partes: a primeira parte é a declaração de constantes,
5 }
6 variáveis e bibliotecas; a segunda parte é a estrutura de repetição em
7 // A função loop é executada várias e várias vezes repetidamente.
8 void loop() { loop infinito.
9 digitalWrite(led_builtin, HIGH); // Liga o led (high liga a energia pela porta)
10
11
delay(1000); // Espera por um segundo
digitalWrite (led_builtin, LOW); // Desliga o led cortando a energia da porta
O componente mais importante da placa Arduino é o seu
12
13
delay(1000); // Espera por um segundo
}
microcontrolador, que possui a mesma arquitetura apresentada no
Capítulo 1. A diferença está na estrutura de componentes padronizada
que cerca o microcontrolador da placa, que facilita muito sua utilização.
Quando compramos um componente microcontrolador, precisamos
13 Arduino/genuino Uno em COM4
desenvolver um circuito eletrônico, desenhar e fabricar uma placa de
Listagem 1 – Exemplo de código fonte Arduino circuito impresso, comprar outros componentes e conectores e depois
Uma ferramenta importante para utilizarmos no ambiente Arduino geralmente um caractere, para realizar uma leitura via monitor serial é
é o monitor serial. Com ele podemos verificar o comportamento do Serial.read(). Na Listagem 2, temos um exemplo de utilização do
projeto, solicitando na programação do sketch que seja enviada uma comando Serial.read().
mensagem de texto mostrando um resultado, como no exemplo:
Serial.println(ldrStatus);
A janela também exibe as configurações de velocidade de comuni- Figura 18 - Ambiente de desenvolvimento para Arduino
cação de 9600 baud, padrão para a maioria dos projetos. Permite ainda, Fonte: Arduino, 2019.
sketch_uc8
AREF
3 2 1 0 9 8 7 6 5 4 3 2 1 0
GND
1 1 1 1
RX
TX
Digital
PWM2
PWM1
PWM0
USB
PWR
Envia uma
1
O Arduino disponibiliza em seu site a descrição de todas as funções utilizadas mensagem ARDUINO lê Q1
S1
SV1
ICSP
1
a mensagem
D1
de texto
em suas placas. Você pode acessá-las pelo link: https://www.arduino.cc/
IC1
reference/en/#functions
5V Gnd 9V 0 1 2 3 4 5
às redes WiFi, portanto, aplicável a projetos de IoT. Podemos utilizá-lo da rede, interpretando, enviando e recebendo sinais da placa Arduino.
para realizarmos a comunicação de um microcontrolador ou uma placa
Arduino por meio de uma rede Wi-Fi. 4.4.1 Placa ESP8266EX
Na Figura 20, podemos observar um exemplo de conexão entre
O módulo consiste em uma pequena placa com dimensões de 2,1
um smartphone e uma placa Arduino.
X 1,3 cm, que possui, entre outras, as seguintes características técnicas:
Podemos observar que, mesmo sendo muito pequeno, o módulo placa Arduino, pois o ESP8266EX trabalha com tensão de 3,3V.
possui características técnicas importantes. A Figura 21 mostra a
SPI_CS2
U0RXD
aparência do módulo ESP8266.
POWER
COMM.
GPIO0
GPIO3
5
7
ONBOARD
ANTENNA
8 VCC
6 EXT_RSTB
4 CHIP_EN CH_PD
2 GPI01 U0TXD
Figura 21 - Módulo ESP8266EX
Fonte: ADAPTADO DE ESPRESSIF SYSTEMS, 2018.
1
Conforme a Espressif Systems (2018), os pinos do módulo não são
GPIO2
GND
padronizados para a placa Arduino, pois esse se destina a vários tipos de
aplicação, mesmo sem nenhuma placa de controle adicional, podendo Figura 22 - Pinos do módulo ESP8266EX
ser programado individualmente para executar determinadas funções. Fonte: ADAPTADO DE ESPRESSIF SYSTEMS, 2018.
Na Figura 22, podemos observar a disposição dos pinos do módulo, De acordo com o fabricante Espressif Systems (2018), a descrição
a antena integrada à superfície da placa, o LED que indica placa ligada das funções dos pinos da Figura 22 são mostradas no Quadro 4:
SAIBA MAIS
sketch_uc8
1 void setup()
2 { Você pode conhecer mais detalhes do módulo ESP8266 estudando um
3
4
Serial.begin(9600);
// Na linha abaixo, define a velocidade inicial do
projeto para sua utilização com uma placa Arduino. Dentre os vários
5 // módulo ESP8266 projetos disponíveis na WEB, um interessante é sobre a utilização de um
6 esp8266.begin(115200);
7 sendData(“AT+RSTrn”, 2000, DEBUG); smartphone para comunicar-se com uma placa Arduino UNO. Acesse o link
8
9
delay(1000);
Serial.println(“Firmware version”);
e entenda um pouco mais sobre IoT: https://create.arduino.cc/projecthub/
10 delay(3000); jeffpar0721/add-wifi-to-arduino-uno-663b9e?f=1
11 sendData(“AT+GMRrn”, 2000, DEBUG); // rst
12 // Na linha abaixo, define a velocidade de comunicaçãod do
13 // módulo ESP8266 (9600, 19200, 38400, etc.)
14 sendData(“AT+CIOBAUD=19200rn”, 2000, DEBUG);
15 Serial.println(“** Final **”);
16 }
GND
EN
RX
TX
VCC
STATE
Figura 24 - Funções dos pinos do módulo HC-05
Fonte: ADAPTADO DE ARDUINO, 2019.
Figura 23 - Módulo HC-05 Bluetooth
Fonte: ELETROGATE, 2019.
O módulo da Figura 23 pode ser utilizado em diversos tipos de
dispositivos IoT. Seu alcance médio é de 10 metros. A comunicação de
um módulo Bluetooth pode ser feita de duas formas: modo mestre ou
modo escravo.
1 #define ledPin 7
2 int state = 0;
3 ção nos dias atuais é um fato novo na tecnologia. Hoje está presente em
4 void setup() {
5
6
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);
muitos espaços públicos e privados.
7 Serial.begin(38400); // Velocidade padrão de comunicação do módulo Bluetooth
8 }
9 Além dos padrões de comunicação por RF, ou wireless (sem fio), a
10 void loop() {
11
12
if (Serial.available() > 0){ // Checa se há dados vindo pela porta serial
state = Serial.read(); // Lê os dados da porta serial forma mais básica de nos conectarmos a uma rede é via ligação física,
13 }
14
15 if (state == '0') {
por meio de um cabo de sinal de rede.
16 digitalWrite(ledPin, LOW); // Desliga o LED
17 Serial.println("LED: OFF"); // Envia a mensagem "LED: OFF" para o telefone
18 state = 0; Em muitos dispositivos de IoT utilizaremos comunicações sem fio,
19 }
20
21
else if (state == '1') {
digitalWrite(ledPin, HIGH);
nos padrões de comunicação que acharmos necessários para cada apli-
22 Serial.println("LED: ON");
23 state = 0; cação, mas em alguns casos podemos utilizar dispositivos estáticos, que
24 }
25 }
não precisarão ser deslocados ou transportados, e que estarão próximos a
servidores de rede. Nestes casos, podemos utilizar uma placa de conexão
via cabo de rede para nos comunicarmos com outros dispositivos.
25 Arduino/genuino Uno em COM4
Listagem 4 - Exemplo de código arduino para comunicação Bluetooth De acordo com os dados do fabricante do chipset da placa, WIZnet
Nas linhas 11,12,17 e 22 podemos observar a utilização do coman- Co. (2008), a placa W5100 é um adaptador Ethernet de comunicação
do Serial para enviar e receber as informações, em formato de dados, do com redes de protocolo TCP/IP, velocidade 10/100 Mb e conexão RJ45,
módulo Bluetooth. que utiliza um cabo de sinal proveniente da rede local para se conectar
sketch_uc8
1 #include <SPI.h>
2 #include <Ethernet.h>
3 // Endereço MAC do shield de Ethernet acoplado ao Arduino
4 byte mac[ ] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
5 IPAddress ip(10, 0, 0, 20); // Endereço IP: muda de acordo com a rede
6 EthernetServer server(80); // cria um servidor na porta 80
Figura 27 - Exibição das configurações da rede local 7
8 void setup()
Fonte: WINDOWS, 2019 9 {
10 Ethernet.begin(mac, ip); // Inicializa o dispositivo de Ethernet
Na Figura 27, são mostradas as configurações de endereço IP, 11 server.begin(); // Começa a “escutar os clientes”
12 }
submáscara de rede e gateway. Essas serão utilizadas para configurarmos
a programação da utilização do shield de rede w5100.
intensidade. SCK
SDA
11 void setup() {
SDA Interface de comunicação SPI (seleção de direção) 12 SPI.begin(); // abre a conexão SPI
13 mfrc522.PCD_Init(); // Inicializa o dispositivo de acoplamento por proximidade
Além dos satélites do sistema GPS, existem muitos outros tipos, Figura 30 - Módulo GPS NEO 6M
com as mais diversas funções. Um tipo de satélite artificial também Fonte: ARDUINO, 2019.
muito utilizado é o satélite para telecomunicações. Com este tipo Para que o módulo GPS funcione adequadamente, devemos
de satélite podemos compartilhar informações com locais que não conectá-lo a uma antena, pois os sinais de RF provenientes dos satélites
possuem infraestrutura para redes de dados e internet. são de baixa potência e a antena auxilia na melhora da recepção dos
Para integrarmos a localização por GPS em um projeto de IoT, sinais de RF. Na Figura 31 podemos observar um modelo de antena
podemos utilizar o módulo GPS Neo 6M. Este módulo possui pequenas apropriada para o módulo.
dimensões e um custo acessível, sendo de fácil implementação em
qualquer projeto. Na Figura 30, é mostrado o módulo GPS Neo 6M.
Figura 31 - Antena conectada ao módulo GPS NEO 6M A Listagem 7 mostra um exemplo de código para localização GPS
Fonte: LIMA, 2018. utilizando o módulo em uma placa Arduino UNO.
Para conectarmos o módulo a um projeto de IoT, devemos conhe-
cer as funções dos pinos para conectá-los às portas corretas da placa
Arduino ou qualquer outro sistema que utilize o módulo. No quadro
abaixo, são mostradas as funções dos pinos do módulo Neo 6M.
1
2
/*
Rui Santos
ne Electrinics Association); esta padronização de sentença permite que
3
4
Detalhes do Projeto completo em: https://randomnerdtutorials.com
*/ possamos identificar e separar as informações enviadas pelo módulo.
5
6
7
#include <SoftwareSerial.h>
Na Figura 32, podemos observar um exemplo de formato dos dados en-
8 // Conexão serial com o módulo de GPS
9 SoftwareSerial ss(4, 3); viados ao monitor Arduino.
10
11 void setup(){
12 Serial.begin(9600);
13 ss.begin(9600);
14 }
15
16 void loop(){
17 while (ss.available() > 0){
18 // Recebe os dados do GPS
19 byte gpsData = ss.read();
20 Serial.write(gpsData);
21 }
22 }
O satélite é o componente mais crítico em um sistema VSAT. Figura 33 - Sistema VSAT de comunicação
Fonte: SENAI DR PR, 2019.
Havendo problemas em um de seus painéis solares ou no seu sistema
Os satélites de comunicação comerciais podem operar em três
de geonavegação, a comunicação fica impossibilitada. Com isso, a
bandas distintas mostradas no quadro, cada uma das bandas apresenta
tecnologia aplicada em satélites é a mais avançada, tentando minimizar
um tipo de problema característico, implicando em uma desvantagem
falhas técnicas durante sua vida útil.
para cada tipo de banda.
A Figura 33 mostra um exemplo de sistema de comunicação VSAT.
Banda Downlink Uplink Problemas
C 3,7 a 4,2 GHz 5,92 a 6,42 GHz Vulnerável a interferências terrestres
Ku 11,7 a 12,2 GHz 14,0 a 14,5 GHz Bloqueio de sinal por chuva
Bloqueio de sinal por chuva e
Ka 17,7 a 21,7 GHz 27,5 a 30,5 GHz custo elevado do equipamento
GND
RX0 -0
SCL
50A
AREF
~11
13
12
~10
~9
8
7
~6
~5
4
~3
2
TX0 1
L
RESET
IOREF
x
Gnd
Gnd
3V3
VIN
A2
A3
A4
A0
A5
A1
sketch_uc8 | Arduino 1.8.10
5V
Arquivo Editar Sketch Ferramentas Ajuda
sketch_uc8
Componentes:
15 Serial.println(ldrStatus);
16 }
17 else {
• Resistor de 10 kΩ
• Resistor de 220 Ω
• LED 22 Arduino/genuino Uno em COM4
GND
RX0 -0
SCL
50A
AREF
~11
13
12
~10
~9
8
7
~6
~5
4
~3
2
TX0 1
LM35 é muito utilizado para essa finalidade, por ser de simples ligação e
RESET 1
ICSP2
10
15
20
25
30
1
5
F G H I J
L
de baixo custo. Ele é do tipo analógico e utiliza uma faixa de tensões para
TX
RX ON
LM
35
1
informar as diferentes temperaturas do ambiente no qual está inserido.
A B C D E
ICSP
RESET
IOREF
Gnd
Gnd
3V3
VIN
A2
A3
A4
A0
A5
A1
5V
Figura 37 - Montagem do circuito
Fonte: ADAPTADO DE ARDUINO, 2019.
22 tempc = tempc/8.0;
• Arduino UNO
23 tempf = (tempc * 9)/ 5 + 32;
24 if (tempc > maxtemp) {maxtemp = tempc;}
25 if (tempc < mintemp) {mintemp = tempc;}
26
• Protoboard 27
28
if (tempc < 25)
{
29 digitalWrite(13, HIGH);
• Resistores de 330 Ω 30
31
digitalWrite(12, LOW);
digitalWrite(11, LOW);
32 }
• Resistor de 1 kΩ 33
34
if (tempc > 28)
{
35 digitalWrite(12, HIGH);
• LM35 36
37
digitalWrite(13, LOW);
digitalWrite(11, LOW);
38 }
• LEDs
39
40 if ((tempc > 25) && (tempc < 28))
41 {
42 digitalWrite(11, HIGH);
Programamos a placa Arduino com o código da Listagem 10 43
44
digitalWrite(12, LOW);
digitalWrite(13, LOW);
abaixo.
45 }
46
47 Serial.print(tempc,DEC);
48 Serial.print(" Cels., ");
_ 49 Serial.print(tempf,DEC);
sketch_uc8 | Arduino 1.8.10 x 50 Serial.print(" Fahr. -> ");
Arquivo Editar Sketch Ferramentas Ajuda 51 Serial.print(" Min: ");
52 Serial.print(mintemp,DEC);
53 Serial.print(" Max: ");
sketch_uc8
54 Serial.println(maxtemp,DEC);
1 int pin = 0; 55
2 int samples[8]; 56 tempc = 0;
3 int maxtemp = -100,mintemp = 100; 57 delay(1000);
58 }
4 int i;
5
6 void setup()
7 {
8 Serial.begin(9600);
9 pinMode(13, OUTPUT);
10 pinMode(12, OUTPUT); 58 Arduino/genuino Uno em COM4
11 pinMode(11, OUTPUT);
12 }
13 Listagem 10 - Código Arduino para sensor LM35
14 void loop()
15 {
16 for (i = 0;i<=7;i++){
17 samples[i] = (5.0 * analogRead(pin) * 100.0) / 1024.0;
18 a.tempc = tempc + samples[i];
19 delay(100);
20
21
}
65 SENAI – SERVIÇO NACIONAL DE APRENDIZAGEM INDUSTRIAL DO PARANÁ
22 tempc = tempc/8.0;
23 tempf = (tempc * 9)/ 5 + 32;
No código podemos medir a temperatura em unidades Celsius e 4.9.3 Sensor de presença
Fahrenheit. A linha define o pino A0 como entrada de sinal analógico
do sensor LM35. A linha 14 define uma sequência de oito repetições O sensor de presença é utilizado quando desejamos monitorar
de leitura do sinal do sensor. Na linha 15, temos a conversão do sinal a passagem ou presença de uma pessoa que se desloca em uma
analógico convertido em sinal digital e o valor decimal entre 0 e determinada localização próxima ao sensor. O sensor de presença PIR
(Passive Infrared) é sensibilizado por radiação infravermelha, invisível ao
1023 convertido em valor decimal de medida de temperatura, que é
olho humano, mas emitida pela dissipação de calor, que ao ser detectada
armazenado na variável samples[i]. ]. A variável tempc armazena a
pelo sensor, faz com que ele acione um sinal indicativo em sua saída.
soma das oito medidas feitas durante a repetição.
O sensor de movimento modelo HC-SR501 é um tipo de sensor
Os LEDs estão ligados aos pinos 11, 12 e 13 da placa. Se a
de sinal digital, ou seja, indica apenas dois estados em sua saída: 0 V
temperatura for menor que 25° C, o LED da porta 13 permanecerá aceso.
(low), quando detecta movimento e 3,3 V (high), quando não detecta
Se a temperatura aumentar para a uma faixa de valores entre 25 e 27° C, movimento. Este sensor possui dois ajustes, ilustrados em laranja na
o LED da porta 11 acenderá. Finalmente, se a temperatura for maior que Figura 38, sendo que o da direita permite alterar sua sensibilidade e o
28° C, o LED da porta 12 acenderá. da esquerda o atraso de tempo.
Na linha 18, temos a média das temperaturas medidas em Celsius e
na linha 19 temos a variável tempf recebendo o resultado da conversão
do valor Celsius para Fahrenheit.
RX0 -0
SCL
50A
AREF
~11
13
12
~10
~9
8
7
~6
~5
4
~3
2
TX0 1
RESET 1
ICSP2
TX
RX ON
ICSP
POWER ANALOG IN
RESET
IOREF
Gnd
Gnd
3V3
VIN
A2
A3
A4
A0
A5
A1
5V
OUT 2
A linguagem C, criada em 1972 por Dennis Ritchie do Bell Os programas em C são formados por módulos ou peças,
Laboratories, destinava-se a escrever compiladores e sistemas chamadas funções. Podemos estruturar funções diferentes para formar
operacionais. Foi desenvolvida a partir de duas linguagens anteriores, um programa em C, mas também podemos utilizar as funções presentes
a BCPL e a B. Tornou-se muito popular na década de 70, quando ficou em suas bibliotecas padrão.
amplamente conhecida por ser a linguagem de desenvolvimento
Neste capítulo, aprenderemos sobre sua estrutura, suas instruções
do sistema operacional Unix e foi conquistando rapidamente várias
básicas e algumas estruturas de repetição.
plataformas de hardware, já que independe deste. (DEITEL, 2011)
tivas diferentes com base nos parâmetros e execute as condições dadas ≠ != X != Y X diferente de Y
FIQUE ALERTA!
1 if ( senha = 7 ){
2 printf("Acesso liberado");
Precisamos de um meio que nos permita enviar e receber dados, 6.1 NOMENCLATURAS DE REDE E INTERNET
simultaneamente, para que possamos compartilhar informações. Para
isso, utilizamos as estruturas de rede, que permitem nos conectar a Para entendermos melhor o funcionamento de uma rede, devemos
outros computadores. dividi-la em partes e utilizar nomes para identificar cada uma dessas
partes. Os nomes de cada parte são termos técnicos que qualquer
Tanto em redes locais como na utilização da WEB, as estruturas de
técnico ou engenheiro pode identificar.
rede permitem que um computador, em uma determinada localização,
conecte-se a outro que está localizado a poucos metros ou a milhares de
quilômetros da sua localização.
GND
RX0 -0
SCL
50A
AREF
~11
13
12
~10
~9
8
7
~6
~5
4
~3
2
TX0 1
RESET 1
ICSP2
NOTEBOOK
A Figura 41 mostra um exemplo de conexão entre uma rede local e a
L
TX DESKTOP / CABO
WIRELESS
RX ON
1
ICSP
internet. Na figura podemos observar que o limite entre a internet e a POWER ANALOG IN
RESET
IOREF
Gnd
Gnd
3V3
VIN
A0
A2
A3
A4
A5
A1
5V
rede local é o modem. ARDUINO
LIGA/DESLIGA
Você sabia que o endereço IP, além da sua representação decimal, na forma Diferente do endereço IP, o endereço MAC (Media Access Control)
como normalmente o conhecemos, como por exemplo 192.168.0.1, possui é único para qualquer dispositivo ou computador com capacidade de
também uma representação binária?
conexão de rede. É uma identificação física e inalterável, gravada na
Por exemplo, o endereço 192.168.0.1 é representado na sua forma binária
memória ROM do hardware da interface Ethernet. Esse tipo de endereço
como 11000000.10101000.00000000.00000001, ou seja, cada segmento
possui 1 byte de 8 bits, por isso é chamado octeto. Então, o endereço IP é útil para diferenciarmos sistemas físicos conectados em rede.
possui 4 octetos, com cada um deles podendo assumir valores decimais
entre 0 e 255.
6.1.4 HTML
HTML (Hypertext Markup Language) é uma linguagem utilizada
6.1.2 Network Address Translation (NAT) na internet para exibir páginas web. A linguagem HTML permite que
Os roteadores criam redes isoladas, fornecendo endereços IP sejam desenvolvidas interfaces interativas para usuários web. Dessa
locais aos computadores e dispositivos dessa rede. Para conectar um forma, os usuários podem acessar diferentes conteúdos interligados
computador ou dispositivo a redes externas, é preciso utilizar o NAT por links, dentro de uma mesma página web, bastando para isso clicar
através do roteador da rede local. O NAT permite que um computador nos disponíveis. O HTML representou uma revolução na forma como
externo à sua rede solicite uma conexão a um dispositivo local, acessamos os conteúdos da internet, por facilitar a navegação para
possibilitando que esse dispositivo receba ou envie informações. usuários sem muita experiência em informática.
FIQUE ALERTA! Conheça alguns detalhes sobre endereços IP e servidores DNS, acessando o
link e assistindo ao vídeo disponibilizado pela Khan Academy: https://www.
Ao conectarmos um dispositivo à uma rede com servidor DHCP, devemos khanacademy.org/computing/computer-science/internet-intro/internet-
desabilitar qualquer endereço IP fixo, pois este pode ser igual a um endereço works-intro/v/the-internet-ip-addresses-and-dns
que está sendo utilizado na rede do servidor DHCP a qual desejamos nos
conectar, podendo causar problemas de conexão nessa rede.
• PAN (Personal Area Network): redes de curto alcance e de baixo Em uma rede industrial podemos ter diferentes tipos de dispositi-
desempenho. Por exemplo, a conexão entre dois smartphones vos, sensores e computadores compartilhando a mesma rede, mas com
ou um smartphone e um computador; alguns protocolos de comunicação diferentes. A conexão e o gerencia-
• LAN (Local Area Network): redes onde as conexões são feitas em mento destes diferentes protocolos tornam as redes industriais mais
uma sala ou em um prédio. Possui extensão de até aproximada- complexas.
mente 200 metros;
Na Figura 42, temos a estrutura organizacional de uma rede indus-
• CAN (Campus Area Network): redes de alcance médio. Por exem- trial, disposta em forma de pirâmide, a qual é conhecida como Pirâmide
plo, a conexão entre dois prédios, com extensão de até aproxi-
da Automação. Por meio dela, são mostrados todos os níveis presentes
madamente 5 quilômetros;
em uma indústria e como eles se comunicam entre si através dos dife-
• MAN (Metropolitan Area Network): redes nas quais a comunica-
rentes protocolos de rede que podem estar presentes.
ção será efetuada entre locais diferentes em uma mesma cidade.
Possui extensão de até aproximadamente 50 quilômetros;
• WAN (Wide Area Network): redes de longa distância, nas quais
duas cidades distantes entre si, em quaisquer pontos do globo ter-
restre, comunicam-se. Possui extensão acima de 50 quilômetros.
Nível 5:
das informações. Permite a interpretação da informação e é a
camada responsável pela criptografia;
Administração de recursos da empresa. Gerenciamento
Neste nível encontram-se so ware para Corpora vo
gestão de vendas e financeira Mainframe Ethernet
MAC
Nível responsável pela programação e pelo planejamento
de produção, realizando o controle, agendamento e a
Nível 4:
Gerenciamento de planta
TCP/IP
• Camada de Sessão: responsável por controlar a comunicação
logísca de suprimentos. Workstaon Ethernet
MAC
TCP/IP
entre sistemas, agrupa mensagens, coordena a transferência de
Permite a supervisão e omização de processo. Nível 3:
Normalmente possui banco de dados com
informações relavas ao processo.
Supervisão
Workstaon, PC, IHM ControlNet, dados entre as camadas e sincroniza a troca de dados;
Profibus FMS,
Fieldbus HSE
• Camada de Transporte: responsável por gerenciar a comunicação
Nível onde se encontram os equipamentos que Nível 2:
executam o controle automáco centralizado Controle
ou não das avidades da planta. CLP, PC, CNC, SDCD
Fieldbus H1
Cada topologia deve ser aplicada conforme o tipo de rede que será Figura 44 - Topologia de redes
desenvolvida. Por exemplo, em uma rede doméstica, onde conectamos Fonte: SENAI DR PR, 2019.
computadores, smartphones e smartTVs à internet, utilizamos a topolo- Abaixo segue uma breve descrição das topologias da Figura 44:
gia Estrela, na qual um nó central gerencia a comunicação entre várias
• Topologia Estrela: todos os dispositivos ou computadores são
máquinas e o acesso à internet.
conectados a um nó central (hub), que controla toda a comu-
nicação, distribuindo os dados entre os dispositivos que funcio-
nam independentemente;
• Topologia em Anel: é um tipo de conexão ponto-a-ponto, na O técnico de TI de uma transportadora foi acionado para resolver um
qual cada dispositivo da rede é conectado a outro, fechando a problema de conexão de rede, no qual todo o departamento de emis-
conexão entre o último e o primeiro dispositivos, permitindo re- são de conhecimento de entrega havia sido afetado. Nenhum dos com-
dundância e continuidade; putadores do setor conseguia acessar a rede local, o que paralisou todo
o departamento.
• Topologia em Malha (Mesh): os dispositivos estão interligados
Ao chegar ao local, o técnico de TI, percebendo que todos os computa-
entre si por mais de uma conexão e existem vários caminhos que
dores estavam sem conexão, supôs que o problema estava concentra-
podem ser utilizados para enviar e receber dados, caso ocorra do em um único ponto da rede. Dirigiu-se com rapidez até o armário no
algum problema com a conexão entre os dispositivos; qual estava instalado o switch que interligava todos os computadores
• Topologia em Árvore (Hierárquica): os dispositivos estão inter- do departamento ao servidor principal da rede. Observou que todo o
painel indicador não mostrava nenhum tráfego e que os cabos estavam
ligados por uma estrutura hierárquica, onde há um nó central,
todos ligados corretamente. Dessa forma, o técnico desligou o switch
chamado também de raiz, que está ligado a todos os outros ele- e aguardou alguns segundos para religá-lo. Feito isso, o técnico pode
mentos da rede e sub-redes; observar que os LEDS do painel passaram a indicar o tráfego normal na
rede, indicando que o problema estava resolvido. Ao se certificar que
• Topologia Híbrida: o layout dos dispositivos é desenhado para
todos os computadores do departamento voltaram a acessar a rede, o
que se adequem a uma grande rede. É composta por duas ou
técnico pode concluir sua ordem de serviço.
mais topologias diferentes, como por exemplo, Barramento-Es-
trela, Anel-Estrela, e assim por diante.
A robótica, hoje largamente difundida, começou seu desenvol- 7.1 BREVE HISTÓRICO E EVOLUÇÃO
vimento tecnológico no século 20, com o objetivo de tornar possível
A origem da palavra robô é da palavra tcheca robotnik, que significa
a substituição da mão de obra humana em determinadas atividades
servo. O termo foi utilizado pela primeira vez em 1923, por Karel Copek,
na indústria.
fazendo referência a um homem mecânico, personagem de sua peça
Hoje a robótica está presente não somente na indústria, mas
teatral intitulada RUR (Rosumovi Univerzální Roboti), lançado no Brasil
em locais públicos, residências, estabelecimentos comerciais e onde
com o título A fábrica de Robôs. Há relatos da construção de autômatos
mais puder ser utilizada como ferramenta de trabalho.
antes do século XX, como homens mecânicos construídos por relojoeiros
Neste capítulo, vamos estudar os conceitos básicos dos sistemas para apresentações em feiras, no Japão da era medieval.
robóticos industriais que são referência para outros tipos de robôs.
Lei Zero: um robô não pode causar danos à humanidade, ou por omissão,
permitir que a humanidade corra riscos;
Primeira Lei: um robô não pode causar danos a nenhum ser humano, ou por
omissão, permitir que um ser humano corra riscos;
Primeira Lei: um robô deve obedecer às ordens dadas pelos seres humanos,
exceto quando estas ordens entrarem em conflito com a Primeira Lei;
Segunda Lei: um robô deve proteger sua própria integridade, desde que Figura 45 - Braço robótico industrial marca KUKA modelo KR Quantec ultra
para isso não ocorram conflitos com a Primeira e Segunda Leis.
Fonte: KUKA, 2019.
FIQUE ALERTA!
Elo
Elo
O órgão terminal é a ferramenta que será utilizada no braço ro- EXATIDÃO BOA EXATIDÃO BOA EXATIDÃO RUIM EXATIDÃO RUIM
REPETIBILIDADE BOA REPETIBILIDADE RUIM REPETIBILIDADE BOA REPETIBILIDADE RUIM
bótico. Para cada função existe um órgão terminal específico. A Figura
Figura 49 - Exatidão e repetibilidade
48 mostra três exemplos de órgãos terminais. Fonte: SENAI DR PR, 2019.
P P
P
R R
R
Figura 56 - Coordenadas de revolução ou articulado
Fonte: SENAI DR PR, 2019.
Codificados como RRR (Rotacional-Rotacional-Rotacional), pos-
Figura 55 - Coordenadas esféricas ou polares
suem três juntas de revolução.
Fonte: SENAI DR PR, 2019.
Semelhante ao braço humano, esse tipo de coordenada foi Utilizado, geralmente, para trabalhos de montagem, possui duas
desenvolvido para atender às necessidades da indústria automobilística. juntas de revolução e uma deslizante. Possui menor área de trabalho, se
Possui a maior área de trabalho entre todas as coordenadas, mas com comparado ao modelo esférico, e seu terceiro eixo possui movimento
baixa rigidez mecânica. A Figura 56 mostra o arranjo das coordenadas linear vertical. É codificado como RRP (Rotacional-Rotacional-Prismático).
de revolução. A Figura 57 mostra os eixos do robô SCARA.
Detectam falhas em produtos, utilizando diversos tipos de sensores Podem ser robôs fixos, possuindo robustez para o transporte
para realizar a avaliação de inspeção. Podem detectar falta de peças ou local de cargas, ou podem ser robôs móveis, menores controlados
peças erradas em um conjunto. por sistemas automatizados para deslocar ferramentas, coleta e
armazenamento de cargas.
7.3.3.3 USINAGEM
7.3.3.7 MANIPULAÇÃO
Este tipo de robô realiza processos de usinagem, possuindo uma
ferramenta de corte como órgão terminal. São muito utilizados para a movimentação de peças pesadas,
em setores de fundição e forja, realizando empilhamento de material,
7.3.3.4 PINTURA
alimentação de máquinas e remoção de peças.
São utilizados em ambientes de trabalho mais insalubres, devido
à grande quantidade de elementos químicos suspensos no ar, pela CURIOSIDADES
dispersão da tinta no processo de pintura.
Atualmente, além das aplicações industriais, a robótica á aplicada em
7.3.3.5 SOLDAGEM funções domésticas. Existem robôs para as mais diversas aplicações, como
limpeza de animais de estimação, limpeza de pisos e piscinas, cortadores de
Realiza diversos tipos de soldagem. Muito aplicado na indústria grama, e muitos outros fins. Confira alguns tipos de robôs comercializados,
automobilística, aumenta a qualidade da solda devido ao alto grau de acessando o link: https://www.robotshop.com/en/
O termo conectividade significa, segundo o dicionário on- 8.1 PROTOCOLO MESSAGE QUEUING TELEMETRY
line Michaelis, a “Capacidade de um computador, de um programa, TRANSPORT (MQTT)
de um sistema operacional etc. de operar em rede”. Neste capítulo
O protocolo MQTT (Message Queuing Telemetry Transport) é um
adicionaremos a essa definição, a capacidade de dispositivos trocarem
protocolo para envio de mensagens curtas, que ocupam poucos bytes,
informações entre si, operando em uma rede. Nosso desafio é encontrar
criado pela IBM no final dos anos 1990. Este protocolo é indicado para
uma forma de comunicarmos dispositivos a grandes distâncias, utilizando
redes de conexões frágeis, com baixa largura de banda e limitação
como meio uma rede que permita essa comunicação. Alguns protocolos
de dados. Sendo assim, a finalidade deste protocolo é a de permitir
permitem realizar a conectividade entre dispositivos, como o REST
a troca de informações entre dispositivos menores e mais simples
(Representational State Transfer), OPC (Open Plataform Communications),
que os computadores, funcionando de forma robusta e permitindo
entre outros. O Protocolo que apresentamos neste capítulo é o MQTT
compartilhamento de informações entre dois ou mais dispositivos,
(Message Queuing Telemetry Transport), e surge como uma opção de
independente dos sistemas operacionais nativos de cada um.
conectividade com grandes vantagens em relação à simplicidade de
uso e campos de aplicação.
dispositivo pode conectar-se ao servidor e buscar as informações que pre- • Nível 1, modo padrão que faz com que a mensagem seja
cisa nos tópicos que forem necessários. entregue ao menos uma vez, podendo ser enviada várias vezes
até que chegue uma confirmação;
• Nível 2, garante que a mensagem seja entregue uma única vez,
armazenando-a até ser processada. Modo mais seguro, porém,
mais lento.
https://pubsubclient.knolleary.net/
1 #include <SPI.h>
menu superior: Sketch> Incluir Biblioteca> Adicionar biblioteca .ZIP. 2 #include <Ethernet.h>
3 #include <PubSubClient.h>
4
Terminado o processo, podemos inserir as instruções específicas, 5 int cont = 0;
6
nas linhas do código, para a utilização das funcionalidades do MQTT. 7 // Atualize estes dados de acordo com a configuração da sua rede.
8 byte mac[ ] = { 0xDE, 0xED, 0xBA, 0xFE, 0xFE, 0xED };
A tela do Monitor Serial deve ser ativada para que possamos visuali-
zar o status da conexão, conforme mostra a Figura 63. Preferencialmente
devemos ligar a placa Arduino à mesma rede do computador que utiliza-
mos para programá-lo para estarmos próximos à placa Arduino caso ocor-
ra algum problema de conexão ou ajuste de programação. Figura 63 - Tela do monitor serial mostrando a conexão ao servidor MQTT
Fonte: SENAI DR PR, 2019.
Após a realização dos testes iniciais, a placa Arduino pode ser ligada
A Figura 64 mostra a telemetria entre a placa Arduino UNO e o MQTT
fisicamente em outras redes, de locais mais distantes, para que possamos
Utility. Tanto a placa Arduino quanto o MQTT Utility estão conectados ao
verificar o funcionamento da telemetria, tendo em vista a necessidade de
mesmo servidor de serviço MQTT Podemos verificar pelo endereço IP
transmitirmos e recebermos informações a grandes distâncias.
no campo Broker TCP/IP address. Ao digitarmos o nome do tópico
test_senai no campo Subscribe Topic, podemos clicar em
Subscribe para recebermos a mensagem Hello Arduino publicadas
pela placa Arduino no tópico.
RECAPITULANDO
Iniciamos este capítulo conhecendo o protocolo de comunicação
MQTT e as aplicações para as quais foi desenvolvido. Em seguida, vimos
uma visão geral do funcionamento do protocolo, como dispositivos
podem trocar informações entre si através do Broker utilizando uma
identificação para as mensagens chamada tópico. Conhecemos com
mais detalhes o funcionamento do servidor MQTT (Broker), como realiza
o gerenciamento do recebimento e envio de mensagens e alguns
servidores disponíveis na Web. Aprendemos como o cliente do serviço
Figura 64 - Tela MQTT Utility e Monitor Serial Arduino MQTT se comunica com o Broker, enviando e recebendo mensagens,
Fonte: WMQTT UTILITY, 2019. com a utilização da ferramenta MQTT Utility. Conhecemos os três níveis
de serviço disponíveis para a qualidade de envio e recebimento de
A função do MQTT Utility é apenas mostrar que a placa Arduino mensagens pelo protocolo. Finalizamos o capítulo com a apresentação
está enviando e recebendo as mensagens publicadas no tópico. de um exemplo, disponível na biblioteca instalada no ambiente de
Podemos utilizar duas placas Arduino para receber e enviar mensagens desenvolvimento Arduino, com o qual utilizamos um Arduino UNO, com
entre si. Como as mensagens são trocadas em forma de string, Shield Ethernet, para troca de mensagens com um Broker.
ANATEL, Ato nº 14448, de 04 de dezembro de 2017. Disponível em : BLUM, Jeremy. Explorando o Arduino: Técnicas e Ferramentas para
<http://www.anatel.gov.br/legislacao/atos-de-requisitos-tecnicos-de- Mágicas de Engenharia. Rio de Janeiro: Alta Books, 2016.
certificacao/2017/1139-ato-14448> Acesso em 21/08/2019
COMPONETS. Disponível em: <https://components101.com/wireless/
ARDUINO BASICS, Weather Reporter - Temboo, Ethernet e Arduino, hc-05-bluetooth-module>. Acesso em 21/08/2019
2015. Disponível em : <https://arduinobasics.blogspot.com/search/
DEITEL, Paul; DEITEL, Harvey C: como programar. 6 ed. São Paulo:
label/UTFT> Acesso em 22/08/2019
Pearson Prentice Hall, 2011.
BRITO, Alisson Vasconcelos. Introdução a Arquitetura de Computadores.
ELETROGATE. Disponível em: <https://www.eletrogate.com/modulo-
Disponível em: http://producao.virtual.ufpb.br/books/edusantana/
bluetooth-rs232-hc-05>. Acesso em 21/08/2019
introducao-a-arquitetura-de-computadores-livro/livro/livro.chunked/
Acesso em: 15/08/2019
ESPRESSIF SYSTEMS. ESP8266EX Datasheet. 2018. Disponível em:
< https://www.espressif.com/sites/default/files/documentation/0a-
BUNGART, José Wagner. Redes de Computadores: fundamentos e
esp8266ex_datasheet_en.pdf> Acesso em: 25/05/2019.
protocolos. São Paulo: SENAI, 2017.
H. Tschofenig ARM Ltd et al.INTERNET ARCHITECTURE BOARD (IAB). MICROCHIP INC. PIC16f87X Data Sheet 28/40-Pin 8-Bit CMOC FLASH
Architectural Considerations in Smart Object Networking. 2015. Microcontrolers. DS3029C. 2001. Disponível em: < http://ww1.microchip.
Disponível em: < https://tools.ietf.org/html/rfc7452 > Acesso em: com/downloads/en/devicedoc/30292c.pdf> Acesso em: 29/05/2019.
03/06/2019.
NTC, Robôs De Soldagem OTC-Daihen. Disponível em: <http://npfets.
IBM INTERNATIONAL TECHNICAL SUPPORT ORGANIZATION. Building ru/catalog/all_manuf/robotu_otc_daihen/>. Acesso em: 21/08/2019.
Smarter Planet Solutions with MQTT and IBM WebSphere MQ Telemetry.
RANDON NERD TUTORIALS, Understanding NMEA Sentences.
SG24-8054-00. 2012. Disponível em: < https://www.redbooks.ibm.com/
Disponível em: <https://randomnerdtutorials.com/guide-to-neo-6m-
redbooks/pdfs/sg248054.pdf> Acesso em: 29/05/2019.
gps-module-with-arduino/>. Acesso em: 21/08/2019.
LEÃO, Fabrício. Redes de Computadores I – Disponível em <https://www.
ROSÁRIO, João Maurício. Princípios de Mecatrônica. São Paulo: Prentice
gta.ufrj.br/grad/02_2/vsat/introducao.htm> Acesso em: 21/08/2019.
Hall, 2005.
LIMA, Isabelle, Aprenda a utilizar o módulo GPS com Arduino.
ROSÁRIO, João Maurício. Robótica Industrial I: modelagem, utilização e
Disponível em : < http://autocorerobotica.blog.br/aprenda-utilizar-o-
programação. São Paulo: Baraúna, 2010.
modulo-gps-com-arduino/>. Acesso em 21/08/2019.
Elizandro Deflon
2008 Licenciado em Física pela Universidade Federal do Paraná – como técnico responsável pela manutenção e atualização de sistema de
UFPR. 2017 Tecnólogo em Automação Industrial pela Universidade automação de pedágio, comunicação via rádio e sistema de pesagem
Tecnológica Federal do Paraná – UTFPR . Na área de pesquisa participou rodoviária. Atuou também na área de automação comercial e sistemas
da publicação de artigos nas áreas de Física do Estado Sólido e de de impressão e leitura de código de barras. Interesses nas áreas de IoT
Ensino de Física em Escolas Públicas. Na área de automação trabalhou (Internet das Coisas) e Automação na Indústria 4.0.
Vanessa Sorda Frason Erica Luz de Souza Ricardo Luiz Freire de Menezes
Gerente de Educação Profissional Orientação Pedagógica Projeto Gráfico