- Notifications
You must be signed in to change notification settings - Fork19
Android Myo library with full data access and support for multiple Myos.
License
d4rken/myolib
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is an Android library to communicate with Myo devices.
It was created for a research project at themHealth - Uniklinik RWTH Aachen deparment. The projected required receiving sensor data (Gyro, Accl., EMG) from multiple Myo devices simultaneously, which was not possible at that time (August 2015) through the official Android SDK for Myo from Thalmic Labs.
Contributions are welcome. If you submit pull-requests please adhere to the projects current coding style.If you are using this library, i would love mention your project here, feel free to contact me.
Add it in your root build.gradle at the end of repositories:
allprojects { repositories {... maven { url'https://jitpack.io' } }}
Include this in your apps build.gradle file:
dependencies { implementation'com.github.d4rken:myolib:0.0.5'}
MyoConnectorconnector =newMyoConnector(getContext());connector.scan(5000,newMyoConnector.ScannerCallback() {@OverridepublicvoidonScanFinished(List<Myo>myos) {Myomyo =myos.get(0);myo.connect();myo.writeUnlock(MyoCmds.UnlockType.HOLD,newMyo.MyoCommandCallback() {@OverridepublicvoidonCommandDone(Myomyo,MyoMsgmsg) {myo.writeVibrate(MyoCmds.VibrateType.LONG,null); } }); }});
/** * ... */Myomyo =myos.get(0);myo.connect();EmgProcessoremgProcessor =newEmgProcessor();myo.addProcessor(emgProcessor);emgProcessor.addListener(newEmgProcessor.EmgDataListener() {@OverridepublicvoidonNewEmgData(EmgDataemgData) {Log.i("EMG-Data",Arrays.toString(emgData.getData())); }});
BaseMyobaseMyo =newBaseMyo(getContext(),bluetoothDevice);baseMyo.connect();ReadMsgreadMsg =newReadMsg(Battery.BATTERYLEVEL,newMyoMsg.Callback() {@OverridepublicvoidonResult(MyoMsgmsg) {byte[]result = ((ReadMsg)msg).getValue(); }});baseMyo.submit(readMsg);
BaseMyobaseMyo =newBaseMyo(getContext(),bluetoothDevice);baseMyo.connect();WriteMsgwriteMsg =newWriteMsg(UUID.fromString("00001800-0000-1000-8000-00805f9b34fb"),UUID.fromString("00002A00-0000-1000-8000-00805f9b34fb"),null,newbyte[]{/*....*/},newMyoMsg.Callback() {@OverridepublicvoidonResult(MyoMsgmsg) {if(msg.getGattStatus() ==BluetoothGatt.GATT_SUCCESS)Log.i("MYOAPP","Data written!"); } });baseMyo.submit(writeMsg);
This library is licensed under Apache 2.0, seeLICENSE
If you use "Android Myo library by darken" for your publication, please cite the following publication:
- Kutafina E, Laukamp D, Jonas SM. Wearable Sensors in Medical Education: Supporting Hand Hygiene Training with a Forearm EMG. Stud Health Technol Inform. 2015;211:286-91.
About
Android Myo library with full data access and support for multiple Myos.