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


 

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日