3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

安価なBLEモジュールにシリアル接続してみた

Last updated at Posted at 2018-04-20

まとめ

  • 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

IMG_6562.jpg
(タグはこんな感じです。HM-10は写ってません)

HM-11

ピンをハンダ付け

  • GND/TX/RXにピンを立ててハンダ付けします

IMG_6561.jpg

  • 3.3VのUSBシリアルにつなぎます

Teratermから確認

  • 9600-N-1で接続
  • ATと打って、OKが返ってくれば、OK!
  • なのですが、A、T、まで打ったところでOKが返ってきてしまいます
  • ATコマンドのすべての文字+CRLFを一続きに送信する必要があるらしく、そのためにHMComAssistantというツールを使って送信します

hm-11.png
(画面はこんな感じ)

AT-09

うまくゆかない・・・

  • ブレッドボードにタグを立てて、USBシリアルと接続します

IMG_6565.jpg
(右手前にあるのはデバッグ用のロジックアナライザです)

  • HMComAssistanからATを送っても無応答です
  • 念のためロジアナで信号を見ても、確かに何も返ってきません

logic.png

対応方法

  • 色々試して、次の事が分かりました
  • Arduinoのスケッチからは正しくアクセスできる
  • ATを送信するとOKが返ってくる
  • おそらくArduinoのシリアルのライブラリがCRLFを正しく付けてくれている
  • HMComAssistantを使う場合は、ATコマンド+CRLFを送信すればOK
  • 色々とページを見てましたが、CRLFが重要だと書いてあるページもあったのに、なかなか気付きませんでした

114.png
(ATの下に改行がひとつあります)

  • ロジアナでみたところ

hm11.png
(こんな感じで応答がありました)

  • 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の配線を逆にしたらうまく行きました(どちらの表示が正しいのかは確認してませんが、とりあえず逆になっていることは確かです) →勘違いでした・・・

IMG_6567.jpg
(手前の小さいブレッドボードに載っているのがHM-10です。AT-09よりほんの少し、小さい(短い)ようです。加工も比べるとなんとなくきれいです)

これから

  • それぞれのタグ毎に簡単に各種設定ができるツールか、Arduinoのスケッチを作る
  • CR2032バッテリホルダーを付けてケースに入れる
  • てなことを考えています・・・

IMG_6571.jpg
(ケースの候補など)

そのほか

  • デバイスはAmazonで手配しましたが、手配した時はそれぞれ次のような値段でした(今年の1月頃から手配)
デバイス 価格(税抜)  バージョン
HM-11 880円 HMSoft V549
AT-09 685円 MLT-BT05-V4.2
HM-10 999円 DSD TECH V551

追記(2018/04/21)

demo01.gif
(HM-10を接続して動かしているところ)

IMG_6573.JPG
(AT-09に接続しているようす)

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?