今天我终于把MYO搞好了。之前无论如何都Update不动,搜了下发现可以用“直连线”强制升级。Anyway,让我们开始想想这玩意儿能玩啥吧!
又到了这个点儿,家里又只剩下YubiKey等超弱智设备陪着我。就只能打打擦边球了,用手机来充当Gadget吧...
看了一圈MYO的market,发现基本之前想的一些场景都有人实现了。比如用手势来操作chrome,操作鼠标,地图,游戏,甚至trello。
好,吧,惆怅了,写个啥呢...
有把吉他
抬望眼,看到有把吉他在远处蓬头垢面的看着我。再看我...再看我就拿你开Live!
嗯,万事具备,只差我不会弹,and没有粉丝了...
好,吧,那写个粉丝呗。请想象一下...“爷弹了个和弦,观众就掌声雷动!” O.O >.<
MYO get started on android
按文档Get Started。最简单的方法就是
- 用IDEA,创建一个Gradle项目,把dependecies改为
dependencies {
repositories {
maven {
url '<path to Myo SDK folder>/myorepository'
}
}
compile('com.thalmic:myosdk:0.10.+@aar')
}
- 添加权限
// Required for communicating with the Myo device
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
// Required for sending usage data to Thalmic Labs
<uses-permission android:name="android.permission.INTERNET" />
- 创建个hub,初始化它
Hub hub = Hub.getInstance();
hub.init(this)
- 给hub配置个listener来接受用户手势
Hub.getInstance().addListener(mListener);
...
private DeviceListener mListener = new AbstractDeviceListener() {
@Override
public void onConnect(Myo myo, long timestamp) {
Toast.makeText(mContext, "Myo Connected!", Toast.LENGTH_SHORT).show();
}
@Override
public void onDisconnect(Myo myo, long timestamp) {
Toast.makeText(mContext, "Myo Disconnected!", Toast.LENGTH_SHORT).show();
}
@Override
public void onPose(Myo myo, long timestamp, Pose pose) {
Toast.makeText(mContext, "Pose: " + pose, Toast.LENGTH_SHORT).show();
//TODO: Do something awesome.
}
};
- 修改Locking策略。这里的策略如果设置为STANDARD就会让激活手势和锁定之间的间隔很短,所以改为不锁定的NONE。
Hub.getInstance().setLockingPolicy(Hub.LockingPolicy.NONE);
- 弹出SDK内置的MYO选择界面。可以让你选择一个MYO进行连接。注意MYO只能同时连接一个设备。
Intent intent = new Intent(context, ScanActivity.class);
context.startActivity(intent);
这样就ok啦,测试一下可以看到各种Toast就证明ok啦。
p.s. SDK还会帮你提示用户打开蓝牙,用户同意后会自动打开蓝牙。
最后呢,想让我的小花痴粉丝为我欢呼的话,总得有个欢呼声音吧,总得播出来吧...嗯...代码就不写了...
躁起来吧,N小姐
嗯...如泣如诉的Live...
捂脸,匿了。>.<||
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。