No. 20-01

Bluetooth LE モジュールを用いた無線通信システムの開発
キーワード：Internet of Things (IoT)、Bluetooth LE、ブロードキャスト、WinRT、センサ

はじめに途があります。

現在、スマートフォンを中心に無線通 信機能を有する電子機器が広く普及してきました。IoT やス

アドバタイズパケットのフォーマット

マートホームのような考え方がさらに広まることによ

パケットフォーマット 1) を図 1 に示します。パケットって、様々な機器に無線通信機能が搭載され、利は Preamble、Access Address、Protocol Data Unit用されることが予想されます。身近な無線通信手段（ PDU ） お よ び Cyclic Redundancy error Check

として、NFC、Bluetooth、Wi-Fi が挙げられますが、（CRC）からなります。先頭の Preamble は受信器に有線通信に比べてプロトコルが複雑なため、手軽おいて周波数同期やゲインコントロール等に用いらに 試 作 品 を 作 製 するこ と が 困 難 です 。こ こ で は、れる 1 バイトのデータです。次の Access Address はBluetooth Low Energy（LE）の Advertising packet

アドバタイズパケットでは 0x8E89BED6 の 4 バイトデ（アドバタイズパケット）を利用して簡易に無線通信ータに固定されます。また、PDU は実際に送信したを実現する方法を紹介します。最初に、Bluetooth

いデータが格納される部分で、最大 39 バイトありまLE のアドバタイズパケットについて解説します。そす。なお、パケットの最後 CRC 部に 3 バイトの誤りの後、Bluetooth LE モジュールおよびそのモジュー検出符号が格納されます。

ルを用いて作製した温度データ送信デバイスにつ

ここで利用する PDU の種類は Non connectable

いて詳しく述べます。最後に、PC でアドバタイズパ

undirected advertising になります。この PDU はケットを受信可能な環境を構築する方法についてHeader 、 Advertising Address （ AdvA ） お よ び説明します。

Advertising Data （AdvData）からなります。ここで、Header は PDU の種類やバイト長を示します。AdvA

Bluetooth LE のブロードキャスト通信

は送信器のデバイスアドレスを示す 6 バイトのデー

Bluetooth は電子機器間の短距離有線通信をタで、AdvData は送信データが含まれる最大 31 バ

無線 に置 き 換え るこ と を 目的 とし た 通信 技 術

イトのデータです。AdvData は Length、AD type、です。Bluetooth の特徴は、低消費電力、低コスAD Data からなる AD Structure の集合です。なお、

トにあります。Bluetooth には二つの形式があLength は Data 領域のバイト長を示す 1 バイトのデり、それぞれ Basic Rate（BR）/ Enhanced Dataータで、AD Type は AD Data に格納されるデータRate（EDR）および LE と呼ばれています。LE シの種類を決める 1 バイトのデータです。とくに AD

ステムは、BR/EDR システムに比べて低消費電力

Data に Length-1 バイトのデータを格納することがで容易にシステムの実装が行えます。

できます。

Bluetooth LE は、通信機器間で接続を確立す
る前 に送 信 する アド バ タ イズ パケ ッ トに デ ータを含めることで、接続を確立することなくデLSB
Preamble(1 byte)

0x8E89BED6Access
Address(4 bytes)

AdvData (～ 31 bytes)

ータを送信できます。これはブロードキャスト通信と呼ばれています。この通信方法ではデーAdvA
Header(2 bytes) (6 bytes)

タの暗号化が行われないため、通信データの内容には注意が必要です。ブロードキャスト通信には、ここで紹介する環境モニタリング用途の他に、Apple 社の iBeacon のような無線標識用

MSB
PDU(～ 39 bytes)

AD
Structure
1CRC(3 bytes)

AD
Structure ・・・
2AD
StructurenData (Length bytes)
Length(1 byte)

AD Type(1 byte)

AD Data(Length – 1 byte)

PDU Type :Non connectable
undirected advertising

図 1 アドバタイズパケット

Bluetooth LE モジュール

