Aprimorando Desenvolvimento IIoT na Edge com WebSockets: Conectividade Segura e em Tempo Real
Adaptado de Industrial Internet Application Development, por Alena Traukina, Jayant Thomas, Prashant Tyagi, Kishore Reddipalli.
Capítulo 3. Desenvolvimento IIoT na Edge (Continuação)
Por Alena Traukina, Jayant Thomas, Prashant Tyagi, Kishore Reddipalli
Protocolos de Nível de Aplicação – WebSocket
Nesta seção, tentaremos construir um app IoT simples para enviar dados de um módulo de sensor de luz XD-80 a um dispositivo receptor, usando um hub Raspberry Pi e o protocolo WebSocket:
O WebSocket é mais amplamente usado quando se precisa permitir transferência rápida de dados em tempo real. O protocolo permite interação bidirecional entre cliente e servidor, e streaming de múltiplas mensagens usando a mesma conexão TCP, o que reduz a sobrecarga de comunicação.
Na tabela a seguir, você encontra uma descrição mais detalhada do protocolo para entender se é adequado às suas necessidades:
| Chave | Valor |
|---|---|
| Open source | Sim |
| Camada OSI | Aplicação |
| Tipos de dados | String |
| Limitações | Não adequado para grandes quantidades de dados binários |
| Operações possíveis | Enviar/receber dados |
| Latência | Muito baixa |
| Uso | Comunicação em tempo real |
| Segurança | Sim |
| Compressão | Sim |
Tabela 3: Especificações do protocolo WebSocket
Requisitos para Construção da Aplicação
Software necessário:
- Node.js 6+ (download)
- RPIO (página npm)
- WebSocket (página npm)
- Docker (guia de instalação)
Hardware necessário:
- Raspberry Pi 3 (modelo B)
- Adaptador de energia (2A/5V)
- Cartão microSD (8 GB+) e adaptador SD
- Módulo sensor de luz XD-80
- Protoboard e conjunto de cabos dupont
- Cabo Ethernet para conexão de rede com fio
Montando o Dispositivo
Antes de construir a aplicação, você precisa conectar um sensor XD-80 a um Raspberry Pi via protoboard.
Preparando o Cartão SD
Para preparar um cartão SD, siga a sequência de ações descrita:
- Baixe a imagem mais recente do Raspbian LITE (disponível em Raspberry Pi Downloads).
- Conecte seu cartão SD a um computador e use o Etcher (balena.io/etcher) para gravar o arquivo
.imgdo Raspbian no cartão SD. - Habilite SSH usando o seguinte comando:
cd /Volumes/boot
touch ssh
- Para habilitar Wi-Fi, crie
wpa_supplicant.confcom o seguinte conteúdo:
network={
ssid="SEU_SSID"
psk="SUA_SENHA_WIFI"
}
Para criar um arquivo no console Linux, você pode usar o editor GNU nano. Ele vem pré-instalado na maioria das distribuições Linux. Tudo que você precisa é executar o comando nano NOME_ARQUIVO e seguir as instruções exibidas.
- Crie o diretório
/home/pi/sensor - Crie o arquivo
/home/pi/sensor/package.jsoncom o seguinte conteúdo:
{
"name": "sensor",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "node index.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"rpio": "^0.9.16",
"ws": "^2.3.1"
}
}
- Crie o arquivo
/home/pi/sensor/index.jscom o seguinte conteúdo, substituindoREMOTE-SERVER-ADDRESS.compor um valor real:
var WebSocket = require('ws');
var rpio = require('rpio');
var ws;
var receiver = 'ws://REMOTE-SERVER-ADDRESS.com:8080';
rpio.open(11, rpio.INPUT);
var establishConnection = function () {
ws = new WebSocket(receiver);
ws.on('close', establishConnection);
ws.on('error', establishConnection);
};
establishConnection();
var sendStatus = function () {
var status = rpio.read(11) === 0;
console.log('light status: ' + status);
var data = JSON.stringify({
device: 'raspberry',
timestamp: Date.now(),
light: status
});
try { ws.send(data); }
catch (e) {console.log('failed to send data to ' + receiver);}
setTimeout(sendStatus, 1000);
};
sendStatus();
- Crie o arquivo
/home/pi/sensor/Dockerfilecom o seguinte conteúdo:
FROM hypriot/rpi-node:boron-onbuild
Tecnologia da Internet das Coisas
- Navegando na Internet de Tudo: Melhores Práticas para Hiperconectividade Bem-Sucedida
- Edge Computing: 5 Armadilhas Potenciais — e Como Superá-las
- Perspectiva Futura: Avançando Industrial IoT para Excelência em Produção
- Elevando Indústria 4.0: Aproveitando Edge Analytics para Manufatura Mais Inteligente e Rápida
- O Guia Definitivo para as Top 10 Plataformas Industrial IoT (2024)
- Tendências e Desafios da IIoT: Sobrecarga de Dados, Mudanças na Manufatura e Lacuna de Habilidades
- Edge Computing e IIoT: Transformando Estratégia de Dados Industrial
- Internet Industrial das Coisas (IIoT): Definição, Escopo e Impacto Industrial
- Edge Computing: O Novo Coração da Era da Nuvem
- Desbloqueando Insights Acionáveis na Borda com IA e ML