Article header library 130269  1

“BGX”を使って「ボタンをBluetooth化」しよう

BluetoothをシンプルにするBGX

Bluetooth®(BLE)をお手軽に使用したい場合、Silicon Labs社の“BGX”は最適なソリューションの一つです。
ついにBluetoothもシンプル化! ソフト設計が要らないBLE 5.0モジュール “BGX” 登場!

今回は、実例を交えながらBGXの使用方法をご紹介したいと思います。

ボタンをBluetooth化する

ボタンを押すと動作を開始し、ボタンを離すと動作を停止する、というシステムの、ボタン部分をBluetooth化する場合を考えてみましょう。

ボタンの用途は、動作開始/動作停止の切り替えだけでなく、動作モードの切り替えや、設定変更など様々と思いますので、身近な使用方法を思い浮かべながら読んで頂ければと思います。

Article header library 130533 1  1

ボタンをBluetoothに置き換える

システム部分の準備

Article header library 130533 4  1

マイコンボードにはEFM32TG11 STKを使用

まずは事前準備として、マイコンボードを使用してシステム部分を実現します。
今回はEFM32TG11のStarter Kit(SLSTK3301A)を使用しました。

PD6ピンがLow入力の場合を“動作中”、High入力の場合を“停止中”、と規定します。
また、動作中と停止中が視覚的に判別できるように、動作中はLED0を点灯し、停止中はLED0を消灯するようにします。

動作モード PD6ピンの状態 LED0
動作中 Low 点灯
停止中 High 消灯

BGXの接続

Article header 130533 3  1

上段がEFM32TG11のStarter Kitで、下段がBGXの評価ボード

EFM32TG11のStarter Kitに、BGXの評価ボードを接続します。

Article header library 130533 2  1

実際の接続図。接続するのは3ピンだけ

マイコンボードのPD6ピンは、BGXのGPIO5に繋ぐことにします。
BGX評価ボードへの給電は、マイコンボード側から行います。
ポイントは、BGXの制御インタフェースであるUARTを使用していないところです。

スマホとBGXの接続

Article header 130533 5  4

COMMANDを選択すると、リモートコマンドモードに

前回の記事でもご紹介した スマホアプリ“BGX Commander”を使用して接続します。

BGXのGPIOをHigh/Low制御するには、BGXにコマンドを送って制御することになります。コマンドは、UART(コマンドモード)からだけではなく、Bluetooth(リモートコマンドモード)を介して送ることができます。

スマホアプリの“COMMAND”をタップしてリモートコマンドモードに切り替え、GPIO5を入力ピンに設定します。BGXに設定をsaveしておけば、次回以降は設定不要です。

“動作中”への切り替え

Article header 130533 6  1

GPIOのHigh/Low制御には gseコマンド を使う。GPIO5をLow設定する

動作中は、マイコンボードのPD6ピンをLowにすれば良いので、GPIO5をLow(0)に設定します。gseというコマンドを使用して、5番目のGPIOを0(Low)に設定するので、gse 5 0とタイプします。

Article header 130533 7  1

LED0が点灯

LED0が点灯したため、“動作中”に切り替わったことが確認できます。




実際に運用する際には、使用者がgse 5 0とタイプするのは現実的ではありませんので、ボタンをタップしたらgse 5 0というコマンドを送る、というスマホアプリにしておくのが良いですね。

“停止中”への切り替え

Article header 130533 8  1

GPIO5をHigh設定する

停止中は、マイコンボードのPD6ピンをHighにすれば良いので、GPIO5をHigh(1)に設定します。gse というコマンドを使用して、5番目のGPIOを1(High)に設定するので、gse 5 1とタイプします。

Article header 130533 9  1

LED0が消灯

LED0が消灯したため、“停止中”に切り替わったことが確認できます。

まとめ

ボタンのBluetooth化に挑戦してみましたが、Bluetoothモジュール(BGX)をプログラミングすることなく実現することができました。
BGXには8本のGPIOが用意されていますので、実現できることは多そうです。

そろそろ機器の無線化をしたい、とお考えの方は、BGXでチャレンジしてみてはいかがでしょうか。

おすすめ記事/資料はこちら

商品の購入はこちら

メーカーサイト/その他関連リンクはこちら

関連タグ