亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial Internet of Things >> 物联网技术

IIoT 边缘开发——使用 WebSockets

编者注:工业物联网 (IIoT) 承诺提供对工业运营的深入洞察,并提高互联机器和系统的效率。大规模 IIoT 应用程序依赖分层架构从各种传感器收集数据,将数据可靠、安全地移动到云中,并执行提供洞察力和效率所需的分析。在工业互联网应用程序开发中,作者详细介绍了 IIoT 架构,并讨论了满足与这些系统相关的广泛要求的方法。

改编自工业互联网应用开发,作者:Alena Traukina、Jayant Thomas、Prashant Tyagi、Kishore Reddipalli。


第 3 章 IIoT 边缘开发(续)
作者:Alena Traukina、Jayant Thomas、Prashant Tyagi、Kishore Reddipalli

应用级协议——WebSocket

在本节中,我们将尝试构建一个简单的 IoT 应用程序,用于使用 Raspberry Pi 集线器和 WebSocket 协议将数据从 XD-80 光传感器模块发送到接收器设备:


从 XD-80 传感器到接收器设备的数据流

WebSocket 最广泛用于需要快速传输实时数据的情况。该协议允许客户端和服务器之间的双向交互,以及使用相同的 TCP 连接流式传输多条消息,从而降低了通信开销。

在下表中,您可以找到该协议的更详细说明,以了解它是否适​​合您的需求:

价值 开源是OSI层应用数据类型字符串限制不适合大量二进制数据可能的操作发送/接收数据延迟非常低使用实时通信安全性是压缩是

表 3:WebSocket 协议规范

为了构建应用程序,我们需要以下内容。

所需软件:

所需硬件:

  • 树莓派 3(B 型)
  • 一个电源适配器 (2A/5V)
  • 一张 microSD 卡 (8 GB+) 和一个 SD 适配器
  • XD-80 光传感器模块
  • 一块面包板和一套杜邦电缆
  • 用于有线网络连接的以太网电缆


组装设备

在构建应用程序之前,您需要通过面包板将 XD-80 传感器连接到 Raspberry Pi。

准备一张SD卡

要准备 SD 卡,请按照所述的操作顺序进行操作:

  1. 下载最新的 Raspbian LITE 图像(可在 https://raspberrypi.org/downloads/raspbian/ ).
  2. 将您的 SD 卡连接到计算机并使用 Etcher (https://io/ ) 来刷新 Raspbian .img 文件到 SD 卡。
  3. 使用以下命令启用 SSH:


cd /Volumes/boot
触摸 ssh

  1. 要启用 Wi-Fi,请创建 conf 具有以下内容:


network={
ssid=”YOUR_SSID”
psk=”YOUR_WIFI_PASSWORD”
}

要在 Linux 控制台中创建文件,您可以使用 GNU nano 编辑器。它预装在大多数 Linux 发行版中。您只需要运行 纳米 FILE_NAME 命令并按照显示的说明进行操作。
  1. 创建/home/pi/sensor
  2. 创建/home/pi/sensor/package.json 包含以下内容的文件:


{
“名称”:“传感器”,
“版本”:“1.0.0”,
“说明”:“”,
“main”:“index.js”,
“脚本”:{
“start”:“node index.js”,
“test”:“echo”错误:未指定测试” &&exit 1″
},
“作者”:“”,
“许可证”:“ISC”,
“依赖项”:{“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;
varreceiver ='ws://REMOTE-SERVER-ADDRESS.com:8080';
rpio.open(11, rpio.INPUT);

varestablishConnection =function () {<登记/> WS =新的WebSocket(接收机);
ws.on( '关闭',establishConnection);
ws.on( '错误',establishConnection);
};
establishConnection();

var sendStatus =function () {
var status =rpio.read(11) ===0;
console.log('light status:'+状态);
VAR数据=JSON.stringify({
设备: '覆盆子',
时间戳:Date.now(),
光:状态
});

try { ws.send(data); }
赶上(E){的console.log( '未能发送数据为' +接收器);}

的setTimeout(sendStatus,1000);
};
sendStatus();

  1. 创建/home/pi/sensor/Dockerfile 包含以下内容的文件:


FROM hypriot/rpi-node:boron-onbuild


物联网技术

  1. 使用以数据为中心的方法构建医疗保健 IIoT 解决方案
  2. 超连接需要更广阔的视野
  3. 边缘计算:5 个潜在的陷阱
  4. 工业物联网发展前景
  5. 通过边缘分析升级工业 4.0
  6. 前 10 名 IIoT 平台
  7. 需要关注的 IIoT 趋势和挑战
  8. 边缘计算和工业物联网是否正在改变我们对数据的看法?
  9. 什么是工业物联网?
  10. 边缘现在是行动的中心
  11. 使用 AI 和 ML 在边缘应用程序中提取可行的见解
  12. 边缘的汽车