IoTモノ語り
Bluetoothものがたり & IoT研究会リポート
Bluetoothは二階建
前回のコラムにて「Last One Hop」の選択肢として、 Bluetooth、BLE(Bluetooth Low Energy)を紹介させて頂きました。どちらにも、Bluetoothという文字が含まれているのになぜ、区別して紹介したのか……
それは、Bluetooth と BLE の間には 互換性がなく相互通信ができない、つまり、別物だからです。Bluetoothという規格の名称がどちらにもついているのに不思議ですよね。
2016年末現在の普及しているBluetooth市販製品の最新バージョンは4.2です。(i)
Ver3.0までのBluetoothは、マウス、キーボード、ヘッドセットといった周辺機器とPC/スマートフォーン/タブレットを繋ぐ用途で使われてきました。Ver3.0 までのBluetoothは、Basic Rate(以下BR)モードが基本通信仕様[1Mbps]で、すべてのバージョンで搭載可能です。
基本仕様を拡張する形(基本的には通信速度向上)で仕様策定されたのが、 Ver2.0におけるEnhanced Date Rate(以下 EDR)モード[3Mbps] および、Ver3.0におけるHigh Speed(以下 HS)モード[24Mbp]です。なお、拡張機能の製品への実装は、オプションです。また、Ver4.0が登場したことで、Ver3.0までのBluetoothをクラシックBluetoothと呼ぶことがあります。
Bluetooth Low Energy(BLE)は、Ver4.0で策定された仕様です。
BLEの前身は、フィンランドにあるnokia社が策定し、2006年の公開されたWibreeです。大容量のバッテリーを搭載できない時計やセンサ等とホストPCが 速度は1Mbps程度と遅いながらも、低消費電力で通信できる様に策定された規格です。当初からBluetoothとの共生を意識されていたこともあり、2009年末Bluetoothに統合され、4.0としてリリースされました。
省電力を重視していることもあり、デバイス間の接続方式や、通信方式が従来のBluetoothと異なる、クラシックBluetoothとBLE間での通信の互換性はありません。
各通信モードと通信速度の関係をまとめると 表1の様になります。
通信モードと通信速度の関係
Bluetooth4.0になって4つの通信モードが存在することになりますが、Bluetoothの仕様では、1つの製品にすべてのモードを搭載する必要はありません。BR もしくは BLEのどちらかを搭載すればいいのです。(EDR と HSは もともとオプション扱い)
BLEモードのみをサポートすることをシングルモードと称し、該当する製品には、Bluetooth SMARTというロゴが適用されます。
BLEモードに加えて、BRモード(+ EDR/+HS)をサポートすることをデュアルモードと称し、該当する製品には、Bluetooth SMART READYというロゴが適用されます。なお、BLEモードが搭載されないクラシックBuletooth製品には、従来からのロゴが適用されます。 (ii)
Bluetoothの仕様書とロゴの関係を図表で示すと下記図2のようになります。
通信モードとBluetoothロゴの関係
BLEは、電力制御を事細かく制御する(通信時のみ電源オン)ことで、電力消費を抑えるため、バッテリー駆動でも年単位での運用が可能となります。
温度、湿度、気圧といったセンサ情報は、連続情報ではなく、分単位や時間単位の間欠情報でも十分に価値ある情報であるため、IoTのLast One Hopの通信方式としてぴったりなのです。
Bluetooth通信には、プロファイルという概念があります。ここでは詳しく述べませんが、
HID (Human Interface Device Profile)/ HFP (Hands-Free Profile)/A2DP (Advanced Audio Distribution Profile)と言ったものです。Bluetooth通信においては、サポートしているモードに加えてプロファイルが適合している必要があります。
プロファイルという概念は、BLEにも存在します。
BLEプロファイルについては、今後、本コラムにおいて触れる予定です。
IoT研究会リポート
今回より、IoT研究会リポートと題して、Workshopでの学び・気づきをメンバの方に語って頂こうと思います。Workshopで得た技術・知識を読者の皆様にお伝えするとともに、語ることによって技術・知識の定着を図ることが狙いです。
記念すべき第一回目は平野さんです。
私の仕事はシステム開発、主に汎用系の業務側の開発を行ってきたので、基盤(ボード)を触ることや、回路図といったものとは無縁の仕事をしてきました。
工業高校の電気科卒であったことで、就業直後は、テレビの回路図をCADで設計する仕事を行った時期もありましたが、今回久々に回路図を見たこともあって、最初は理解ができず、30年の月日の長さが感じられました。
今回のワークショップでは、GPIOにつながったLEDのON/OFF(通称Lチカ)をソフトウエアで行う方法と、PWMというロジックをPSoC内に生成してH/W的に行う方法を実習しました。
S/WにおるLチカでは、GPIOというピン(ポート)をPSoC内に配置した後、Configuratoinとして、CPUバスに接続する設定に変更。LEDに繋がっているGPIOのピン番号を指定(ピンアサイン)した上、ポートに対するRead/Writeを行う数行のC言語ソースをコーディングするのみ。たった、これだけで、Lチカが実現できてしまうことに驚きさえ感じました。
PWMによるLチカでは、GIPOとPWMロジックをPsoC内に配置。GPIOとPWMの接続は回路図画面で繋げるだけで、Configuraitonの変更はなし。
PWMのConfiguratioinでは、周期やDutyを変更するための設置が必要だが、直感的な操作が行えるU/Iが提供されているので、PWMの一般的利用法さえ判っていれば、回路に反映させることは、いとも簡単にできてしまう。
H/W的に行うといっても、機能ブロックの初期化を行う関数をコールするコードだけは記述する必要があるようだ。今後もこの点だけは忘れずにしておこう。
今回のようなツール「PSoC Creator」を使用する場合、実際に回路の組み立て(配線やはんだ付けなど)が不要であるため、目が悪い自分でもできました。
今後はセンサを使い、センサデータをどう認識し、処理を行っていくのかかが興味深いところです。
最後にIoTの技術や使用ツール・使用言語等、何も分からない私が最後まで参加できたのは、すばらしいファシリテーションや、グループメンバーのおかげです。
これからも参加させていただき、IoT技術の知識を深めていきたいと感じました。
平野 肇
また、メンバ堀江さんが、workshopでの学びをベースにカスタマズした作品を動画としてアップしていますので、こちらも紹介します。
こんな雰囲気でスタートしたIoT研究会です。
(i)Bluetooth最新仕様は、2016年12月にリリースされたBluetooth 5です。主に BLE部の拡張(通信速度2倍、通信範囲4倍)が謳われていますが、Bluetooth 5対応製品は、2016年12月末現在市場には出ていない?様なので、本コラムでは Bluetooth 5は対象外とします。
(ii)BLEを搭載しないBluetooth4.x準拠製品も製造可能の様ですが、市場には存在しない様です。クラシックBluetoothモードのみをサポートしている製品は、Bluetooth2.x Bluetooh3.x準拠製品と謳っている様です。
飯田 幸孝
ソフトウエアエンジニア。名古屋出身。
計測機器開発メーカ、JAVA VMプロバイダの2社を経て2007年独立。
組込機器用F/W開発に多く従事。2015年より新人技術者育成にも講師として関わる。
モノづくりが好きと宇宙から地球を眺めてみたいという思いが高じて、2009年より宇宙エレベータ開発に手弁当にて加わる。その実現に今後の人生を掛ける。
宇宙エレベータ開発のご縁で静岡大学の衛星プロジェクトStars-Cに参画。2016年秋、担当ユニットが、自身の分身として、一足先に宇宙に行き地球を眺める。