Redes de Comunicacao para IoT: mudanças entre as edições
Linha 35: | Linha 35: | ||
Os '''dispositivos sensores e atuadores''' geralmente são '''restritos em termos de processamento, memória e consumo de energia'''. Portanto, dependendo da aplicação e do ambiente onde ficará localizado o sensor ou atuador, diferentes tecnologias de enlace podem ser utilizadas, como: | Os '''dispositivos sensores e atuadores''' geralmente são '''restritos em termos de processamento, memória e consumo de energia'''. Portanto, dependendo da aplicação e do ambiente onde ficará localizado o sensor ou atuador, diferentes tecnologias de enlace podem ser utilizadas, como: | ||
*'''Ethernet''' ou '''Wifi''', para ambientes internos | *'''Ethernet''' ou '''Wifi''', para ambientes internos e dispositivos com boa capacidade de processamento e provimento de energia; | ||
*'''Bluetooth''' ou '''Bluetooth Low Energy''' ('''BLE'''), para curtas distâncias; | *'''Bluetooth''' ou '''Bluetooth Low Energy''' ('''BLE'''), para curtas distâncias e baixa taxa de transmissão; | ||
*'''LoRaWAN''' (''Long Range – Wide Area Networks''), para ambientes externos e longas distâncias, como nas aplicações de agricultura; | *'''LoRaWAN''' (''Long Range – Wide Area Networks''), para ambientes externos e longas distâncias, como nas aplicações de agricultura; | ||
*'''IEEE 802.15.4''', como as redes '''Zigbee''', para ambientes industriais. | *'''IEEE 802.15.4''', como as redes '''Zigbee''', para ambientes industriais. |
Edição das 12h34min de 25 de janeiro de 2022
Redes de Comunicação para IoT
Conceitos sobre Internet das Coisas
A ideia principal da Internet das Coisas (IoT) é conectar coisas (sensores, atuadores, dispositivos, máquinas, pessoas etc) e realizar o armazenamento e processamento de dados na nuvem da Internet para fins de monitoramento e controle.
Os requisitos fundamentais para monitorar coisas em qualquer lugar do mundo são: identificação única para as coisas; habilidade de sensoriamento (ou atuação) de alguma informação sobre as coisas; habilidade de comunicação entre as coisas e a Internet e habilidade de controle e gerenciamento das coisas [1].
Uma Arquitetura para Internet das Coisas
Com o intuito de conectar coisas, poderíamos pensar numa arquitetura em camadas como ilustrado na figura:
(adaptado de [1])
Proposta de arquitetura em quatro camadas para Internet das coisas:
- Na primeira camada desta arquitetura estariam os dispositivos sensores e atuadores transmitindo (ou recebendo) pequenas mensagens de dados diretamente ou até gateways conectados a Internet.
- A segunda camada seria a camada de conectividade em rede para Internet das Coisas, transportando dados entre os dispositivos e a nuvem da Internet. A conectividade em rede pode envolver subsistema de computação em névoa, com processamento descentralizado entre dispositivos próximos.
- A terceira camada seria uma plataforma de serviços para Internet das Coisas, comumente hospedada na nuvem da Internet, conectando as coisas com as aplicações e provendo mecanismos e ferramentas para gerenciamento e tratamento das informações. Esta plataforma pode também utilizar dados de outras fontes ou sistemas para complementar as informações coletadas pelos sensores.
- A quarta camada seria a camada de aplicação, dedicada a uma aplicação específica, para operar e fornecer a interface usuário a um sistema de Internet das Coisas.
Arquitetura Internet
As aplicações Web que conhecemos são suportadas pela arquitetura Internet com quatro camadas de protocolos:
- Camada de enlace/física, responsável pela comunicação entre computadores diretamente conectados através de um enlace, normalmente implementada numa interface de rede, como nas redes locais Ethernet ou Wifi.
- Camada de rede, cujo principal componente é o protocolo IP.
- Camada de transporte, com os protocolos TCP e UDP.
- Camada de aplicação, cada qual com seu protocolo específico, como por exemplo o protocolo HTTP da aplicação Web.
Limitações da arquitetura Internet para Internet das Coisas
- Na Internet das Coisas muitos dispositivos sensores e atuadores são restritos em termos de processamento, memória e consumo de energia, o que limita a capacidade de implementar a pilha completa dos protocolos da Internet em cada dispositivo [2].
- O modelo cliente/servidor, comumente utilizado na Web, não é apropriado para as aplicações de Internet das Coisas. Na Internet das Coisas os dados fluem em um sentido, dos sensores para a Internet, ou em sentido contrário no caso de atuadores. Além disto, podemos ter múltiplos sensores e também múltiplas aplicações com interesse na informação dos sensores. Portanto, o modelo de comunicação mais apropriado para este tipo de aplicação é o modelo publicador/subscritor, como no protocolo MQTT.
Protocolos de Comunicação para IoT
Camada de Enlace para sensores e atuadores
Os dispositivos sensores e atuadores geralmente são restritos em termos de processamento, memória e consumo de energia. Portanto, dependendo da aplicação e do ambiente onde ficará localizado o sensor ou atuador, diferentes tecnologias de enlace podem ser utilizadas, como:
- Ethernet ou Wifi, para ambientes internos e dispositivos com boa capacidade de processamento e provimento de energia;
- Bluetooth ou Bluetooth Low Energy (BLE), para curtas distâncias e baixa taxa de transmissão;
- LoRaWAN (Long Range – Wide Area Networks), para ambientes externos e longas distâncias, como nas aplicações de agricultura;
- IEEE 802.15.4, como as redes Zigbee, para ambientes industriais.
Camada Rede para IoT
Um dos requisitos fundamentais para monitorar coisas é termos uma identificação única para cada dispositivo. Muitas aplicações de Internet das Coisas utilizam identificação de objetos usando RFID (Radio Frequency Identification) [6], a qual permite identificar objetos a partir de informações gravadas em uma tag. A tag é formada por um microchip com informações gravadas e uma antena para receber e transmitir sinal. O leitor lê as informações gravadas na tag por meio de um rádio transmissor e receptor e passa para um programa para análise do código RFID.
Entretanto, caso seja necessário conectar cada dispositivo à Internet será necessário um endereço IP para cada dispositivo. Assim, surge a necessidade de se utilizar a última versão do protocolo IP, o IPv6, o qual possui endereçamento suficiente para os bilhões, ou mais, de dispositivos de Internet das Coisas [6, 7].
Por outro lado, caso o dispositivo seja limitado para implementar a pilha completa de protocolos da Internet, o mesmo pode enviar seus dados a um gateway intermediário, que por sua vez encaminha as informações a nuvem da Internet. Neste caso, os dispositivos são identificados por seus respectivos gateways na Internet. Outras tecnologias de rede que podem ser utilizadas para conectar gateways remotos a Internet são as redes de telefonia móvel, como 4G e 5G.
Para os dispositivos que utilizem as redes sem fio IEEE 802.15.4 e precisem se comunicar através da Internet, é necessário adaptar o pacote da camada de rede para que o mesmo possa ser transportado por um quadro da camada de enlace. Para tanto, foi desenvolvido o padrão 6LowPAN [6, 7] que adapta o IPv6 para as limitações de tamanho do quadro impostas pelas redes IEEE 802.15.4.
Camada de Transporte para Internet das Coisas
A camada de transporte da Internet é baseada nos protocolos TCP e UDP. O TCP é o principal protocolo utilizado na Web. É um protocolo orientado a conexão, que utiliza reconhecimentos e retransmissões para oferecer um serviço de transmissão garantida de informações. Estas características do TCP não são adequadas para a comunicação entre os dispositivos da Internet das Coisas [6]. Por exemplo, para um sensor que envia periodicamente dados de uma grandeza medida, a perda de um dado pode não ser crítica, uma vez que a informação é redundante em função do número de medidas realizadas.
Portanto, na Internet das Coisas, a comunicação entre dispositivos pode ser mais eficiente com o uso do protocolo UDP. Uma mensagem transmitida pelo protocolo UDP é simplesmente enviada. Não há reconhecimentos ou retransmissões. Esta característica é conhecida como melhor esforço (best effort).
Camada Aplicação para Internet das Coisas
Como comentado na introdução desta seção, o modelo cliente/servidor comumente utilizado na Internet não é apropriado para as aplicações de Internet das Coisas.
Para aplicações de Internet das Coisas o modelo de comunicação mais apropriado é o publicador/subscritor, como utilizado no protocolo MQTT (Message Queue Telemetry Transport) [4, 6, 7], o qual é descrito na subseção 1.
Por outro lado, caso seja necessária uma comunicação direta com um dispositivo de Internet das Coisas utilizando o modelo cliente/servidor, um protocolo alternativo é o CoAP (Constrained Application Protocol) [6, 7], descrito na subseção 2.
Referências
- ↑ 1,0 1,1 Ammar Rayes & Samer Salam. Internet of Things From Hype to Reality: The Road to Digitization, Springer, 2019.
- ↑ Francis da Costa. Rethinking Internet of Things: A scalable approach to connecting everything. Apress Open, 2013.
Evandro.cantu (discussão) 17h29min de 24 de janeiro de 2022 (-03)