まとめ
- HM-10, HM-11, AT-09にシリアル接続し、ATコマンドで設定を参照・変更できました
- HM10とAT-09の電源は3.3Vでも5VでもOK
- Teratermは使わない。Arduinoでスケッチを書くか、HMComAssistantを使うこと
- HM-11のATコマンドは大文字で!
- コマンドに改行が必要だったり不要だったり、?が必要だったり不要だったり、レスポンスのセパレータが:だったり=だったりという小さな差がありました(できれば、ファームを統一できたほうが楽です)
HM-10とAT-09の端子説明の印字は同一だが、RX/TXが逆- C#でそれぞれのモジュール用に設定ができるアプリを作ってみました
- https://github.com/juosugi/BLEDeviceConfigurator
HM-11
ピンをハンダ付け
- GND/TX/RXにピンを立ててハンダ付けします
- 3.3VのUSBシリアルにつなぎます
Teratermから確認
- 9600-N-1で接続
- ATと打って、OKが返ってくれば、OK!
- なのですが、A、T、まで打ったところでOKが返ってきてしまいます
- ATコマンドのすべての文字+CRLFを一続きに送信する必要があるらしく、そのためにHMComAssistantというツールを使って送信します
AT-09
うまくゆかない・・・
- ブレッドボードにタグを立てて、USBシリアルと接続します
- HMComAssistanからATを送っても無応答です
- 念のためロジアナで信号を見ても、確かに何も返ってきません
対応方法
- 色々試して、次の事が分かりました
- Arduinoのスケッチからは正しくアクセスできる
- ATを送信するとOKが返ってくる
- おそらくArduinoのシリアルのライブラリがCRLFを正しく付けてくれている
- HMComAssistantを使う場合は、ATコマンド+CRLFを送信すればOK
- 色々とページを見てましたが、CRLFが重要だと書いてあるページもあったのに、なかなか気付きませんでした
- ロジアナでみたところ
- AT+HELPの結果
*****************************************************************
Command Description
----------------------------------------------------------------
AT Check if the command terminal work normally
AT+DEFAULT Restore factory default
AT+BAUD Get/Set baud rate
AT+RESET Software reboot
AT+ROLE Get/Set current role.
AT+DISC Disconnect connection
AT+ADVEN Broadcast switch
AT+ADVI Broadcast interval
AT+NINTERVAL Connection interval
AT+POWE Get/Set RF transmit power
AT+NAME Get/Set local device name
AT+LADDR Get local bluetooth address
AT+VERSION Get firmware, bluetooth, HCI and LMP version
AT+TYPE Binding and pairing settings
AT+PIN Get/Set pin code for pairing
AT+UUID Get/Set system SERVER_UUID .
AT+CHAR Get/Set system CHAR_UUID .
AT+INQ Search from device
AT+RSLV Read the scan list MAC address
AT+CONN Connected scan list device
AT+CONA Connection specified MAC
AT+BAND Binding from device
AT+CLRBAND Cancel binding
AT+GETDCN Number of scanned list devices
AT+SLEEP Sleep mode
AT+HELP List all the commands
HM-10
- AT-09が壊れているのかも?と思い、純正品(おそらく)を手配して試してみました
- AT-09と差し替えて使ってみます
-
RX/TXの配線を逆にしたらうまく行きました(どちらの表示が正しいのかは確認してませんが、とりあえず逆になっていることは確かです)→勘違いでした・・・
(手前の小さいブレッドボードに載っているのがHM-10です。AT-09よりほんの少し、小さい(短い)ようです。加工も比べるとなんとなくきれいです)
これから
- それぞれのタグ毎に簡単に各種設定ができるツールか、Arduinoのスケッチを作る
- CR2032バッテリホルダーを付けてケースに入れる
- てなことを考えています・・・
そのほか
- デバイスはAmazonで手配しましたが、手配した時はそれぞれ次のような値段でした(今年の1月頃から手配)
デバイス | 価格(税抜) | バージョン |
---|---|---|
HM-11 | 880円 | HMSoft V549 |
AT-09 | 685円 | MLT-BT05-V4.2 |
HM-10 | 999円 | DSD TECH V551 |
追記(2018/04/21)
- C#でこれら3種類のデバイスに対して、デバイス名と出力レベルをかんたんに設定できるツールを作りました
- GitHubに上げてみました
- https://github.com/juosugi/BLEDeviceConfigurator