{"id":28686216,"url":"https://github.com/Das-L1/Heartrate-Buttplug","last_synced_at":"2025-06-14T04:04:48.177Z","repository":{"id":289569681,"uuid":"971696134","full_name":"Das-L1/Heartrate-Buttplug","owner":"Das-L1","description":"Use your heartrate to turn your buttplug on and off","archived":false,"fork":false,"pushed_at":"2025-05-24T19:03:37.000Z","size":55,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-24T20:19:32.432Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Das-L1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-23T23:24:46.000Z","updated_at":"2025-05-24T19:03:41.000Z","dependencies_parsed_at":"2025-04-24T00:38:16.861Z","dependency_job_id":null,"html_url":"https://github.com/Das-L1/Heartrate-Buttplug","commit_stats":null,"previous_names":["das-l1/heartrate-buttplug"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Das-L1/Heartrate-Buttplug","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Das-L1%2FHeartrate-Buttplug","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Das-L1%2FHeartrate-Buttplug/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Das-L1%2FHeartrate-Buttplug/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Das-L1%2FHeartrate-Buttplug/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Das-L1","download_url":"https://codeload.github.com/Das-L1/Heartrate-Buttplug/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Das-L1%2FHeartrate-Buttplug/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259756872,"owners_count":22906675,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-14T04:01:08.778Z","updated_at":"2025-06-14T04:04:48.170Z","avatar_url":"https://github.com/Das-L1.png","language":"JavaScript","funding_links":[],"categories":["Applications"],"sub_categories":["Utilities"],"readme":"```markdown\nhttps://discord.gg/gwnvrSYtjp Check out our Discord Server\n# ❤️ Heart Rate-Actuated Vibrator Control System\n\nA Node.js system that connects heart rate monitoring from OBS to vibrator control via the Buttplug protocol. Automatically adjusts vibration intensity based on real-time heart rate data, with a web UI for manual control and monitoring.\n\n## 🚀 Features\n\n- 🩺 Real-time heart rate monitoring via OBS WebSocket  \n- 📈 Automatic vibrator control based on configurable HR threshold  \n- 🕹 Web-based control panel with manual override  \n- 🔌 Supports any Buttplug-compatible device via Intiface Central  \n- 🛠 Graceful shutdown and error handling  \n- 📱 Mobile-friendly UI  \n\n## 🔧 Prerequisites\n\n1. [Node.js v18+](https://nodejs.org/)\n2. [Intiface Central](https://intiface.com/central/) (v2.3.0+)\n3. [HeartRateOnStream for OBS](https://play.google.com/store/apps/details?id=com.pezcraft.myapplication)\n\n## 📦 Installation\n\n```bash\ngit clone https://github.com/Das-L1/Heartrate-Buttplug.git\ncd hr-a\nnpm install\n```\n\n## ⚙️ Configuration\n\n### Intiface Central Setup\n\n- Launch Intiface Central  \n- Enable WebSocket Server in Settings  \n- Keep default port (12345)\n\n## ▶️ Usage\n\n### 1. Start the system\n\n```bash\nnpm start\n```\n\n### 2. Device Connection Flow\n\n1. Ensure Intiface Central is running  \n2. Turn on your Bluetooth device  \n3. The web UI will auto-connect to the first available device  \n\n### 3. Web Interface\n\n- Access at `http://localhost:3000`  \n- Real-time heart rate display  \n- Manual override switch  \n- Connection status monitoring  \n\n## 🎥 OBS Setup with HeartRateOnStream\n\n### Android App\n\n1. Install **HeartRateOnStream** on your Android device  \n2. Pair with your heart rate sensor  \n3. Set OBS WebSocket URL in app to `ws://your-pc-ip:4456`  \n4. Start broadcasting HR data  \n\n\n## 🛠 Troubleshooting\n\n| Issue                | Solution                                                      |\n|---------------------|---------------------------------------------------------------|\n| No device found     | Ensure Intiface Central is running and the device is paired   |\n| WebSocket errors    | Check firewall settings for port 4456                         |\n| HR data not updating| Verify HeartRateOnStream connection in OBS                    |\n| Connection retries  | Restart Intiface Central and the system                       |\n\n## 📄 License\n\nISC License. See [LICENSE](LICENSE) for details.\n\n---\n\n**Note**: Always ensure proper consent and safety measures when using physiological data for actuation systems.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDas-L1%2FHeartrate-Buttplug","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FDas-L1%2FHeartrate-Buttplug","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDas-L1%2FHeartrate-Buttplug/lists"}