使用 KEPServerEX:把 OPC 数据通过 MQTT 上传
IoT Gateway 即 Internet of Things Gateway 物联网网关。
最近发现 kep 自带网关功能,能把 OPC 定义的数据,通过 mqtt 上传。
这样就不用实现 OPC 协议了
动图演示
需要注意的地方
安装 32位 的 jre
jre 32位,kep 提供的 mqtt 网关,需要 jre 32位,估计是 kep 使用的 paho 版本是 32 位的。
安装 mqtt 服务端
搭建 mqtt broker,用 EMQ 的比较多,用 mosquitto 也行,看 mosquitto 最近新版本同时支持 v3.1.1 和 v5.0 。
详解截图
说明:
🟢 Wide Format:每一项都发送
🟢 Narrow Format:只发送变化的值的项
获得的 JSON 数据,外面的 timestamp 是 MQTT 客户端的上报时间,数组内是项的上报数据。
{
"timestamp": 1663049865628,
"values": [{
"id": "通道 1.设备 1.标记 5",
"v": 2697,
"q": true,
"t": 1663049863613
}, {
"id": "通道 1.设备 1.标记 5",
"v": 2698,
"q": true,
"t": 1663049864602
}, {
"id": "通道 1.设备 1.标记 5",
"v": 2699,
"q": true,
"t": 1663049865603
}]
}
疑问
KEPServerEX 是怎么和 MQTTX 通信的,怎么把 KEPServerEX 上的数据转入到 MQTTX 上?
KEPServerEX 里面启动了一个 MQTT 客户端(Java 写的,jre 用的 32位,有点旧)。
MQTT 客户端连接 MQTT 服务端,并且定时往自定义的主题里发消息。
其他 MQTT 客户端(可以是 MQTTX),连接 MQTT 服务端,并且订阅这个自定义主题,就一直能收到消息。
通过 mqtt 网关,只能上传数据吗,能修改数据吗?
kep 现在没提供。
怎么能远程修改数据呢?
🧊 kep 现在是个 OPCUA Server,一般装在工控机上。
🧊 需要 kep 作为一个客户端,去连接远程的 server,把数据发出去,也接受信息修改数据。
💎 open62541 提供了免费的 OPCUA Server 客户端实现,kep 配置一个OPCUA client。
🥎 OPCUA client 有浏览器用的 opcua.js 客户端吗?还没发现,感觉应该有的。
🥎 mqtt over WebSocket 的 mqtt.js 都有,opcua over WebSocket 的 opcua.js 应该有的。
关于 OPCUA 的需求
💧 上报数据展示是最简单,最普遍的需求。
💧 远程修改数据,一般真不需要,远程控制设备的需求现在很少。
💧 数据获取到以后,只是展示实时数据,是否需要更高级的时间段统计计算呢?好像需要的也不多。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!
· 用 C# 插值字符串处理器写一个 sscanf
2018-09-13 博客园美化