Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/heytang233/ble-osc-heartrate
一个 Python 项目,用于通过 Bluetooth Low Energy (BLE) 扫描心率传感器数据,并通过 Open Sound Control (OSC) 协议将心率信息实时发送到 VRChat 客户端。支持自动连接符合条件的 BLE 设备,提取心率数据并进行处理,支持动态更新 VRChat 中的心率参数。
https://github.com/heytang233/ble-osc-heartrate
ble bluetooth heart-rate osc python vrchat
Last synced: about 1 month ago
JSON representation
一个 Python 项目,用于通过 Bluetooth Low Energy (BLE) 扫描心率传感器数据,并通过 Open Sound Control (OSC) 协议将心率信息实时发送到 VRChat 客户端。支持自动连接符合条件的 BLE 设备,提取心率数据并进行处理,支持动态更新 VRChat 中的心率参数。
- Host: GitHub
- URL: https://github.com/heytang233/ble-osc-heartrate
- Owner: HeyTang233
- License: mit
- Created: 2024-11-12T20:54:18.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2024-11-12T21:15:49.000Z (about 1 month ago)
- Last Synced: 2024-11-12T21:34:31.656Z (about 1 month ago)
- Topics: ble, bluetooth, heart-rate, osc, python, vrchat
- Language: Python
- Homepage:
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# VRChat 心率显示
这是一个结合了 **Bluetooth Low Energy (BLE)** 扫描和 **OSC** 消息发送的 Python 项目。它可以扫描附近的 BLE 设备,提取心率数据,并通过 **Open Sound Control (OSC)** 协议将心率数据发送到 **VRChat** 客户端,实现实时显示和控制。
## 功能
- 扫描并连接到符合特定 **公司 ID** 的 BLE 设备。
- 提取 BLE 广告数据中的心率值。
- 将心率数据通过 **OSC** 协议发送到 VRChat。
- 支持实时心率更新。## 环境要求
- Python 3.x
- 以下 Python 库:
- **`bleak`**: 用于 BLE 设备扫描
- **`python-osc`**: 用于 OSC 消息发送## 安装依赖
你可以通过以下命令安装项目的所有依赖:
~~~bash
pip install -r requirements.txt
~~~或者直接安装依赖:
~~~bash
pip install bleak python-osc
~~~## 使用方法
1. **连接到 BLE 设备**
启动程序后,它会自动扫描附近的 BLE 设备,并提取符合条件的设备数据(例如带有特定公司 ID 的设备)。程序会检查心率数据,并将其发送到 VRChat 客户端。2. **启动程序**
使用以下命令启动程序:
~~~bash
python main.py
~~~
程序会持续扫描 BLE 设备并将心率数据发送到 VRChat。3. **停止扫描**
在命令行按 `Ctrl+C` 停止程序。## 配置
* **VRChat 客户端的 IP 地址和端口** :
默认情况下,程序将数据发送到本地的 VRChat 客户端。你可以修改 `VRCHAT_IP` 和 `VRCHAT_PORT` 变量来适配你的环境。
~~~python
VRCHAT_IP = "127.0.0.1" # VRChat 客户端的 IP 地址
VRCHAT_PORT = 9000 # VRChat 默认的 OSC 端口
~~~
* **BLE 设备过滤条件** :
`TARGET_COMPANY_ID` 用于过滤蓝牙设备,仅当设备的公司 ID 与此值匹配时,程序才会提取其数据。~~~python
TARGET_COMPANY_ID = 0x0157 # 设置要扫描的公司 ID
~~~## 代码结构
* `main.py`:主程序文件,包含 BLE 扫描和 OSC 消息发送逻辑。
* `requirements.txt`:包含所有依赖库的文件。## 注意事项
* 在使用该程序之前,确保你已在 VRChat 中启用了接收 OSC 消息的功能,并正确配置了 VRChat 客户端的 OSC 服务器地址和端口。
* 该程序通过蓝牙扫描心率数据,需要你确保扫描到符合条件的设备(如带有心率传感器的设备)。## 常见问题
1. **程序无法识别设备**
请确保 BLE 设备在扫描范围内,并且设备的公司 ID 与 `TARGET_COMPANY_ID` 设置一致。2. **无法连接到 VRChat**
请确认 VRChat 客户端正在运行,并且已经配置了正确的 OSC 接收设置。3. **心率值显示异常**
检查蓝牙设备发送的广告数据,确保正确提取了心率信息。可以通过打印日志来调试。## 许可证
本项目使用 **MIT** 许可证,详情请参见 [LICENSE](LICENSE) 文件。