Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial Internet of Things >> Интернет вещей

Разработка IIoT Edge с WebSockets: безопасная связь в реальном времени

Разработка IIoT Edge с WebSockets: безопасная связь в реальном времени Примечание редактора: Промышленный интернет вещей (IIoT) обещает глубокую прозрачность промышленных операций и повышение эффективности подключённых машин и систем. Крупномасштабные IIoT-приложения опираются на многослойные архитектуры для сбора данных с широкого спектра датчиков, надёжной и безопасной передачи данных в облако и выполнения аналитики, необходимой для получения этой прозрачности и эффективности. В книге «Industrial Internet Application Development» авторы детально рассматривают архитектуру IIoT и обсуждают подходы к удовлетворению широких требований к таким системам.

Адаптировано из Industrial Internet Application Development, авторы: Алена Траукина, Джаянт Томас, Прашант Тяги, Кишор Реддипалли.


Глава 3. Разработка IIoT Edge (продолжение)

Авторы: Алена Траукина, Джаянт Томас, Прашант Тяги, Кишор Реддипалли

Протоколы прикладного уровня — WebSocket

В этом разделе мы построим простое IoT-приложение для передачи данных с модуля датчика освещённости XD-80 на приёмное устройство, используя хаб Raspberry Pi и протокол WebSocket:

Разработка IIoT Edge с WebSockets: безопасная связь в реальном времени
Поток данных от датчика XD-80 к приёмному устройству

WebSocket наиболее широко используется, когда нужна быстрая передача данных в реальном времени. Протокол позволяет двустороннее взаимодействие между клиентом и сервером, а также стриминг множественных сообщений по одному TCP-соединению, снижая накладные расходы на коммуникацию.

В таблице ниже более детальное описание протокола для понимания его пригодности для ваших нужд:

КлючЗначение
Open sourceYes
OSI layerApplication
Data typesString
LimitationsНе подходит для больших объёмов бинарных данных
Possible operationsSend/receive data
LatencyVery low
UsageReal-time communication
SecurityYes
CompressionYes

Таблица 3: Спецификации протокола WebSocket

Необходимые компоненты

Необходимое ПО:

Необходимое железо:

Сборка устройства

Перед созданием приложения подключите датчик XD-80 к Raspberry Pi через макетную плату.

Подготовка SD-карты

  1. Скачайте последний образ Raspbian LITE (доступен на https://raspberrypi.org/downloads/raspbian/).
  2. Подключите SD-карту к компьютеру и используйте Etcher (https://www.balena.io/etcher/) для записи образа Raspbian .img на SD-карту.
  3. Включите SSH командой:
cd /Volumes/boot
touch ssh
  1. Для включения Wi-Fi создайте файл wpa_supplicant.conf со следующим содержимым:
network={
 ssid="YOUR_SSID"
 psk="YOUR_WIFI_PASSWORD"
}

Разработка IIoT Edge с WebSockets: безопасная связь в реальном времени Для создания файла в консоли Linux можно использовать редактор GNU nano. Он предустановлен в большинстве дистрибутивов. Нужно запустить команду nano ИМЯ_ФАЙЛА и следовать инструкциям.

  1. Создайте директорию /home/pi/sensor
  2. Создайте файл /home/pi/sensor/package.json со следующим содержимым:
{
 "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"
 }
}
  1. Создайте файл /home/pi/sensor/index.js со следующим содержимым, заменив REMOTE-SERVER-ADDRESS.com на реальное значение:
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();
  1. Создайте файл /home/pi/sensor/Dockerfile со следующим содержимым:
FROM hypriot/rpi-node:boron-onbuild

Интернет вещей

  1. Навигация в Интернете всего: лучшие практики для успешной гиперконнективности
  2. Периферийные вычисления: 5 потенциальных подводных камней — и как их преодолеть
  3. Будущий взгляд: продвижение Industrial IoT для производственного превосходства
  4. Подъем Индустрии 4.0: использование пограничной аналитики для более умного, быстрого производства
  5. Определительное руководство по топ-10 промышленным ИоТ-платформам (2024)
  6. Тренды и вызовы IIoT: перегрузка данных, сдвиги в производстве и кадровый дефицит
  7. Пограничные вычисления и ППИ: трансформация промышленной стратегии данных
  8. Промышленный интернет вещей (IIoT): определение, область и промышленное влияние
  9. Периферийные вычисления: новое сердцебение эпохи облака
  10. Раскрытие действенных инсайтов на периферии с ИИ и ML