Open 0x0c opened 9 years ago
konashi serviceをadvしていないので無理。
下位互換モードを用意して、advしているファームでは実現できると良い気がする。
kwsk! advパケットの長さの制約でkonashi2の128bitアドレスをうまくadvできるか要検証
2015-10-26 1:23 GMT+09:00 Akira MATSUDA notifications@github.com:
下位互換モードを用意して、advしているファームでできると良い気がする。
— Reply to this email directly or view it on GitHub https://github.com/YUKAI/konashi-ios-sdk/issues/94#issuecomment-150938689 .
鷺坂 隆志 SAGISAKA Takashi sagisaka@ux-xu.com 090-5769-0963
ユカイ工学株式会社 http://www.ux-xu.com/
東京都新宿区富久町16-11 武蔵屋スカイビル101号 http://goo.gl/maps/tuv8z
TEL:03-6380-4710
【新製品】BOCCO 〜 家族をつなぐコミュニケーションロボット 〜 http://youtu.be/qiWEhdBeQmA
findメソッドに互換モード(service uuidでフィルタリングしない)とフィルタリングするモードを用意して、konashiを使うユーザは前者を、koshianしか使わないユーザは後者を使うと、開発の時に余計なペリフェラルが一覧表示に紛れ込まず便利かなと考えました。 モードの切替は、引数でYES/NOを渡す感じです。
SDKのインタフェースはそのままで-findは互換モード、-findPeripheral:(BOOL)legacyModeというメソッドを作ってNOでフィルタリングモード、YESで互換モード、みたいな感じです。
android-sdkはkonashi類しかリストされないようになってて(しかもscanの時間もすげー短い)あれがどういう仕組なのか興味ある
2015年10月26日 12:19 Akira MATSUDA notifications@github.com:
findメソッドに互換モード(service uuidでフィルタリングしない)とフィルタリングするモードを用意して、konashiを使うユーザは前者を、koshianしか使わないユーザは後者を使うと、開発の時に余計なペリフェラルが一覧表示に紛れ込まず便利かなと考えました。 モードの切替は、引数でYES/NOを渡す感じです。
SDKのインタフェースはそのままで-findは互換モード、-findPeripheral:(BOOL)legacyModeというメソッドを作ってNOでフィルタリングモード、YESで互換モード、みたいな感じです。
— Reply to this email directly or view it on GitHub https://github.com/YUKAI/konashi-ios-sdk/issues/94#issuecomment-151012090 .
鷺坂 隆志 SAGISAKA Takashi sagisaka@ux-xu.com 090-5769-0963
ユカイ工学株式会社 http://www.ux-xu.com/
東京都新宿区富久町16-11 武蔵屋スカイビル101号 http://goo.gl/maps/tuv8z
TEL:03-6380-4710
【新製品】BOCCO 〜 家族をつなぐコミュニケーションロボット 〜 http://youtu.be/qiWEhdBeQmA
androidはnameに含まれている文字列でフィルタリングしています。 https://github.com/YUKAI/konashi-android-sdk/blob/11e5da8a03754d298ecb49c3d95fc0ac6607bd82/konashi-android-sdk/src/main/java/com/uxxu/konashi/lib/ConnectionHelper.java#L87-L95
advできればしたいですね。 スキャン時間が短いのは、androidのBLEドライバがいい感じにしているのかもしれません。
adv追加は簡単だけど、過去版との整合をどうとるか。 現行koshianのadv部分は下記。 adv flag とlocal nameのみパックしてます。
BLE_ADV_FIELD adv[2];
adv[0].len = 0x01 + 0x01;
adv[0].val = ADV_FLAGS;
adv[0].data[0] = LE_LIMITED_DISCOVERABLE | BR_EDR_NOT_SUPPORTED;
adv[1].len = strlen(bleprofile_p_cfg->local_name) + 0x01;
adv[1].val = ADV_LOCAL_NAME_COMP;
memcpy(adv[1].data, bleprofile_p_cfg->local_name, adv[1].len - 0x01);
bleprofile_GenerateADVData(adv, 0x02);
2015年10月26日月曜日、Akira MATSUDAnotifications@github.comさんは書きました:
androidはnameに含まれている文字列でフィルタリングしています。
advできればしたいですね。 スキャン時間が短いのは、androidのBLEドライバがいい感じにしているのかもしれません。
— Reply to this email directly or view it on GitHub https://github.com/YUKAI/konashi-ios-sdk/issues/94#issuecomment-151133915 .
鷺坂 隆志 SAGISAKA Takashi sagisaka@ux-xu.com 090-5769-0963
ユカイ工学株式会社 http://www.ux-xu.com/
東京都新宿区富久町16-11 武蔵屋スカイビル101号 http://goo.gl/maps/tuv8z
TEL:03-6380-4710
【新製品】BOCCO 〜 家族をつなぐコミュニケーションロボット 〜 http://youtu.be/qiWEhdBeQmA
過去版との整合性は、findメソッド自体の動作を互換モードで動かせば、既存のコードの動作は変わらないです。
advでfindするperipheralをフィルタリングする場合、
konashiの基本的なUXに含めるか、今後の展開との競合が発生しないか話し合う必要がありますね。 BLEデバイスが今後増えていくとなると、ActionSheetに大量に表示されてしまうのは辛いですね。。
エッジケースだけど、展示会で、流石に全デバイスを出していると非常に使いづらかった。
CEATEC2017でも、同じ問題が起きた。 シンプルにscan allしてから名前でfilterするのがいい。
konashiだけfindする