1
0
mirror of https://github.com/undera/pylgbst.git synced 2020-11-18 19:37:26 -08:00
2017-09-16 00:46:37 +03:00

50 lines
1.3 KiB
Markdown

# Python library to interact with LEGO Move Hub
Requires `gattlib` to be installed, currently Python 2.7 only
Best way to start is to look into [demo.py](demo.py) file, and run it.
## Features
- auto-detect and connect for Bluetooth device
- auto-detects devices connected to Hub
- permanent Bluetooth connection server for faster debugging
- angled and timed movement for motors
- LED color change
- sensor data subscribe/unsubscribe
- battery voltage available
## Usage
```python
from pylgbst import MoveHub
hub = MoveHub()
for device in hub.devices:
print(device)
```
## Debug Server
```
sudo python -c "from pylgbst.comms import *; import logging; logging.basicConfig(level=logging.DEBUG); DebugServer(BLEConnection().connect()).start()"
```
## Roadmap
- make notifications from pygattlib to quickly get into parallel thread, to avoid segfaults
- support working with push button
- Give nice documentation examples, don't forget to mention logging
- make angled motors to be synchronous by default => 3-state status
- make sure unit tests cover all important code
- generalize getting device info + give constants (low priority)
## Links
- https://github.com/JorgePe/BOOSTreveng - source of protocol knowledge
- https://github.com/RealTimeWeb/blockpy
- https://ru.wikipedia.org/wiki/App_Inventor
- https://en.wikipedia.org/wiki/Blockly