webman USR 有人物联服务应用插件

66¥
类型 应用插件
版本 0.1.1
版本更新时间 2023-03-09
大小 4.43 MB
开发商
hsk99
评分

详细介绍

基于 webman + GatewayWorker 开发的一个用于对接有人物联产品的插件应用,支持对接有人 串口服务器、IO控制器等产品。

功能特性

  • 接入 IO控制器:USR-IO424T、USR-IO808
  • 接入 串口服务器:USR-TCP232-302、USR-TCP232-304、USR-TCP232-306、USR-W600、USR-W610、USR-W630
  • 接入 4G DTU:USR-G776、USR-G771
  • 设备交互数据记录
  • 设备上下线记录
  • WebHooks
  • WebSocket

备注:

IO控制器 使用 USR-IO424T 进行开发,支持解析出DI、DO,控制修改DO。
串口服务器 使用 USR-TCP232-306USR-W600 进行开发。
4G DTU 使用 USR-G776 进行开发。
上述未标注的设备型号由于没有设备未进行数据交互验证,根据产品设计说明书分析 数据交互方面与已有同类型的设备没有区别

安装使用

下载

下载源码放入plugin目录下,restart重启webman

访问

访问 http://127.0.0.1:8787/app/usr 会自动进入安装页面,按照提示安装组件,设置数据库、Redis配置信息。

安装配置完成后 关闭重启webman,即可使用。

接口


use plugin\usr\api\Device;

// IO控制器设置DO
Device::DO(string $code, int $DO, bool $checked);

// 向设备推送数据
Device::send(string $code, string $data);

WebSocket

可以使用WebSocket客户端实时接收设备发送数据,数据格式和WebHooks完全一致

WebSocket 与 WebHooks的区别:

1、WebSocket 接收的是所有设备的信息,WebHooks 可设置一个地址只接收一个设备的信息
2、WebHooks 会出现延迟,WebSocket 为实时转发

连接示例
ws = new WebSocket("ws://127.0.0.1:8902/app/<?=config('plugin.usr.usr.websocket_auth')?>");
ws.onopen = function () {
    setInterval(() => {
        ws.send('ping');
    }, 30000);
};
ws.onmessage = function(e) {
    console.log(e.data);
};

WebHooks

请求方式
  • POST
请求数据
{
  "event": "DI",
  "usr": {
    "id": 1,
    "name": "USR-IO424T",
    "code": "USR63FD6D92D8619",
    "model": "USR-IO424T",
    "address": 1
  },
  "data": {
    "DI-1": 1,
    "DI-2": 1,
    "DI-3": 1,
    "DI-4": 1,
    "DI-5": 0,
    "DI-6": 0,
    "DI-7": 0,
    "DI-8": 0
  }
}
数据说明

整个数据包为 JSON 数据

|参数名|类型|说明|
|:----    |:----- |-----   |
|event |string | 事件    |
|usr |array | 设备信息    |
|data |array / string | 数据    |


设备配置示例

USR-IO424T

截图

USR-TCP232-306

截图

USR-W600

截图

USR-G776

截图

版本历史记录
0.1.1
2023-03-09
优化 页面展示
优化 IO主从机地址转化
优化 限制IO主从机地址值的大小
优化 服务安装流程
优化 数据编码转换
修改 数据库字符集
新增 服务启动缓存设备信息
新增 WebSocket连接认证
调整 WebSocket推送数据的格式
调整 WebHooks发送数据的格式
0.0.1
2023-03-02
webman USR 有人物联服务应用插件
评分及评论
1 满分5分
sixcycle 2024-02-18
没有说明文件 完全不知道怎么弄
🔝