Skip to main content

Yet another MyoConnect alternative without dongles

Project description

dl-myo (Dongle-less Myo)

build status image size codecov python versions pypi version license

dl-myo is yet another MyoConnect alternative for Myo Armband without an official Myo dongle.

If you are fed up with the dongle and still want to use Myo anyway (in Python), this is the right stuff to grab.

The GATT service naming convention reflects the official BLE specification for Myo (i.e., myohw.h); however, some services and characteristics differ for a uniform naming.

See myo/profile.py for more detail.

Features

Compared to other Myo libraries/SDKs:

  • Full-scratched in Python, no dependency from other runtime (e.g., the official cpp SDK)
  • Multi-platform support based on Bleak, instead of bluepy or pybluez
  • Stream EMG data (filtered/raw) and IMU data simultaneously using asyncio
  • A sample docker image provided -- runs just off the shelf

Platform Support

Linux Raspberry Pi macOS Windows

Install

pip install dl-myo

Example

The script scans a Myo device, connect to the device, prints the GATT profile from the device, collect EMG data for 5 seconds, and then disconnect.

Any Myo Armband should have the service UUID d5060001-a904-deb9-4748-2c7f4a124842.

python examples/sample_client.py

Otherwise, you can also bind to a specific MAC address. For example,

python examples/sample_client.py --mac D2:3B:85:94:32:8E

Try the example with Docker

docker compose pull
docker compose run --rm dl-myo

Build with Poetry

Install Poetry first.

poetry build

Credits

This project was first inspired by Dongleless-myo (originally created by @mamo91 and enhanced by @MyrikLD) which provides a great starting point using bluepy.

In addition to Myo Bluetooth Official Protocol, I would like to mention that the following resources on GitHub have been very helpful:

Author

@iomz (Iori Mizutani)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dl_myo-1.0.2.tar.gz (25.2 kB view details)

Uploaded Source

Built Distribution

dl_myo-1.0.2-py3-none-any.whl (25.0 kB view details)

Uploaded Python 3

File details

Details for the file dl_myo-1.0.2.tar.gz.

File metadata

  • Download URL: dl_myo-1.0.2.tar.gz
  • Upload date:
  • Size: 25.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.1 CPython/3.11.4

File hashes

Hashes for dl_myo-1.0.2.tar.gz
Algorithm Hash digest
SHA256 12469fa1e1b902e26a6f04c8ac12a5d57fa2d83b33c1cd69c0d33abb780fbe34
MD5 9975e33d7c27333c18d310944e9cc65c
BLAKE2b-256 9563f4e1e3f9d4c3139822db92c96f1232eaaa54b7f516c082a5dfb3ace7c667

See more details on using hashes here.

Provenance

File details

Details for the file dl_myo-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: dl_myo-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 25.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.1 CPython/3.11.4

File hashes

Hashes for dl_myo-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8677a57d36c3637d3e3c1142635bccea6f09905c027212a5004cb91c72b573dd
MD5 1ec669c3d32718a134520532b96cb91a
BLAKE2b-256 097c6ff54a353a876721055cc4d5a315138c74060a08bba46c2ebd05aca92702

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page