WinRT API

アンテナやコントローラ等 の無線通信に必要なアドバタイズパケットを受信するソフトウェアを機能が搭載された Bluetooth モジュールが各社かWindows PC で開発する場合、Windows Runtime

ら 提 供 さ れ て い ま す 。 こ こ で は Microchip 社 の（WinRT）Application Program Interface（API）が便

Bluetooth バージョン 4.1 に対応した RN4020 を使利です。なお WinRT API は、Windows が搭載され用します。なお、RN4020 はスクリプト機能の利用にるデバイスであれば、PC だけでなくタブレットや IoTより、簡易にプログラムを作成することができます。

機器でも動作できるソフトウェアを開発するためのスクリプトはイベントドリブン形式になっており、イベAPI であり、Bluetooth LE をサポート 2)しています。

ント発生時の処理を順に記述します。送信デバイス

受信ソフトウェアの開発環境には、Windows10、の動作例として、センサの出力電圧を取得し、そのVisual Studio 2017 およびプログラミング言語として電圧値を AD Structure にセット、アドバタイズパケ

C++を用いました。受信器には PC に USB 接続がットを周期的に送信する手順を組みました。図 2 に可能な Bluetooth ドングルを使用しました。WinRT

ブロック図およびそのスクリプトを示します。このよう

API には、Bluetooth LE のアドバタイズパケットを受な機能であれば、わずか 8 行で記述可能です。

け取るクラス BluetoothLEAdvertisementWatcher が

1. 電源ON

1. タイマ1の時間経過

2. タイマ1のセット

2. タイマ1のセット# 電源ONイベント

1. @PW_ON

3. PDUのリセット# タイマ1に1秒をセット

2. SM,1,000003E8あります。パケット受信時の処理を記述した受信関数を設定後、スタートメソッドを呼び出すと、パケット受信イベントが発生する度に受信関数が呼び出されます。引き続いて、専用の引数にアクセスすることで、パケットに格納されたデータを取得できます。

5. AD Structureを追加# AD Typeに40、AD Dataに$VAR1を追加

5. NB,40$VAR1# 100ms間隔で1秒間アドバタイズ

6. A,0064,03E8

6. アドバタイズの開始

図 2 ブロック図とスクリプト試作回路
図 3 に試作回路を示します。主要な部品は前述の Bluetooth モジュール、電気抵抗変化型の温度試作回路を二日間、室内に配置し温度をモニタリングしました。図 4 に温度モニタリングを示します。
空調が休止した 18:00 以降室内の温度が緩やかに低下する状況および空調が稼働した 9:00 以降に急激に上昇する状況が確認できます。
25

温度 (℃)

1. @TMR1 # タイマ1イベント
2. SM,1,004C4B40
3. NZ# PDUリセット
4. $VAR1 = @I,0

4. センサの電圧値を代入

2015センサおよび CR2032 タイプのコイン電池です。参照抵抗と温度センサの分電圧を Bluetooth モジュールのアナログ入力ピンに接続しています。消費電

10
18:00

6:00

18:00

図 4 温度モニタリング

裏

おわりにアナログ入力ピンCR2032
ホルダ

18:00

時間

流は約 2 mA です。

表6:00

当研究所では、モニタリングシステムに係る試作品の開発支援を実施しています。ここで紹介したシステムをはじめ、開発にご興味がある方はお気軽にBluetooth モジュールお問い合せ下さい。
参考文献

温度センサ

図 3 試作回路の写真

1) BLUETOOTH SPECIFICATION Version 4.1 [Vol.6] p.37
https://www.bluetooth.com/ja-jp/specifications/archivedspecifications/
2) “Bluetooth 低エネルギー”. Microsoft Docs.
https://docs.microsoft.com/ja-jp/windows/uwp/devicessensors/bluetooth-low-energy-overview

発行日 2020 年 4 月 1 日
作成者 電子・機械システム研究部 知能機械研究室 金岡 祐介
Phone: 0725-51-2672

E-mail: kanaoka@tri-osaka.jp