先週記事にしたようにiWRAP 5.0のβが始まったので、わたしもアップデートしてみました。まずは、infoの出力から。
βであることの警告が目を引きますが、内容を見るといつのまにやらBluetooth version が 3.0になっています。ファームのアップデートに際しては、注意することがひとつできました。機能の追加によりファームのサイズが大きくなったために、WT32では用途に応じて2種類のファームが用意されるようになりました。具体的には音声を受ける側(HFP unit, A2DP sink)のデバイスを作るのか、あるいは音声を送る側(HFP Audio Gateway, A2DP source)のデバイスを作るのかに応じて、適切な方のファームウェアイメージを選択する必要があります。
iWRAP 5.0ではApple のiAPや、HDPをサポートする機能が標準ファームウェアの一部として提供されるようになったために、ファームウェアサイズの増大を招き、このような解決策をとるにいたったようです。ちなみにiAPの方は、AppleのMFiプログラムに参加してライセンスを受けているユーザにしか利用することはできません。参加費用を払って技術資料を入手したうえで、さらにiAPを使う際に必要となる認証用のチップをAppleから購入して、製造販売する製品に組み込む必要があるようです。このチップはI2Cでつなぐらしいのですが、WT32ではGPIOピンのうちの2つの端子がI2C端子として機能することで、このチップを接続することができます。WCA-009ではGPIO端子も全て使用可能となっていますので、iAP対応デバイスの開発試験に使用することも可能なわけですが、個人では手の出しようがありません。
一方のHDPは体重計、血圧計、脈拍計といった機器を接続するためのプロファイルですが、対応する計器を持っていないので試してみることができません。以前、タニタがBluetooth対応の体重計を出しているとのことで確認してみましたが、SPPでした。ひょっとしたら、健康診断のような業務用用途には対応機器が売られているのでしょうか?個人用に安価に買えるものがあれば、実験してみたいものです。
こんなわけで、iWRAP 5.0で強化された機能を試す機会はなかなか訪れないのですが、久しぶりにAndroid端末を使ってみる機会があったので、久しぶりにPBAPの動作を確認してみました。
以前調べた時にはマニュアルの説明と動作が違うと理解していたのですが、それはマニュアルの表記がわかりにくかったために、内容を誤って解釈していたためでした。わたしの質問を受けて、iWRAP 5.0のマニュアルでは、PBAPコマンド部分の説明の一部が修正されたようです。
さて、今回つないでみたのは Android 2.3.4搭載のF12C. わたしの電話番号を連絡先に登録しておいて、着信を受けた後で、PBAPで着信履歴を調べてみました。
PBAPコマンドの最初の引数 01 で電話機内の着信履歴にアクセスすることを指示。つづく 1 0のふたつの引数で履歴先頭からひとつ読み出しを指定。最後の 0 1では、全ての内容をVcard 3.0形式で出力のハズだったのですが、どういうわけか 2.1形式で返答が返ってきました。単純に電話帳をダンプする場合には、Vcard 3.0で出力できるので、端末側が対応できていないのでしょうか?
FNならびにN属性は名前を表しているのですが、QUOTEされた16進表示になってしまっているので読みにくくなっていますが、デコードすれば "506 sirius"となっています。この部分も Vcard 3.0で返してくれれば、UTF8で読み出せるハズなのですが。。。
いいかげんに自分でスマホ買えばいいようなもんですが、こういう結果を見るにつけ事前の確認をとっておきたくなります。HFP 1.6を試すうえでも、Android 4.0が必要ですしね。