Estudos sobre IoT: mudanças entre as edições
Linha 123: | Linha 123: | ||
Arduino -> node-red-node-arduino | Arduino -> node-red-node-arduino | ||
Firebase -> node-red-contrib-firebase | Firebase -> node-red-contrib-firebase | ||
Mosca -> node-red-contrib-mqtt-broker | |||
===curl=== | ===curl=== |
Edição das 14h25min de 1 de junho de 2020
Estudos sobre Internet das Coisas (IoT- Internet of Things)
Estudos e experimentações sobre Internet das Coisas realizadas durante o Estágio de Pós-Doutorado na Pós Graduação em Automação e Sistemas da UFSC, por Evandro.cantu (2020).
Estudos sobre Internet das Coisas
Livros:
Internet das Coisas sem mistério
Página Wiki Internet das Coisas sem mistério com síntese do Livro (DIAS, 2016) [1].
Rethinking Internet of Things
Página Wiki Repensando a Internet das Coisas com síntese de algumas ideias do Livro (Costa, 2013) [2]
Internet of Things From Hype to Reality
Página Wiki Internet das Coisas do exagero a realidade com síntese de algumas ideias do livro (Rayes and Salam, 2019) [3].
Artigos:
Internet of Things - The role of reconfigurable platforms
Mapas Conceituais com síntese do Artigo (PEÑA etall, 2017) [4]
The Future of Industrial Communication
Artigo: (WOLLSCHLAEGER etal, 2017) [5]
Notas de síntese:
- A aplicação da IoT na área industrial criou o termo Indústria 4.0, o qual se refere a quarta revolução industrial, impulsionada pela tecnologias da Internet para criar produtos, linhas de produção e serviços inteligentes.
- No cenário da Indústria 4.0, além dos objetos inteligentes e do processamento na nuvem da Internet, as tecnologias de comunicação tem papel fundamental para a troca de informações entre os diferentes tipos de sensores, controladores e atuadores. Para isto, diferentes tipos de redes de comunicação podem ser combinadas, como as conhecidas redes Ethernet, Wifi, Bluetooth e os protocolos TCP/IP da Internet, assim como tecnologias específicas para troca de dados a longa distância entre sensores, como as redes LoRa (Long Rang), e as novas tecnologias de redes, como as redes Ethernet TSN (Time Sensitive Network) e a quinta geração de redes móveis de telecomunicações 5G.
- As primeiras redes de comunicação voltadas para a indústria foram chamadas de redes fieldbus, como as redes CAN e PROFIBUS. Com o desenvolvimento das tecnologias da Internet, os enlaces baseados nas redes Ethernet ganharam espaço, avançando também na área e industrial com desenvolvimentos específicos para atender a questão de tempo real, como as redes RTE (real-time Ethernet). Outra evolução importante foram as redes sem fio, como as redes IEEE.802.11 as redes WPAN (wireless personal area networks), como as IEEE.802.15.1 (Bluetooth) e IEEE.802.15.4 (Zigbee). O cenário atual das redes de comunicação na automação industrial é bastante complexo, com diferentes tecnologias sendo combinadas desde o chão de fábrica até a relação com os clientes.
- As redes Ethernet real-time tem se tornado comuns na automação industrial, entretanto, ainda não há um padrão único para tantas implementações. Os esforços de padronização a criação do grupo de trabalho sobre as TSN (Time Sensitive Network), voltadas ao ambiente industrial.
- Outro cenário para a Indústria 4.0 é a organização da produção geograficamente distribuída, a qual vai requerer redes geograficamente distribuídas, apontando, portanto, para o uso das redes móveis 5G também no meio industrial.
Deep Learning and Reconfigurable Platforms in the Internet of Things
Artigo: (MOLANES etal, 2018) [6]
Notas de síntese:
- A medida a IoT se populariza a discussão se volta em como transformar em conhecimento o vasto conjunto de dados (big data) coletados dos dispositivos. Para análise de grandes volumes de dados a Inteligência Artificial pode ser de grande ajuda. Vários algoritmos bem conhecidos de aprendizagem de máquina (machine learning) podem ser aplicados em problemas de IoT, como sistemas fuzzy, redes neurais, máquinas vetoriais e outros. Além disto, as plataformas programáveis FPSoC (field-programmable system-on-chip) e FPGA (field-programmable gate array) podem incrementar muito as capacidades dos dispositivos de IoT. Estes dispositivos permitem balancear a capacidade de processamento entre processadores e lógica reconfigurável, aumentando a capacidade e velocidade de processamento.
Industrial Wireless Networks
Artigo: (VITTURI etal, 2013) [7]
Notas de síntese:
- As redes sem fio tem ganho importância significativa no contexto dos sistemas de comunicação industriais, trazendo diversos benefícios, como a supressão do cabeamento e alcançando dispositivos de difícil acesso. Além dos problemas de interferência eletromagnética nas comunicações sem fio nos ambientes industriais, outro ponto importante para a comunicação na indústria são as restrições temporais. Em muitas aplicações industriais a resposta dos sistemas deve obedecer a rígidas restrições temporais e valores mínimos de jitter (variação do atraso) entre pacotes de comunicação.
- Alguns padrões vem sendo adotados na indústria, como as redes IEEE 802.15.4 WPAN (Wireless Personal Area Network), e o IPv6 sobre as redes pessoais sem fio de baixa potência 6LoWPAN (low-power wireless personal area networks). Outro ponto de destaque são as interfaces sem fio para sensores e atuadores, a qual implementam protocolos mestre escravo esplorando a camada física do IEEE 802.15.1 WPAN (Bluetooth).
- O artigo analisa as restrições temporais para as redes sem fio industriais e confronta com as características das tecnologias existentes. As redes IEEE 802.11 também são analisadas, uma vez que são também empregadas em algumas aplicações industriais.
Trade-offs involved in the choice of cloud service configurations when building secure, scalable, and efficient Internet-of-Things networks
Artigo: (MISHRA etal, 2020) [8].
Notas de síntese:
- Sensores do ambiente são controlados pelo ESP8266, o qual coleta dados e envia, via rede sem fio, através do protocolo MQTT, para um Raspberry Pi que atua como hub de sensores.
- O hub de sensores envia os dados através do protocolo HTTP a um Web Service e banco de dados MySQL, rodando num Ubuntu hospedado nuvem da Amazon Web Services (AWS).
The Internet of Things Grows Artificial Intelligence and Data Sciences
Mapas Conceituais com síntese do Artigo: (Stracener etal, 2020) [9]
Notas de síntese:
- Trata da importância da Inteligência Artificial em projetos de IoT aplicados as plantas industriais com controle críticos, como as plantas de gás e óleo. Em geral, estes sistemas automatizados de IoT geram montanhas de dados, os quais podem ser analisados e processados de forma mais eficiente com sistemas de Inteligência Artificial.
- O uso da IoT na automação da manufatura envolve três etapas:
- Uso dos dispositivos de IoT disponíveis nos equipamentos de produção, adicionando novos sensores onde for necessário, para criar uma infraestrutura que produza os dados necessários.
- Criar gateways para conectar os sensores receber, organizar e armazenar os dados de IoT localmente ou em uma plataforma em nuvem.
- Uma vez que os dados estejam padronizados e armazenados eles podem ser acessados por ferramentas analíticas sobre a plataforma de IoT.
Tecnologias e Ferramentas para Internet das Coisas
MQTT
Página Wiki sobre protocolo MQTT.
O MQTT (Message Queue Telemetry Transport) é um protocolo de mensagens para sensores e pequenos dispositivos móveis, baseado no modelo Publicador/Subscritor, ideal para aplicações de Internet das Coisas, em particular para a comunicação máquina a máquina (M2M - Machine to Machine). O MQTT trabalha no topo da pilha de protocolos TCP/IP.
Mosquitto
Página Wiki sobre brocker Mosquitto.
O Mosquitto é um brocker MQTT open source, que pode ser utilizado desde computadores de placa única até servidores.
MQTT e Mosquitto: Analise do protocolo com Wireshark
Nesta página Wiki estão descritos experimentos visando a análise do protocolo MQTT e brocker Mosquitto utilizando captura de mensagens com Wireshark.
MQTT e Arduino
Nesta página Wiki estão descritos experimentos utilizando um Arduíno e a biblioteca MQTT para comunicação com um brocker Mosquitto.
Node-RED
É uma ferramenta de programação Low Code, voltada para Internet das Coisas, que permite interligar dispositivos físicos, ambientes de desenvolvimento de software e serviços em nuvem.
Site: knolleary: Words and things by Nick O'Leary
- Instalação no Ubuntu
- Instalando com npm (comando do node.js)[10]
sudo npm install -g --unsafe-perm node-red
- Instalação com Docker
docker run -it -p 1880:1880 --name mynodered nodered/node-red
- Instalação de módulos no node-red
- Menu
Manage palette -> Install -> Search
- Módulos sugeridos para instalação:
Arduino -> node-red-node-arduino Firebase -> node-red-contrib-firebase Mosca -> node-red-contrib-mqtt-broker
curl
O curl é uma ferramenta em linha de comando para interação com serviços Web, podendo ser utilizada para transferência de dados.
Livro: Everything curl.
Computação em Nuvem
Computação em nuvem se refere a um modelo que provê acesso sobre demanda a recursos computacionais disponíveis através da rede Internet.
- Categorias de serviços de computação em nuvem (Clould Computing)
- SaaS: Software como Serviço
- PaaS: Plataforma como Serviço
- IaaS: Infraestrutura como Serviço
Fog Computing
Fog Computing refere-se a uma plataforma integrada de computação, armazenamento e serviços de rede que são altamente distribuídos e virtualizados. Esta plataforma pode ser estendida até a localidade dos dispositivos de IoT e gateways, trazendo serviços de computação próximo ao local onde são produzidos (p.ex. sensores) ou consumidos (p. ex. atuadores).
FireBase
O Firebase é uma plataforma de computação em nuvem para desenvolvimento de aplicativos para dispositivos móveis e para Web, mantida pela Google.
- Firebase Realtime database
- Implementa um banco de dados NoSQL que fornece as aplicações clientes atualizações em tempo real (“realtime” updates) quando os dados mudam na base de dados.
Operações básicas no banco de dados:
- set() - Salva dado em uma referência específica, substituindo o valor anterior.
- push() - Adiciona dado em uma lista de valores.
- once() - Lê dado de uma referência e acompanha qualquer mudança no mesmo.
AWS
AWS é uma plataforma de serviços de computação em nuvem oferecida pela Amazon.com.
Docker
Página Wiki sobre contêineres Docker.
Docker é um Contêiner, que é uma unidade padronizada de software que permite aos desenvolvedores isolar suas aplicações do meio no qual vai rodar.
Alpine Linux
Distribuição Linux minimalista, simples e segura (Alpine: Small. Simple. Secure.), ideal para dispositivos embarcados com hardware reduzido.
Ver exemplo de uso de alpine no Docker.
NGINX
Tecnologias para Websites
Redes de Comunicação para Internet das Coisas
Camada Enlace
LLN (low-power and lossy networks)
Muitos desenvolvimentos em IoT utilizam tecnologias de enlace desenvolvidas para dispositivos com limitações de processamento, memória e energia, referidas como redes LLN (low-power and lossy networks). Fazem partes das redes LLN as tecnologias de enlace IEEE 802.15.4, Bluetooth, Low Power Wi-Fi, ou PLC (Power-Line Communication).
IEEE 802.15.4
Página Wiki sobre IEEE 802.15.4e Shield XBee para Arduino.
As redes padronizadas IEEE 802.15.4 estão focadas em soluções de comunicação sem fio com baixa taxa de transmissão e baixo consumo de energia, com destaque para a tecnologia Zigbee.
LoRa WAN
Página Wiki sobre LoRa WAN.
LoRa WAN (Long Range) é uma rede sem fio de baixa potência para longas distâncias, bastante utilizada para conectar dispositivos para Internet das Coisas.
WSN
WSN (Wireless Sensor Network), ou Redes de Sensores Sem Fio, são redes interligando sensores e outros dispositivos remotos dispersos espacialmente e são responsáveis com monitorar e eventualmente controlar as condições do ambiente. O hardware de cada sensor possui componentes para realizar o sensoreamento, capacidade de processamento e interface de comunicação.
Camada Rede
IPv6
Página Wiki sobre IPv6.
6LowPAN
Página Wiki sobre 6LowPAN
Adapta a camada rede da Internet, em particular para IPv6, para as limitações de tamanho do quadro impostas pelas redes LLN.
Time-Sensitive Networking
As redes TSN (Time-Sensitive Networking) foram desenvolvidas para aplicações industriais e de automação com requisistos estritos de tempo.
Camada Transporte
A Camada de Transporte da Internet tem a função de prover um canal de comunicação lógico fim a fim entre os processos de aplicação.
O TCP é um protocolo orientado a conexão com grande overhead e, portanto, nem sempre adequado para dispositivos com baixa capacidade de processamento e memória e limitações no consumo de energia. Para sistemas de Internet das Coisas, o UDP, que é um protocolo sem conexão, ou best effort, é uma opção mais adequada.
Os exemplos de camadas de transporte seguras incluem a TLS (Transport Layer Security) sobre TCP e o DTLS (Datagram Transport Layer Security), que é baseado em UDP, e que pode ser utilizado opcionalmente para o transporte seguro de mensagens CoAP.
Camada Aplicação
CoAP
Página Wiki sobre CoAP.
O CoAP (Constrained Application Protocol) é uma alternativa mais leve ao HTTP, com alvo nos dispositivos limitados em termos de energia e comunicação (redes LLN). O CoAP usa UDP, ao invés do TCP usado pelo HTTP, reduzindo o overhead de mensagens ocasionado pela abertura e encerramento de uma conexão TCP.
MQTT
Página Wiki sobre protocolo MQTT
O MQTT (Message Queue Telemetry Transport) é um protocolo de mensagens para sensores e pequenos dispositivos móveis, baseado no modelo Publicador/Subscritor, ideal para aplicações de Internet das Coisas. O MQTT trabalha no topo da pilha de protocolos TCP/IP.
Hardware para Internet das Coisas
TinkerCAD
Emulador para Arduíno e circuitos eletrônicos.
Orange Pi
Projetos envolvendo IoT
OpenHAB
O OpenHAB é um projeto aberto para apoiar usuários na automação residencial.
Open Energy Monitor
O Open Energy Monitor é um projeto open source para monitoramento de energia e explorar os campos de energias renováveis e com zero emissão de carbono.
Referências
- ↑ DIAS, Renata Rampim de Freitas,. Internet das Coisas sem mistérios: Uma nova inteligência para os negócios. São Paulo: Netpress Books, 2016.
- ↑ Francis da Costa. Rethinking Internet of Things: A scalable approach to connecting everything. Apress Open, 2013.
- ↑ Ammar Rayes & Samer Salam. Internet of Things From Hype to Reality: The Road to Digitization, Springer, 2019.
- ↑ PEÑA, María Dolores Valdeés; RODRIGUEZ-ANDINA, Juan J. and MANIC, Milos. Internet of Things - The role of reconfigurable platforms, IEEE Industrial Electronics Magazine, Septeber 2017.
- ↑ MARTIN WOLLSCHLAEGER, THILO SAUTER, and JÜRGEN JASPERNEITE. The Future of Industrial Communication: Automation Networks in the Era of the Internet of Things and Industry 4.0, IEEE industrial electronics magazine, march 2017.
- ↑ ROBERTO FERNANDEZ MOLANES, KASUN AMARASINGHE, JUAN J. RODRIGUEZ-ANDINA, and MILOS MANIC. Deep Learning and Reconfigurable Platforms in the Internet of Things, IEEE INDUSTRIAL ELECTRONICS MAGAZINE, JUNE 2018.
- ↑ STEFANO VITTURI, FEDERICO TRAMARIN, and LUCIA SENO. Industrial Wireless Networks: The Significance of Timeliness in Communication Systems, IEEE industrial electronics magazine, june 2013.
- ↑ Amitabh Mishra, Thomas Reichherzer, Ezhil Kalaimannan, Norman Wilde, Ruben Ramirez. Trade-offs involved in the choice of cloud service configurations when building secure, scalable, and efficient Internet-of-Things networks, International Journal of Distributed Sensor Networks, February, 2020.
- ↑ Charla Stracener, Quentin Samelson, Joe Mackie, and Mitsuko Ihaza. The Internet of Things Grows Artificial Intelligence and Data Sciences, Computing Edge, IEEE Computer Society, Vol. 6, Num. 5, May 2020.
- ↑ https://nodered.org/docs/getting-started/local
- ↑ . Integração de ferramentas para IoT, Disciplina TISA – Técnicas de Implementação de Sistemas Automatizados, Pós-Graduação em Engenharia de Automação e Sistemas, UFSC, 2020.
Evandro.cantu (discussão) 10h19min de 25 de março de 2020 (-03)