マイコン工作実験日記

Microcontroller を用いての工作、実験記録

BM20を動かしてみる

2017-08-14 01:07:54 | WT32/BM20
準備は整ったので、いよいよ実際にBM20を動かしてみます。もともとBM20はサウンドバーとかスピーカー・フォンのような民生機器に用いられることを意識したモジュールなので、制御マイコン無しでも電源を入れてやるだけでBlueoothスピーカとして十分な機能を提供してくれます。

電源を入れる前に、まずDIP SWの設定を行っておきます。PIN1とPIN2をOFF, PIN3をONにしてやることで、BM20のP20, P24, EANの各端子を全てHighにして電源を入れることで、通常動作モードで起動します。実験ボード上にはLED1とLED2の2つのLEDが実装されています。ADP_INに5Vを入れてやるとLED2がしばらく点灯して、消えました。この状態では、接続された電池への充電機能は動くものの、Bluetooth部分はオフになっているようです。

BM20評価ボードのマニュアルによると、MFBボタンをクリックすると電源が入って、ペアリングモードになり、LEDがブリンクするとのことだったのですが、何度ボタンをクリックしても電源が入らず、焦りました。試しに長押しすると2つのLEDが点滅して電源が入り、さらにMFBボタンを押し続けるとペアリングモードに入って、ふたつのLEDが交互に点滅することがわかりました。また、電源が入った時とペアリングモードに入った時には、動作状態を知らせるトーンがスピーカから鳴って知らせてくれます。電源投入時には、あらかじめスピーカあるいはイヤフォンをつなげておきましょう。

ボタンへの機能割り当てやLEDの点滅パターン、トーンの種類はUI ToolというWindowsアプリでモジュール内に内蔵されているEEPROMの設定内容を変更することで、設定変更できるようです。またいくつかのイベントはトーンでの通知の代わりに音声ガイド(中/英/仏/西の4ヶ国語対応)での通知にも変更できるようです。ディフォルトでは音声ガイドは無く、トーン通知だけのようですので、後ほどEEPROM書き換えを試してみるつもりです。

ペアリング状態では、スマホから発見可能になるので、次のように表示されます。



EDDY SHSというのが、モジュール名とか内部で使用しているチップ名称というわけでも無く、何を示しているのかわからないのがちょっと不思議です。まぁ、この名前もUI Toolで変えられるようですので、何でもいいのですが。。

この後、ペアリングを行うと、そのまま接続もHFP, A2DP, AVRCPでの接続も行われるようです。



詳細は省略しますが、何の問題もなく音楽の再生や、電話の着信が行えました。残念ながらタクトスイッチの数が足りないのでAVRCPでの操作まではまだ確認できていません。さて、ここまでのところでちょっと疑問が。。
  • データシートにはPBAP 1.0に対応と書いてあるが、 HFP接続時に電話帳へのアクセス承認を求められない。つまり、BM20はPBAPでのアクセス要求を出していないのではないか?
  • データシートにはSPPをサポートしていると書かれているが、SPPでアクセスできない。

データシートを読んでも、サポートするプロファイルについては、名前が列挙されているだけで、それ以上の説明はありません。そこで Linuxを立ち上げて sdptoolでサービスを確認してみました。
Browsing 34:81:F4:09:43:17 ...
Service RecHandle: 0x10001
Service Class ID List:
  "PnP Information" (0x1200)
Language Base Attr List:
  code_ISO639: 0x656e
  encoding:    0x6a
  base_offset: 0x100
Profile Descriptor List:
  "PnP Information" (0x1200)
    Version: 0x0103

Failed to connect to SDP server on 34:81:F4:09:43:17: Connection refused
Service Name: Headset unit
Service RecHandle: 0x10002
Service Class ID List:
  "Headset" (0x1108)
  "Generic Audio" (0x1203)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 2
Language Base Attr List:
  code_ISO639: 0x656e
  encoding:    0x6a
  base_offset: 0x100
Profile Descriptor List:
  "Headset" (0x1108)
    Version: 0x0102

Service Name: Hands-free unit
Service RecHandle: 0x10003
Service Class ID List:
  "Handsfree" (0x111e)
  "Generic Audio" (0x1203)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 1
Language Base Attr List:
  code_ISO639: 0x656e
  encoding:    0x6a
  base_offset: 0x100
Profile Descriptor List:
  "Handsfree" (0x111e)
    Version: 0x0106

Service Name: Audio SNK
Service Provider: ISSC
Service RecHandle: 0x10008
Service Class ID List:
  "Audio Sink" (0x110b)
Protocol Descriptor List:
  "L2CAP" (0x0100)
    PSM: 25
  "AVDTP" (0x0019)
    uint16: 0x0102
Language Base Attr List:
  code_ISO639: 0x656e
  encoding:    0x6a
  base_offset: 0x100
Profile Descriptor List:
  "Advanced Audio" (0x110d)
    Version: 0x0102

Service Name: AVRCP CT
Service Provider: ISSC
Service RecHandle: 0x10006
Service Class ID List:
  "AV Remote" (0x110e)
  "AV Remote Controller" (0x110f)
Protocol Descriptor List:
  "L2CAP" (0x0100)
    PSM: 23
  "AVCTP" (0x0017)
    uint16: 0x0104
Language Base Attr List:
  code_ISO639: 0x656e
  encoding:    0x6a
  base_offset: 0x100
Profile Descriptor List:
  "AV Remote" (0x110e)
    Version: 0x0105

Service Name: AVRCP TG
Service Provider: ISSC
Service RecHandle: 0x1000c
Service Class ID List:
  "AV Remote Target" (0x110c)
Protocol Descriptor List:
  "L2CAP" (0x0100)
    PSM: 23
  "AVCTP" (0x0017)
    uint16: 0x0104
Language Base Attr List:
  code_ISO639: 0x656e
  encoding:    0x6a
  base_offset: 0x100
Profile Descriptor List:
  "AV Remote" (0x110e)
    Version: 0x0105

HSP, HFP, A2DP, AVRCPをサポートしていることはわかりますが、SPPのサービスが見当たりません。どうやら、出荷時の設定では SPPはイネーブルされていないようで、EEPROM設定を変更してやらなければならないようです。

こんなわけで、次の段階としてはEEPROM設定を変更してみる予定です。しかしながら、ここまでの段階でも、BM20はMFBスイッチとスピーカをつけて電源を与えてやれば、何の設定も無しにそれだけでBluetooth対応スピーカとして使えるということがわかりました。ディフォルトの設定で、何の不自由もなく使えてしまうので、簡単な電子工作ネタとしても手頃ですね。ただし、そのディフォルトの設定というのがわかりにくいが難点でもあります。ディフォルトの設定内容がデータシートやアプリケーションノートに明示されていないのです。

最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。