BLE対応スマホの増加で周辺機器開発の自由度が高まった ―― ウェアラブル端末がスマホと直接つながる

小野寺 康幸

tag: 組み込み

キャッチアップ 2014年10月15日

いまウェアラブル端末が話題になっています.ウェアラブル端末とは,装飾性が重視される腕時計,指輪,メガネなどにハイテク機能を加えることで,体温計,血圧計,走行距離計などの役割を持たせる製品のことです.ウェアラブル端末は,Bluetooth Low Energyを通じて情報をスマホに送ります.ここでは,Bluetooth Low Energyを使う方法を解説します.
またBLE周辺機器を開発するにあたり,マイコンを中心に見た場合,Bluetooth Low Energyモジュールをどのように使えばいいのかを知るため, ロームグループのラピスセミコンダクタ株式会社 LSI商品開発本部 無線通信LSI開発ユニット 野田 光彦氏からお話を伺いました.

ラピスセミコンダクタの野田 光彦氏



しかくスマホ用OSは制限を少なくして,BLE通信がより自由に

くろまる スマホ側のBluetooth Low Energyの動作概要
Bluetooth Low Energy(以下BLE)ではOS(AndroidやiOSなどスマホ用のOS)からの指示を受けずに,デバイスの検出,接続,データ通信,切断などをアプリケーション側が処理するようになりました.またペアリング操作をするしないも,アプリ側の判断によります.従来のBluetoothはスマホ用OSの制限が多くありましたが,BLEでは少なくなりました(図1).

図1 OS側の壁が薄くなり,アプリの自由度が増えた,アプリとファームウェアが直接つながるイメージ


たとえば,アップル社のiBeaconでは,お店に設置したBLE周辺機器が,来店したお客さんのスマホにデータを一方的に送信することも可能にしています.
BLE ではセントラルとペリフェラルという2つの役割があります.ここでは便宜的に,セントラル(中央装置側)をスマホと,ペリフェラル(心拍計+BLEモジュール+ホスト・マイコン)をBLE周辺機器と呼ぶことにします.

くろまるスマホ側のアプリ開発環境
スマホ側のアプリ開発環境を見ていきましょう.またテスト用のスマホ・アプリがラピスセミコンダクタから「BLE TOOL」として提供されています.
「BLE TOOL」は,Google playからインストールできます.

←クリック


▼iPhone向け
iPhone(iOS5以降)はいち早くBLEに対応しました.iOS6からはiPhoneがスマホとBLE周辺機器の両方に対応しています.
iPhone用の統合開発環境としてAppleの提供するXcodeがあります.Xcodeの拡張としてBLE用のCore Bluetoothフレームワークも用意されています.

▼Android向け
Android 4.3 (API Level18) からBLEを扱うAPIが提供されました.ただしセントラル(スマホ)のみ対応です.
Android用の統合開発環境としてgoogleの提供するEclipse ADT(Android Development Tool)があり,現在Android Studio(BETA版)へ移行途中です.

くろまる スマホ・アプリが動作を決定
スマホと周辺機器のやりとりを,スマホを中心に示します(図2).
Step1 検出 BLE周辺機器からの呼び出しを検出
Step2 接続 BLE周辺機器と接続
Step3 調査 BLE周辺機器のサービス内容と特性
(プロファイル)を取得
Step4 要求 BLE周辺機器の特性値(データ)を取得
Step5 切断 BLE周辺機器との接続を切断
スマホとの通信量や通信頻度が多いと,BLE周辺機器側の送信時間が増え,消費電力が増えます.低消費電力を実現するためにはスマホ・アプリ側の工夫も必要です.もちろん電波が途切れたときなど,エラー処理も必要です.

図2 スマホとBLE周辺機器のやりとりの基本


しかくBLE周辺機器側で必要なこと

くろまる BLEモジュールを使えば開発が容易に
ラピスセミコンダクタ社のBLEモジュールMK71050(写真1)を例にホスト・マイコンとBLEモジュールの関係をみていきましょう.BLEモジュールは,BLE対応無線通信IC(ML7105),アンテナ,EEPROM,マスタ・クロックで構成されています.もちろん電波法の技術基準適合証明は取得済みです.
ML7105はBLEを実現する下位層のスタックを提供するので,あとは,アプリケーションやプロファイルなど上位層を開発するだけです(図3).

写真1 BLEモジュールMK71050
10.7mm×13.6mmの表面実装タイプ.モジュールの利用で,アンテナ設計,技適取得が省略できる

図3 BLE周辺機器のプロトコルスタック
上位層の開発をすれば周辺機器が完成


くろまる ホスト・マイコンとはSPI接続が基本
BLEモジュールMK71050の回路ブロックを図4に示します.

図4 BLEモジュールMK71050の回路ブロック
Switchの切り替えで低消費電力を実現

▼インターフェースは,SPI,3つの専用端子,UART
ホスト・マイコンと無線LSIはSPIで接続し,専用コマンド,データで制御します.このとき,3つの専用端子を併用します.RF Active端子は無線の通信状態を示す信号です.IRQ端子はML7105からホスト・マイコンにデータ転送要求あるいはデータ受信可能を示す信号です.WAKEUP端子はホスト・マイコンからML7105へのデータ転送要求あるいはデータ受信可能を示します.
UART経由でもSPIと同じ制御が可能ですが,通信速度が遅く,その分スリープ時間が短くなるため,消費電力の観点からSPI接続を推奨しています.

▼EEPROMの中身
EEPROMには無線LSIの基本動作を決める設定パラメータ,アプリケーション用ROM領域,CODE_RAM(内部コード)領域があります.
設定パラメータとは送信出力設定やBluetoothのパブリック・アドレス,ランダム・アドレスなどです.たとえば,低消費電力を実現する仕組みの一つとして,送信出力を,0dBm,-6dBm,-12dBm,-18dBmの4つから選択できます.ホスト・マイコンはアプリケーション用ROMを揮発性メモリとして利用できます.CODE_RAMはオプション機能でホスト・マイコンなしで動作させるときの内部コードを格納します.


しかくBLE開発の評価版も充実

BLEモジュールMK71050と8ビット・マイコン(ML610Q482)を搭載した評価キットが用意されており(写真2),サンプルプログラムが添付されています.さらに評価目的としてMK71050を搭載したArduinoシールドを計画中とのことです.手軽に実現性の評価ができそうです.

写真2 評価キットは2台1セットで販売中
8ビット・マイコン(ML610Q482)搭載,PCとはUSB接続



おのでら やすゆき

だいやまーくご参考:

くろまるBluetooth全般に関しての日本語ページは下記があります

https://www.bluetooth.org/ja-jp

くろまる規格を決めているBluetooth SIG, Inc. によるBLE関連のページです

http://www.bluetooth.com/Pages/Bluetooth-Smart.aspx

https://developer.bluetooth.org/TechnologyOverview/Pages/BLE.aspx

http://www.bluetooth.com/Pages/Bluetooth-Home.aspx

だいやまーくお薦め関連記事「スマホとコンビを組み始めたBluetooth Low Energyの低消費電力を支える技術
―― 送信受信時のピーク消費電力を,既存品の3割以上削減!

だいやまーくお薦め関連記事「920 MHz帯を知る
―― 今話題のスマートメータやHEMSなどで注目の通信技術!!

この記事に関するお問い合わせ先


ローム株式会社 http://www.rohm.co.jp/
〒615-8585 京都市右京区西院溝崎町21 TEL(075)311-2121 FAX(075)315-0172


tag: Android, BLE, センサ, 消費電力, 通信, 開発環境, 電源

関連記事

AltStyle によって変換されたページ (->オリジナル) /