littlebot
Published on 2025-04-12 / 0 Visits
0

【源码】基于AVR和C语言的USBMon健康监控系统

项目简介

USB-Mon是一款轻量级健康监控系统,主要面向无显示器的家庭服务器或PC。该系统借助ATmega8A微控制器作为核心,通过简单的LCD显示屏来展示系统状态。它能接收来自串口(经USB转串口转换器)的命令,实现对LCD显示的控制,还能依据接收到的状态信息进行整体状态的计算与显示。

项目的主要特性和功能

  1. 串口通信:可通过串口接收命令,支持多种命令用于配置和更新系统状态。
  2. LCD显示控制:对4x20的LCD显示屏进行控制,支持背景灯控制以及夜间模式。
  3. 状态管理:支持最多20个页面的状态显示,每个页面可显示服务或机器状态,状态包含未定义、正常、未知、警告和错误。
  4. 页面翻转:页面可自动翻转,且支持自定义翻页速度。
  5. 超时管理:支持页面状态超时设置,超时后状态自动变为未知。
  6. 按键支持:支持外部按键触发背景灯和页面切换。

安装使用步骤

  1. 环境准备:确保安装了VSCode和PlatformIO扩展。
  2. 导入项目:把项目导入VSCode,使用PlatformIO打开项目。
  3. 编译项目:在PlatformIO中选择m8构建目标,进行编译。
  4. 烧录固件:将编译好的固件烧录到ATmega8A微控制器。
  5. 连接硬件:把LCD显示屏和按键连接到ATmega8A的相应引脚。
  6. 配置和使用:通过串口发送命令配置页面数量、翻页时间、页面名称和状态。具体命令格式和示例如下:
    • 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>

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】