hcilab / Momo

The Falling Of Momo.
MIT License
4 stars 1 forks source link

Bypass Myo-Connect software #67

Closed aarontabor closed 7 years ago

aarontabor commented 7 years ago

The Myo Connect software has seemingly been a source of spurious armband disconnect and unintended vibrations during gameplay, so ideally we would like to bypass it completely. Additionally, requiring a patient to install, configure, and coordinate 2 pieces of software is too much to ask from a normal user.

I initially thought that the myo-java project (a Java language binding to the standard Myo SDK, found here: https://github.com/NicholasAStuart/myo-java) would do it for us, but after reading more closely, I'm not so sure that it does. It appears that this library still requires the armband to be connected to a running Myo Connect instance.

An toy example making use of the myo-java project can be found here: http://developerblog.myo.com/myo-unleashed-java/

Another route we could take would be to communicate with the armband directly using the (recently open-sourced) Bluetooth protocol. An overview of the protocol spec can be found here: http://developerblog.myo.com/myo-bluetooth-spec-released/

... and an implementation can be found in Python in the myo-raw project: https://github.com/dzhu/myo-raw

Questions

  1. Does the myo-java project require the use of Myo Connect? (I suspect the answer is yes)
  2. How big of a task is it to translate the myo-raw project into processing?
  3. Can we (in a way that reduces the burden on the user) incorporate the existing python library into our project?
aarontabor commented 7 years ago

I'm a little concerned about simply delegating to the myo-raw project because requiring a user to have Python installed on their Windows machine is more involved than simply having them use the Myo Connect software.

We could compile the myo-raw Python portion, but then we run into compatibility issues across different platforms. Additionally, we cannot compile the myo-raw project in Java bytecode using Jython, as it is missing some of the key serial communication libraries needed.

alex959595 commented 7 years ago

Yes I looked into this a little last week also and I agree. 1.The myo-java project does require the use of Myo Connect.

  1. I started looking into this and started making a test application to try to connect to myo with processing without MyoConnect software.
  2. I also had some similar issues with the myo_raw.py. I also have been working with myo_raw to help build the test application on processing.
aarontabor commented 7 years ago

I added a fix to the myo-raw project here: https://github.com/aarontabor/myo-mapper

aarontabor commented 7 years ago

Fixed in bce9689a05e58be0a489c9e40acf464ebdbe6d47