WebSocket赋能IIoT边缘开发:安全实时连接的实战指南
编者注:工业物联网(IIoT)旨在深度洞察工业运营、提升连接机器系统效能。大规模IIoT应用依赖分层架构:从海量传感器采集数据、可靠安全传至云端、执行分析以产出洞察与效能。本书《工业互联网应用开发》详细剖析IIoT架构及满足宽泛需求的方法论。
改编自《工业互联网应用开发》,作者Alena Traukina、Jayant Thomas、Prashant Tyagi、Kishore Reddipalli。
第3章 IIoT边缘开发(续)
应用层协议——WebSocket
本节构建简易IoT应用:通过树莓派网关,用WebSocket协议将XD-80光照传感器数据发送至接收设备。

XD-80传感器到接收设备的数据流
WebSocket广泛用于需快速传输实时数据的场景。协议支持客户端与服务端双向交互,单TCP连接复用多消息流,降低通信开销。
WebSocket协议规格速览
| 关键项 | 数值 |
|---|---|
| 开源 | 是 |
| OSI层 | 应用层 |
| 数据类型 | 字符串 |
| 局限 | 不适合大量二进制数据 |
| 可用操作 | 发送/接收数据 |
| 延迟 | 极低 |
| 用途 | 实时通信 |
| 安全 | 是 |
| 压缩 | 是 |
表3:WebSocket协议规格
所需软硬件
软件:Node.js 6+、RPIO库、WebSocket库、Docker
硬件:树莓派3B、2A/5V电源、8GB+ microSD卡、XD-80光照传感器模块、面包板杜邦线、以太网线
设备组装
通过面包板将XD-80传感器接入树莓派。
SD卡准备步骤
- 下载最新Raspbian Lite镜像(官网)
- 用Etcher(balena.io/etcher)烧录镜像到SD卡
- 启用SSH:在
/boot分区创建空文件sshcd /Volumes/boot && touch ssh - 启用Wi-Fi:在
/boot创建wpa_supplicant.confnetwork={ ssid="YOUR_SSID" psk="YOUR_WIFI_PASSWORD" } - 创建项目目录
/home/pi/sensor - 创建
package.json(含rpio、ws依赖) - 创建
index.js:建立WebSocket连接,每秒读取GPIO 11光照状态并以JSON发送(需替换REMOTE-SERVER-ADDRESS.com) - 创建
Dockerfile:FROM hypriot/rpi-node:boron-onbuild
后续在项目目录执行npm install并npm start即可运行。
物联网技术