# mini_dibang **Repository Path**: AAyyy666/mini_dibang ## Basic Information - **Project Name**: mini_dibang - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-27 - **Last Updated**: 2025-09-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 地磅串口读取系统 一个基于Web Serial API的地磅数据读取系统,支持上海耀华等主流磅头设备。 ## 功能特性 - 🔌 **串口通信**: 使用Web Serial API进行串口通信 - ⚖️ **多设备支持**: 支持上海耀华XK3190系列多种型号 - 📊 **实时显示**: 实时显示重量数据和设备状态 - 📝 **数据记录**: 自动记录和存储测量数据 - 📤 **数据导出**: 支持CSV格式数据导出 - 🔧 **设备配置**: 灵活的波特率和协议配置 - 📱 **响应式设计**: 适配不同屏幕尺寸 ## 支持的设备 ### 上海耀华系列 - **XK3190**: 基础型号,9600波特率 - **XK3190-A12**: A12型号,9600波特率 - **XK3190-A9**: A9型号,19200波特率 - **XK3190-C8**: C8型号,9600波特率 - **XK3190-D2**: D2型号,38400波特率 - **XK3190-D8**: D8型号,115200波特率 - **XK3190-E8**: E8型号,57600波特率 - **自定义协议**: 支持用户自定义数据格式 ## 浏览器要求 - **Chrome 89+** (推荐) - **Edge 89+** - **Opera 75+** ⚠️ **注意**: Firefox和Safari目前不支持Web Serial API ## 安装和使用 ### 1. 下载项目文件 将所有文件下载到本地目录: - `index.html` - 主页面 - `styles.css` - 样式文件 - `serial-communication.js` - 串口通信模块 - `device-protocols.js` - 设备协议模块 - `app.js` - 主应用程序 ### 2. 启动应用 1. 使用支持的浏览器打开 `index.html` 2. 确保地磅设备已连接到计算机的串口 3. 点击"刷新端口"按钮扫描可用串口 4. 选择对应的串口和设备类型 5. 点击"连接设备"开始读取数据 ### 3. 配置说明 #### 串口设置 - **端口**: 选择地磅设备连接的串口 - **波特率**: 根据设备型号选择合适的波特率 - **设备类型**: 选择对应的磅头型号 #### 数据格式 不同型号的数据格式略有差异: **XK3190标准格式**: ``` STX + 重量数据(8位) + 状态(1位) + 单位(1位) + ETX + 校验 ``` **XK3190-A12格式**: ``` 重量数据(8位) + 状态(1位) + 单位(1位) + 校验(1位) ``` **XK3190-A9格式**: ``` STX + 重量数据(6位) + 状态(2位) + ETX ``` ## 使用说明 ### 连接设备 1. 确保地磅设备已正确连接到计算机 2. 在浏览器中打开应用 3. 点击"刷新端口"扫描可用串口 4. 从下拉列表中选择正确的串口 5. 选择对应的设备类型(系统会自动设置推荐的波特率) 6. 点击"连接设备"按钮 ### 查看数据 - **实时重量**: 大字体显示当前重量值 - **设备状态**: 显示设备当前状态(稳定/不稳定/超载等) - **单位显示**: 显示当前重量单位 - **更新时间**: 显示最后更新时间 ### 数据记录 - 系统自动记录所有测量数据 - 在"数据记录"区域查看历史记录 - 点击"详情"按钮查看单条记录的完整信息 - 使用"清空记录"删除所有历史数据 - 使用"导出数据"将记录保存为CSV文件 ### 通信日志 - 在"通信日志"区域查看串口通信详情 - 包括连接状态、数据收发、错误信息等 - 可以清空日志或隐藏/显示日志区域 ## 故障排除 ### 常见问题 **1. 无法检测到串口** - 确保设备已正确连接到计算机 - 检查设备驱动是否已安装 - 尝试重新插拔USB连接线 - 点击"刷新端口"重新扫描 **2. 连接失败** - 检查串口是否被其他程序占用 - 确认波特率设置正确 - 尝试不同的波特率(9600, 19200, 38400等) - 检查设备类型选择是否正确 **3. 数据解析错误** - 确认设备类型选择正确 - 检查数据格式是否符合协议规范 - 查看通信日志了解原始数据格式 - 尝试使用"自定义协议"进行调试 **4. 浏览器不支持** - 使用Chrome 89+或Edge 89+浏览器 - 确保浏览器版本是最新的 - 检查是否启用了Web Serial API ### 调试技巧 1. **查看通信日志**: 观察原始数据格式,确认协议解析是否正确 2. **尝试不同波特率**: 如果连接失败,尝试常见的波特率设置 3. **使用自定义协议**: 对于未知格式的设备,可以使用自定义协议进行调试 4. **检查设备手册**: 参考设备说明书确认正确的通信参数 ## 技术架构 ### 文件结构 ``` ├── index.html # 主页面 ├── styles.css # 样式文件 ├── serial-communication.js # 串口通信模块 ├── device-protocols.js # 设备协议模块 └── app.js # 主应用程序 ``` ### 核心模块 **SerialCommunication类**: - 处理Web Serial API通信 - 管理串口连接和数据传输 - 提供错误处理和日志记录 **DeviceProtocols类**: - 实现各种设备的数据解析协议 - 支持上海耀华系列多种型号 - 提供自定义协议支持 **ScaleReaderApp类**: - 主应用程序控制器 - 管理UI交互和数据流 - 处理数据存储和导出 ## 开发说明 ### 添加新设备支持 1. 在 `device-protocols.js` 中创建新的协议类 2. 继承基础协议类或实现自定义解析逻辑 3. 在 `DeviceProtocols` 构造函数中注册新协议 4. 在HTML中添加设备选项 ### 自定义协议 使用"自定义协议"选项可以处理未知格式的设备: - 查看通信日志了解原始数据格式 - 根据需要修改 `CustomProtocol` 类的解析逻辑 - 实现适合的数据格式解析 ## 许可证 本项目采用MIT许可证,详见LICENSE文件。 ## 联系方式 如有问题或建议,请通过以下方式联系: - 提交Issue到项目仓库 - 发送邮件至开发者邮箱 --- **注意**: 使用本系统前请确保了解相关设备的安全操作规范,避免因操作不当造成设备损坏或人员伤害。