跳到主要内容

Device Management Tools

NE503 的设备管理分两端:设备端持续在局域网广播自身信息(CT-Disc 协议,由 device-discovery 服务实现),你的电脑上用官方 ct-disc 工具发现和管理这些设备;管理单台设备的细节则用设备自带的 aipc-cli。按你要做的事选择:

你要做什么用什么
批量部署时找到网段里所有设备的 IP 和 SNct-disc 扫描工具或 GUI(运行在你的电脑上)
监视设备上下线、远程下发命令ct-disc
远程给设备改网络配置ct-disc GUI
一台设备上管理应用、码流、模型、镜头aipc-cli(设备自带,在设备上运行)

CT-Disc 设备发现

典型场景:批量部署不再逐台查 IP

部署 10 台 NE503 时,与其在路由器里逐台核对 MAC 对 IP,不如在同网段的电脑上跑一次扫描——所有设备的 IP、SN、固件版本一张表全出来:

$ ct-disc scan
MAC SN PRODUCT IP PORT FW CAPS LAST_SEEN
aa:bb:cc:00:11:22 CT503A001234 NE503 192.168.1.101 443 1.12.0 ai,camera,http 2026-08-20 10:32:01
aa:bb:cc:00:11:23 CT503A001235 NE503 192.168.1.102 443 1.12.0 ai,camera,http 2026-08-20 10:32:01

2 device(s) found.

它能工作的前提是协议在背后跑着,下面先讲清楚机制,再给全部命令。

协议如何工作

设备持续在局域网里"自报家门":device-discovery 服务每 5 秒向 UDP 组播 239.255.255.250:19850 发一个 ct-announce JSON 报文。报文里有这些字段:

字段你能用它做什么
sn / mac唯一标识一台设备,批量登记资产
product区分产品型号(如 NE503
ip / port直接拿去访问 Web 控制台
fw核对固件版本,找出需要升级的设备
caps能力列表(如 ai,camera,http,mqtt
hw硬件平台

管理端两种方式获知设备:被动监听组播地址等广播;主动扫描ct-probe 探测包让设备立即应答。除此之外还有两种报文:

  • ct-set-network——远程给指定设备下发网络配置(DHCP/静态 IP、网关、DNS),单播 + 组播 + 广播三路发送确保送达;
  • CAT1 蜂窝设备不走 UDP,通过 MQTT 注册,命令 topic ct/cmd/{sn}、应答 ct/resp/{sn}

ct-disc 命令行工具

跨平台 CLI(Windows / Linux / macOS),源码在 neoruntime 仓库 tools/ct-disc/

cd tools/ct-disc && make build        # 本机构建;make build-all 产出全平台二进制

五个子命令,各自解决一件事:

命令干什么什么时候用
ct-disc scan发探测包,立即收集应答想马上拿到设备清单
ct-disc list静默监听数秒后列出设备设备已在广播,不想发探测包
ct-disc watch持续监视上下线部署后观察设备稳定性
ct-disc send经 MQTT 向指定 SN 下发命令管理 CAT1 蜂窝设备
ct-disc announce模拟设备广播调试自己的管理端程序
ct-disc scan --timeout 3                        # 扫 3 秒;--count 探测包数(默认 3)
ct-disc list --product NE503 --timeout 5 # 只列 NE503;还可按 --sn / --mac 过滤
ct-disc watch # 30 秒无广播判离线,Ctrl+C 停止
ct-disc send <sn> reboot --broker tcp://broker:1883 # CAT1 设备下发命令
ct-disc announce --product NE503 --interval 5 # 测试机上模拟设备

所有命令支持 -o json / -o yaml(默认 table)供脚本解析,--iface 指定网卡,--timeout 控制等待时长。

NE503 的 Web 控制台本身不提供 CT-Disc 扫描界面,扫描由上述工具或集成该协议的上位机完成。报文定义见源码 tools/ct-disc/pkg/discover/announce.go

CT-Disc GUI

不习惯命令行的话,仓库还提供图形界面(tools/ct-disc/gui/ct-disc-gui/,Wails 桌面应用,make gui 构建)。功能覆盖 CLI 的扫描、监视、下发命令,并多一项实用能力:远程读取/修改设备网络配置——选中设备后直接在 GUI 里改它的 IP 模式、网关、DNS,无需先登录设备 Web 页(底层走设备 API GET/POST /api/v1/network/config)。

aipc-cli 命令行工具

aipc-cli 管理的是单台设备:应用启停、码流状态、模型注册、镜头控制等。入口有两个:

  • Web 终端:控制台 Maintenance → Terminal,浏览器里直接用;
  • SSHssh root@<设备IP> 登录后使用。

按任务分组的最常用命令:

# 看设备整体状态
aipc-cli system info # 设备信息
aipc-cli system health # 健康检查

# 管理应用
aipc-cli app list # 列出应用
aipc-cli app start <id> # 启动 / aipc-cli app stop <id> 停止
aipc-cli app logs <id> -f # 实时查看应用日志(排障首选)

# 查码流
aipc-cli stream list # 各码流状态(拉流失败先看这里)
aipc-cli stream url <id> # 取码流 RTSP 地址

# 控制镜头
aipc-cli device zoom in 5 # 变焦(in / out / stop,速度 1-10)
aipc-cli device focus auto # 自动对焦

# 管理模型
aipc-cli model list # 列出 / aipc-cli model register <path> 注册新模型

输出同样支持 -o table(默认)/ -o json / -o yaml。完整命令树以 aipc-cli --help 和各子命令的 <command> --help 为准。

相关文档