项目简介
USB-Mon是一款轻量级健康监控系统,主要面向无显示器的家庭服务器或PC。该系统借助ATmega8A微控制器作为核心,通过简单的LCD显示屏来展示系统状态。它能接收来自串口(经USB转串口转换器)的命令,实现对LCD显示的控制,还能依据接收到的状态信息进行整体状态的计算与显示。
项目的主要特性和功能
- 串口通信:可通过串口接收命令,支持多种命令用于配置和更新系统状态。
- LCD显示控制:对4x20的LCD显示屏进行控制,支持背景灯控制以及夜间模式。
- 状态管理:支持最多20个页面的状态显示,每个页面可显示服务或机器状态,状态包含未定义、正常、未知、警告和错误。
- 页面翻转:页面可自动翻转,且支持自定义翻页速度。
- 超时管理:支持页面状态超时设置,超时后状态自动变为未知。
- 按键支持:支持外部按键触发背景灯和页面切换。
安装使用步骤
- 环境准备:确保安装了VSCode和PlatformIO扩展。
- 导入项目:把项目导入VSCode,使用PlatformIO打开项目。
- 编译项目:在PlatformIO中选择
m8
构建目标,进行编译。 - 烧录固件:将编译好的固件烧录到ATmega8A微控制器。
- 连接硬件:把LCD显示屏和按键连接到ATmega8A的相应引脚。
- 配置和使用:通过串口发送命令配置页面数量、翻页时间、页面名称和状态。具体命令格式和示例如下:
- Toggle Debug Mode:
@:d
- Set Page Count:
@:p<xx>
- Set Page Time:
@:t<xx>
- Set Page Expiry:
@:e<xxxx>
- Set Display Mode:
@:m<xx>
- Set Service Name:
@:n<xx><text>!
- Set Service State (Simple):
@:s<xx><yy>
- Set Service State (Custom):
@:c<xx><yy><state>
- Toggle Debug Mode:
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】