Skip to content

nickrunning/nickrunning.github.io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Matter QR Code Decoder

在线Matter二维码解码工具,支持Base38编码解析

在线使用

🌐 访问地址: https://nickrunning.github.io

功能特性

  • 多输入方式: 支持QR码文本直接输入和图片文件拖拽/选择
  • 完整解码: 解析Matter二维码和手动配对码的所有字段信息
  • Base38支持: 基于Matter规范实现的Base38编码/解码
  • 多语言界面: 支持中文、英文、日文界面
  • 离线运行: 纯前端实现,无需网络连接
  • 现代UI: 响应式设计,支持移动端
  • 数据验证: 完整的输入验证和错误提示

快速开始

在线使用

直接访问 GitHub Pages 站点 即可使用

本地运行

# 克隆仓库
git clone https://github.com/nickrunning.git
cd matter-qr-decoder

# 启动本地服务器
python -m http.server 8000
# 或使用 Node.js
npx serve .

# 访问 http://localhost:8000

支持格式

QR Code格式

MT:YNJV7VSC00KA0648G00

手动配对码格式

34970112332  (11位标准格式)
749701123320000000000  (21位扩展格式)

解码字段

解码后会显示以下信息:

  • 格式类型: QR Code 或 Manual Code
  • 版本: Matter版本号
  • Vendor ID: 厂商标识符 (16位十六进制)
  • Product ID: 产品标识符 (16位十六进制)
  • 配对流程: Standard/User Intent/Custom
  • 发现能力: SoftAP/BLE/OnNetwork (仅QR码)
  • 判别器: 设备判别器值
  • 配对码: 27位PIN码
  • 原始数据: 输入的原始QR码或配对码

技术实现

核心组件

  1. Base38.js: Matter Base38编码/解码算法实现
  2. matter-decoder.js: Matter Setup Payload解析核心逻辑
  3. app.js: 主应用程序和UI交互逻辑
  4. i18n.js: 国际化和多语言支持
  5. styles.css: 现代化响应式界面样式

第三方依赖

  • jsQR: 用于从图片中提取QR码内容 (CDN加载)

位字段解析

QR码使用以下位字段结构(LSB→MSB):

- Padding: 4位
- PIN Code: 27位  
- Discriminator: 12位
- Discovery: 8位
- Flow: 2位
- Product ID: 16位
- Vendor ID: 16位
- Version: 3位

部署到GitHub Pages

方法1: 自动部署 (推荐)

  1. Fork 这个仓库到您的GitHub账户
  2. 在仓库设置中启用GitHub Pages
  3. 选择源分支为 maingh-pages
  4. 访问 https://nickrunning.github.io

方法2: 手动部署

# 克隆仓库
git clone https://github.com/nickrunning.git

# 推送到GitHub
git add .
git commit -m "Initial commit"
git push origin main

# 在GitHub仓库设置中启用Pages

使用方法

在线使用

  1. 访问GitHub Pages链接直接使用
  2. 选择输入方式:
    • 文本输入: 直接粘贴Matter二维码文本
    • 二维码上传: 拖拽或选择QR码图片
  3. 点击"解码"按钮查看结果
  4. 可以复制解码结果或切换语言

本地部署

# 克隆或下载项目文件
cd matter-qr-decoder

# 使用任意HTTP服务器运行
python -m http.server 8000
#
npx serve .

# 访问 http://localhost:8000

项目结构

matter-qr-decoder/
├── index.html          # 主页面
├── styles.css          # 样式文件
├── base38.js           # Base38编解码
├── matter-decoder.js   # Matter解码核心
├── i18n.js            # 国际化支持
├── app.js             # 主应用逻辑
├── test.html          # 功能测试页面
├── _config.yml        # Jekyll配置
├── .nojekyll          # 禁用Jekyll处理
└── README.md          # 项目说明

兼容性

  • 现代浏览器: Chrome 60+, Firefox 55+, Safari 11+, Edge 79+
  • 移动端: iOS Safari, Android Chrome
  • 功能: ES6+, Canvas API, File API, Clipboard API

参考资料

基于以下Matter规范实现:

许可证

基于 Apache License 2.0 开源,与Matter项目保持一致。

贡献

欢迎提交Issue和Pull Request来改进此工具!

更新日志

v1.0.0

  • 初始发布
  • 支持Matter二维码和手动配对码解析
  • 多语言界面支持
  • 响应式设计
  • GitHub Pages部署支持

About

nickrunning's home page

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published