智能硬件
TCP 电控配置与运行中断排查
TCP 电控使用总览 本专题覆盖 TCP 设备选型、服务进程、端口、控制命令、关联设备、运行中断排查和自定义命令。首次接入请按下列顺序完成,不要只配置设备而跳过服务进程与端口放行。 一、接入前确认 1、向设备厂家确认
操作说明
TCP 电控使用总览
本专题覆盖 TCP 设备选型、服务进程、端口、控制命令、关联设备、运行中断排查和自定义命令。首次接入请按下列顺序完成,不要只配置设备而跳过服务进程与端口放行。
一、接入前确认
- 1、向设备厂家确认设备支持 TCP 客户端模式。
- 2、取得设备的开电、关电和心跳命令;后台使用十六进制命令。
- 3、确认每台设备是否有唯一设备 ID 或唯一心跳。如果不能区分,每台设备需要单独使用一个 TCP 端口。
- 4、服务器 PHP 需要安装 Swoole 扩展。
二、推荐配置顺序
- 1、阅读 TCP设备说明 ↗,确认设备和布线方案。
- 2、按照 新版TCP配置 ↗ 创建守护进程并配置服务端口。
- 3、按照 TCP设备配置 ↗ 将服务器 IP、端口与控制命令写入设备和系统后台。
- 4、有更多自动化场景时,使用 自定义TCP ↗ 配置执行方式、执行场景和时间。
- 5、如果进程运行一段时间后终止,直接执行下方排障流程。
TCP 运行一段时间后终止
典型日志:WARNING Server::accept_connection(): accept() failed, Error: Too many open files
出现该错误表示服务器或 TCP 进程允许打开的文件描述符已耗尽。需要查询当前限制,提高进程管理器的 minfds,然后完整停止并重启服务。
第一步:查找 TCP 进程 ID
打开服务器的进程管理器,在 TCP 服务对应的进程信息中找到进程 ID(PID)并记下。
第二步:查询文件描述符限制
通过服务器终端执行:
prlimit --pid 1234 --nofile
将 1234 替换为上一步查到的真实进程 ID。返回结果前面的数值是该进程当前限制,后面的数值是服务器允许的最大限制。记住服务器最大值。
第三步:修改进程管理器配置
打开进程管理器配置文件,找到 minfds=。将原来的 1024 改为上一步查询到的服务器最大文件描述符数量,然后保存。
第四步:重启服务和进程
- 1、先停止进程管理器中的全部相关进程。
- 2、进入进程管理器的服务设置,重启进程管理器服务。
- 3、服务重启完成后,重新启动 TCP 进程。
第五步:复查是否生效
再次执行 prlimit --pid 实际进程ID --nofile。确认进程限制已经提升到服务器最大限制。限制提升后,Too many open files 导致的运行中断通常不会再次出现。
!
注意:修改前请确认 PID 属于当前 TCP 服务;重启过程中 TCP 设备会短暂离线,建议避开营业高峰操作。
本专题完整指南
TCP设备说明购买TCP设备说明:不局限于什么设备,支持包括MQTT协议的喇叭、继电器、门禁、空调、锁球器。只要协议正确就可以使用。 注意和卖家沟通是否支持tcp控制 注意和卖家沟通每个设备是否可以区分设备id,如果不能区分,那么↗新版TCP配置旧版本升级注意: 1、按下面流程操作。 2、删除之前旧版所有端口的tcp进程 3、把之前设备端口重新添加到后台,添加完重启一下进程。 4、关联设备里面端口改成设备端口,比如之前是25001-35001,新版不需要网站↗TCP设备配置先查看TCP配置部分,配置好TCP运行和端口,再配置设备。 如何配置设备 1、询问厂家设备如何配置服务器ip和端口。 2、将后台添加的端口和服务器ip填写进设备之中。 3、确保设备是以TCP客户端模式运行。 如上便完↗自定义TCP注意:自定义tcp步骤和tcp设备相同,区别在与命令不同。 解释: 执行方式: 手动:选择手动之后,命令不会随着订单自动发送,显示在前端订单中心,操作里面,点击发送命令。 自动:选择自动之后,命令会随着执行场景的设置↗
操作截图 · 6 张
操作中心