前言
工业自动化或小型办公环境中,网络设备的稳定性直接关系到产线运行、数据采集甚至安全控制。很多时候,一台传感器、PLC 或边缘计算节点突然掉线,可能不会立刻被察觉,直到引发连锁故障。而市面上大多数路由器管理界面仅提供静态列表,缺乏主动通知机制。
本文推荐一款轻量级 Windows 桌面工具——设备状态监控器。它通过对接路由器的 API,实时感知设备上下线,并以非侵入式的方式提醒用户,让网络状态"看得见、感觉得到"。
项目介绍
项目是一款专为使用路由系统的用户打造的本地化监控工具。无论是家庭 NAS、工控机,还是车间里的智能终端,只要接入爱快路由器,其在线状态变化都能被精准捕捉。
项目完全基于 .NET 9 和 WPF 开发,不依赖云服务,所有数据处理均在本地完成,保障隐私与响应速度。设计初衷是:用最简单的方式,把后台的网络事件变成前台的可用信息。
项目功能
1、深度集成爱快路由器 API,支持账号密码登录与设备列表拉取
2、定时轮询设备状态,自动比对历史记录,精准识别新上线或离线设备
3、采用 Windows 原生 Toast 通知,在任务栏右下角弹出简洁提示
4、智能检测全屏应用(如 HMI 界面、视频监控软件),自动暂停通知避免干扰
5、最小化后自动隐藏至系统托盘,双击可恢复主窗口,节省桌面空间
6、支持开机自启动,确保系统重启后监控不中断
7、强制单实例运行,防止重复启动导致资源冲突
8、配置灵活:可设置检查间隔(默认 30 秒)、启用/禁用通知、选择 HTTP/HTTPS
9、明暗双主题切换,适配不同工作环境光线
10、所有文件读写(配置、设备缓存)均采用异步 I/O,杜绝 UI 卡顿
项目特点
工具最大的特点是"安静但可靠"。它不像某些监控软件那样频繁弹窗或占用大量资源,而是默默运行在后台,只在真正需要时才提醒你。
尤其在工业场景中,操作员可能正专注在全屏的 SCADA 系统上,此时抑制通知就显得尤为重要。
另外,所有配置以 JSON 文件形式存储在 %AppData% 下,便于备份或批量部署,也方便高级用户手动调整。
项目代码
private void OnClosed(object? sender, EventArgs e) { _timer.Tick -= OnTimerTick; _timer.Stop(); Loaded -= OnLoaded; Closed -= OnClosed; } private void SlideIn() { var anim = new DoubleAnimation(Top + 50, Top, TimeSpan.FromMilliseconds(300)) { EasingFunction = new QuadraticEase() }; BeginAnimation(TopProperty, anim); } private void Border_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { Close(); } public static bool IsFullscreen() { try { var hwnd = GetForegroundWindow(); if (hwnd == IntPtr.Zero) returnfalse; if (!GetWindowRect(hwnd, outvar rect)) returnfalse; var screen = Screen.FromHandle(hwnd); return rect.Right - rect.Left >= screen.Bounds.Width && rect.Bottom - rect.Top >= screen.Bounds.Height; } catch (Exception ex) { Debug.WriteLine($"Fullscreen check failed: {ex.Message}"); returnfalse; } }项目使用
系统要求
Windows 10/11 x64
.NET 9 Desktop Runtime
下载安装
从 Releases 下载最新版本
IKuaiDeviceMonitor.exe安装 .NET 9 Desktop Runtime(如未安装)
运行
IKuaiDeviceMonitor.exe
配置
首次运行点击"设置"按钮配置:
配置项 | 说明 | 示例 |
|---|---|---|
路由器地址 | 爱快路由器 IP 地址 | 192.168.1.1 |
端口 | HTTP/HTTPS 端口 | 443 (HTTPS) / 80 (HTTP) |
使用 HTTPS | 是否使用 HTTPS 连接 | ✅ 推荐 |
用户名 | 路由器管理员账号 | admin |
密码 | 路由器管理员密码 | - |
检查间隔 | 设备状态检查间隔(毫秒) | 30000 (30秒) |
启用通知 | 设备上线/下线时显示通知 | ✅ |
全屏时禁用通知 | 全屏应用时不显示通知 | ✅ |
开机自启动 | 随 Windows 启动 | - |
最小化到托盘 | 最小化时隐藏到系统托盘 | ✅ |
使用说明
启动应用程序
点击"设置"配置路由器连接信息
应用自动开始监控设备状态
设备上线/下线时显示桌面通知
最小化到系统托盘继续运行
双击托盘图标恢复窗口
配置文件位置
配置文件:%AppData%\IKuaiDeviceMonitor\config.json
设备状态:%AppData%\IKuaiDeviceMonitor\devices.json
项目效果
实际运行中,程序启动后不到 2 秒即可完成首次设备扫描。响应流畅,即使在低配工控机上也无卡顿。托盘图标常驻,资源占用稳定在 30–50MB 内存,CPU 几乎无负担。
项目源码
项目已开源,代码托管于 GitHub,采用 MIT 许可证,可直接从 Releases 页面下载 IKuaiDeviceMonitor.exe 安装使用。
GitHub:https://github.com/xihan123/IKuaiDeviceMonitor
总结
这款工具虽小,却解决了工业和办公场景中一个真实而高频的痛点:网络设备状态不可见。它不追求功能堆砌,而是聚焦于"可靠监控 + 无感通知"这一核心体验。
未来计划支持设备分组、自定义通知规则、离线日志导出等功能。