基于Web Serial API的网页版串口调试助手

该文章已生成可运行项目,

网页版串口调试助手

一个基于Web Serial API的网页版串口调试助手,支持在浏览器中直接访问和操作本地串口设备。

功能特点

  • 🎯 客户端串口访问:使用Web Serial API直接访问客户端串口设备,无需服务器中转
  • 🔒 HTTPS支持:内置HTTPS服务器,满足Web Serial API的安全要求
  • ⚙️ 完整的串口配置:支持波特率、数据位、停止位、校验位的配置
  • 🔢 自定义波特率:支持输入任意波特率,包括瑞芯微RK系列使用的1500000波特率
  • 📝 时间戳显示:可选择是否在接收数据时显示时间戳
  • 🔍 16进制发送和显示:支持16进制格式的发送和显示
  • 📱 响应式布局:适配不同屏幕尺寸,配置区域位于左侧,数据收发区域位于右侧
  • 🎨 现代化UI:使用Tailwind CSS构建,界面美观易用

项目链接

https://github.com/1356928/SerialWeb/tree/main

项目结构

SerialWeb/
├── index.js          # 后端服务器文件
├── package.json      # 项目配置和依赖
├── public/           # 静态文件目录
│   ├── index.html    # 前端页面
│   └── script.js     # 前端逻辑
├── ssl/              # SSL证书目录
│   ├── server.key    # 私钥文件
│   └── server.cert   # 证书文件
└── README.md         # 项目说明文档

安装步骤

1. 克隆项目

git clone https://github.com/1356928/SerialWeb.git
cd SerialWeb

2. 安装依赖

npm install

3. 生成SSL证书

由于Web Serial API仅在HTTPS或localhost环境下可用,我们需要生成自签名SSL证书。

# 创建ssl目录
mkdir -p ssl

# 生成私钥
openssl genrsa -out ssl/server.key 2048

# 生成证书签名请求
openssl req -new -key ssl/server.key -out ssl/server.csr

# 生成自签名证书
openssl x509 -req -days 365 -in ssl/server.csr -signkey ssl/server.key -out ssl/server.cert

# 删除证书签名请求(可选)
rm ssl/server.csr

部署步骤

1. 启动服务器

node index.js

服务器会在端口3000上启动,使用HTTPS协议。

2. 访问页面

打开浏览器,访问 https://localhost:3000

3. 处理安全警告

由于使用的是自签名证书,浏览器会显示安全警告。

  • Chrome/Edge:点击"高级" -> “继续访问localhost(不安全)”
  • Firefox:点击"高级" -> “接受风险并继续”

4. 授权串口访问

首次使用时,点击"打开串口"按钮,浏览器会弹出串口选择对话框,选择要使用的串口设备并点击"连接"进行授权。
串口授权

使用说明

1. 串口配置

  • 串口:选择要使用的串口设备
  • 波特率:选择预设波特率或输入自定义波特率
  • 数据位:选择数据位(5-8)
  • 停止位:选择停止位(1-2)
  • 校验位:选择校验位(无/奇/偶)
    串口配置

2. 显示选项

  • 显示时间戳:勾选后,接收到的数据会显示时间戳
  • 16进制显示:勾选后,接收到的数据会以16进制格式显示
    数据接收显示配置

3. 发送选项

  • 16进制发送:勾选后,输入的数据会以16进制格式发送
    16进制发送

4. 数据收发

  • 发送数据:在发送区域输入要发送的数据,点击"发送"按钮
  • 接收数据:在接收区域查看从串口接收到的数据
  • 自动滚动:勾选后,接收区域会自动滚动到最新数据
  • 清空:点击"清空"按钮清空发送或接收区域
    收发

5. 操作按钮

  • 刷新串口列表:刷新已授权的串口列表
  • 打开串口:打开选中的串口设备
  • 关闭串口:关闭当前打开的串口设备

注意事项

  1. 浏览器支持:Web Serial API仅在现代浏览器中可用,支持的浏览器包括:

    • Chrome
    • Edge
  2. 安全要求:Web Serial API仅在HTTPS或localhost环境下可用,因此必须使用HTTPS协议访问页面。

  3. 权限问题:首次使用时需要用户授权访问串口设备,授权后浏览器会记住该设备,下次使用时无需再次授权。

  4. 自定义波特率:输入自定义波特率时,请确保输入的是有效的正整数。

  5. 16进制格式:使用16进制发送时,输入的格式可以是空格分隔的16进制字符(如 48 65 6c),也可以是连续的16进制字符(如 48656c)。

故障排除

1. Web Serial API不可用

  • 确保使用的是支持Web Serial API的现代浏览器
  • 确保通过HTTPS或localhost访问页面
  • 检查浏览器版本是否满足要求

2. 无法找到串口设备

  • 确保串口设备已正确连接到计算机
  • 点击"打开串口"按钮,在弹出的对话框中选择要使用的串口设备
  • 检查设备驱动是否已正确安装

3. 关闭串口失败

  • 可能是因为串口正在被其他程序使用
  • 尝试重新打开浏览器或重启计算机
  • 检查设备是否有硬件问题
本文章已经生成可运行项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值