Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mewmix/bleak-dash
Control Dash Robots from Wonder Workshop on Mac, Windows and Linux thanks to BLEAK !
https://github.com/mewmix/bleak-dash
bleak bluetooth bluetooth-low-energy dash python3 robot robotics wonderworkshop
Last synced: 3 days ago
JSON representation
Control Dash Robots from Wonder Workshop on Mac, Windows and Linux thanks to BLEAK !
- Host: GitHub
- URL: https://github.com/mewmix/bleak-dash
- Owner: mewmix
- License: other
- Created: 2024-03-25T14:34:15.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2024-07-31T04:11:19.000Z (6 months ago)
- Last Synced: 2024-07-31T06:13:02.005Z (6 months ago)
- Topics: bleak, bluetooth, bluetooth-low-energy, dash, python3, robot, robotics, wonderworkshop
- Language: Python
- Homepage:
- Size: 35.2 KB
- Stars: 9
- Watchers: 4
- Forks: 5
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# bleak-dash
An unofficial [bleak](https://github.com/hbldh/bleak) powered cross platform python library for controlling [Wonder Workshop's](https://www.makewonder.com/) [Dash](https://www.makewonder.com/?gclid=CPOO8bC8k8oCFdaRHwodPeMIZg) robot.
## NOTICE:
Adapted from original source code Copyright 2016 Ilya Sukhanov https://github.com/IlyaSukhanov/morseapi & updated code Copyright 2018 Russ Buchanan https://github.com/havnfun/python-dash-robotKey differences:
- Changed backend from pygatt to bleak
- Compatible with Python 3.11
- Cross Platform
- Asynchronous## Motivation
I wanted to use my kids dash robot from my Mac or my Windows machine without reinventing the wheel.## Compatibility
Using Bleak we should be Windows / Mac / Linux agnostic. Please let me know if any issues. Tested on M1 & Windows
## Getting Started
```
git clone https://github.com/mewmix/bleak-dash
cd bleak-dash
pip install -e .
```## Tests
```
python tests/lightshow_random.py
```## Library Quick Start
```python
import asyncio
from dash.robot import DashRobot, discover_and_connectasync def main():
robot = await discover_and_connect()
if robot:
print(f"Connected to {robot.address}")
# Example command to move Dash
await robot.move(100, 100) # Move forward 100mm at 100mm/s
await robot.disconnect()if __name__ == "__main__":
asyncio.run(main())
```