diff --git a/.gitignore b/.gitignore index a547bf3..714271d 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,8 @@ dist dist-ssr *.local +.history + # Editor directories and files .vscode/* !.vscode/extensions.json diff --git a/README.md b/README.md index 852ce3d..fc73749 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,105 @@ -# DG-LAB-Socket-To-V2 -用于将DG-LAB 3.0的Socket控制转换为DG-LAB 2.0蓝牙的控制器 \ No newline at end of file +# DG-LAB-Socket-To-V2 📡 + +[![Vue 3](https://img.shields.io/badge/Vue-3.x-green.svg)](https://vuejs.org/) +[![DaisyUI](https://img.shields.io/badge/UI-DaisyUI-blue.svg)](https://daisyui.com/) +[![Web Bluetooth](https://img.shields.io/badge/API-Web_Bluetooth-blueviolet.svg)](https://developer.mozilla.org/en-US/docs/Web/API/Web_Bluetooth_API) + + +这是一个基于 Vue 3 + Web Bluetooth API 的网页控制台。它的核心作用是将 **DG-LAB 3.0 生态的 WebSocket 控制信号** 实时转换并映射为 **DG-LAB 2.0 (郊狼/Coyote) 的蓝牙 BLE 指令**。 + +简单来说:**它让你的郊狼 V2 硬件,能够游玩支持 V3 App (Socket) 的第三方游戏或应用。** + +## ✨ 主要功能 + +* **硬件桥接**:利用浏览器直接连接郊狼 V2,无需安装额外 APP。 +* **协议转换**:内置 V3 到 V2 的波形算法,将 V3 的频率/强度数据映射为 V2 的 A/B 通道脉冲。 +* **扫码连接**:集成 QR Code 扫描器,支持直接扫描 DG-LAB socket 二维码(或粘贴链接)进行连接。 +* **可视化控制台**: + * 实时显示双通道波形(柱状图可视化)。 + * 强度上限锁(安全限制器)。 + * 电池电量监控。 +* **双向反馈**:模拟 App 端的反馈按钮,支持向服务端发送 `feedback` 信号。 +* **安全机制**: + * WS 断开时自动归零强度。 + * 蓝牙初次连接时自动归零。 + * HTTPS 环境下的混合内容(ws://)连接引导。 + +## 🖥️ 兼容性与运行环境 + +由于使用了 **Web Bluetooth API**,请使用以下浏览器: + +* **桌面端**:Google Chrome, Microsoft Edge, Opera (或其他 Chromium 内核浏览器)。 +* **移动端**:Chrome for Android。 +* ❌ **不支持**:Firefox, Safari (iOS), 微信内置浏览器。 + +> **注意**:Web Bluetooth 必须在 **HTTPS** 协议下(或 `localhost`)才能运行。 + +## 🚀 快速开始 + +### 方式一:直接使用在线 +1. 打开网页:https://dg-lab.liulikeji.cn/ +2. 确保电脑/手机蓝牙已开启。 +3. 长按郊狼 V2 上的按键开启电源(确保未连接其他手机 App)。 +4. 点击连接按钮,在浏览器弹窗选择你的设备 +5. 扫码或手动输入qr码内容并连接 +6. 设置MaxLevel + +### 方式二:本地开发运行 + +```bash +# 1. 克隆项目 +git clone https://git.liulikeji.cn/xingluo/computer_craft_video_play.git + +# 2. 进入目录 +cd DG-LAB-Socket-To-V2 + +# 3. 安装依赖 +npm install + +# 4. 启动开发服务器 +npm run dev + +# 5. 构建 +npm run build +``` + +## 📖 使用指南 + +1. **连接蓝牙硬件 (BLE)** + * 点击界面上的 **"搜索并连接郊狼 V2"** 按钮。 + * 在弹出的浏览器窗口中选择您的设备(名称通常包含 `D-LAB`)。 + * 连接成功后,右上角 BLE 指示灯变绿,并显示电量。 + +2. **建立 Socket 连接** + * **扫码**:点击相机图标 📷,扫描第三方游戏提供的 DG-LAB 控制连接二维码。 + * **粘贴**:直接将 `ws://` 或 `wss://` 开头的完整链接(或包含 `#DGLAB-SOCKET#` 的文本)粘贴到输入框。 + * 点击 **"连接 WS"**。 + * 连接并绑定成功后,WS 指示灯变绿,状态显示 "已绑定"。 + +3. **控制与反馈** + * 此时,第三方应用发送的波形会自动传输到您的设备。 + * 您可以使用界面下方的 **Limit A / Limit B** 滑块设置最大强度限制。 + * 点击底部的 **App Feedback Simulation** 按钮(A-1 ~ B-5)可向服务器发送交互反馈。 + +4. **关于 ws:// 连接的安全策略** + * 如果网页部署在 HTTPS 下,但尝试连接不安全的 `ws://` 地址,浏览器会拦截。 + * 本项目内置了检测弹窗,请按照弹窗内的指引配置 `chrome://flags` 允许不安全内容,或使用通过 SSL 加密的 `wss://` 服务端。 + +## ⚠️ 免责声明 + +* 本项目仅供学习与技术交流,**不是 DG-LAB 官方产品**。 +* 您应当知晓电刺激(E-Stim)设备的潜在风险。 +* 作者不对因使用本项目导致的硬件损坏或身体不适承担任何责任。请务必合理使用强度限制功能。 + +--- + + +# Run locally +npm run dev +``` + +## ⚠️ Disclaimer + +* This is a community project, **not affiliated with DG-LAB**. +* Use at your own risk. The author is not responsible for any harm or hardware damage causing by using this software. Always use the built-in strength limiters. \ No newline at end of file