# 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.