吉原 泰介
株式会社ミガロ.
RAD事業部 技術支援課［Delphi/400］

Beacon技術によるIoT活用の第一歩●はじめに●IoT と Beacon 技術●Beacon を活用するプログラム開発●Beacon の運用●まとめ略歴1978 年 3 月 26 日生まれ
2001 年 龍谷大学法学部卒業
2005 年 7 月 株式会社ミガロ. 入社
2005 年 7 月 システム事業部配属
2007 年 4 月 RAD 事業部配属
現在の仕事内容
Delphi/400 や JC/400 の 製 品 試
験、および月 100 件に及ぶ問い合
わせサポートやセミナー講師などを担当している。

1.はじめに最近よく耳にする IoT（Internet ofThings）とは、モノとインターネットる。そこでは、さまざまに電子化が進む

2. IoTとBeacon技術なか、モノがどのように情報を発信する

2-1. Beacon とはかが重要な鍵になる。

Beacon は、Bluetooth の信号を発信をつなげて、データ収集、情報発信、自情 報 を 発 信 す る 機 器 の 1 つ に、する機器である。その信号は数秒に 1 回、動的な運用動作などに活用する技術・考Beacon がある。たとえば店舗に行くと、半径数十メートル範囲に発信される。たえ方である。

タイムセール情報や割引クーポンの情報だし普通の Bluetooth だとすぐに電力をPC やスマートデバイスであれば、もが受信できるスマートフォンのアプリ使い果たしてしまうので、Beacon では

ちろんそれ自体がネットワークを通じてケーションが増えてきた。そうしたサー

Bluetooth Low Energy（BLE）という、情報を発信できるが、IoT ではこれまでビスの多くで、Beacon が使用されてい極力電力を使わない規格を使用していネットワークに接続していなかったモノる。

る。
【図 2】

こそが、重要な対象になる。
【図 1】
たとえば最近では、リストバンドで脈拍や移動距離などがネットワークで連携

IoT イコール Beacon というわけで

Beacon を使ったシステムでは、スはないが、場所に特化した IoT 技術とマートフォンなどにインストールした専して、最近とくに注目されている。

用アプリケーションでその信号を受信され、健康管理をスマートフォンで行え

こうした状況を背景に、本稿では IoTし、それをトリガーにして処理する（プるような IoT ソリューションが増えてで活用されている Beacon の技術を題材ログラムが動作する）仕組みとなっていきた。とする。Beacon の基本的な情報から、る。

また車がネットワークにつながるこ

IoT プログラムとして活用するため、Beacon を使う前提は、受け手が対応とで走行履歴、ガソリンの量、渋滞・災Delphi/400 による実装方法などについするアプリケーションをもっていて、害情報などをリアルタイムに把握し、そて説明する（本稿では Beacon に対応しBluetooth を ON にするだけである。特の状況に応じて最適なルートをナビゲーたコンポーネントの使用が中心となるの別な操作は必要なく、信号に自動で反応ションするアプリケーションも研究されで、Delphi/400 の バ ー ジ ョ ン は 10するシンプルさが Beacon の魅力であている（IoT によるカーナビの進化）。

Seattle を対象にする）。

る。

IoT は定義としては非常に広いが、こ120

うした技術や考え方が基盤となってい次に、こうした Beacon を使った活用図1

図2

図3

121

事例について考えてみる。

くと所持しているスマートフォンにその情報を通知するといった用途でも使われ

一方 Beacon は機器の配置を前提とすている。実際に宮崎県立西都原考古博物

るが、屋内で独自の位置を算出できるの一般に Beacon を使う場合、店舗や工館では、Delphi で構築された Beacon

で、施設などでの精密な位置サービスに場内に信号を発信する Beacon 機器を設の館内案内システムが運用されている。

向いている。

2-3. Beacon と類似する技術

400 により実装して活用する方法を検証

2-2. Beacon の活用事例

置する。Beacon の活用用途としては、主に 2 つが考えられる。1 つは情報の「通知サービス」、もう 1 つは施設内における高精度な「位置サービス」である。

次に、こうした Beacon 技術を Delphi/Beacon のように信号を受信したり、していく。

位置情報を扱う技術はほかにも存在す

たとえば店舗を訪れた顧客が専用アる。ここからは通知サービスと位置サープリケーションをインストールしていれビスを例にして、類似した技術と比較しば、店舗に設置した Beacon 機器の信号な が ら Beacon の 特 徴 を 考 え て み る。

3.Beaconを活用するプログラム開発

により、クーポンなどの特典を受信でき【図 6】3-1. Beacon がもつ信号情報るサービスが実現可能である。
【図 3】

まず通知サービスのように、近くで信まず Beacon をプログラムで扱ううえBeacon 機器から信号を受信したタイ号を受信することでアプリケーションをで、Beacon がどのような信号を発信しミングで、サーバーから情報を送ったり、動作させる技術としては、NFC（Nearているかについて説明する。

受けたりできる。
これが、「通知サービス」

Field Communication）が類似していである。こうしたアプリケーションは、る。

Beacon 機器が発信する信号の識別には UUID、Major、Minor の情報が含ま

そ の サ ー バ ー と 連 携 で き る の で、NFC は、超近距離無線通信機能によれている。これは Beacon 機器に設定す

Beacon とインターネットを通じて IoTり通信する技術である。主に電子カードるもので（設定方法は機器によって異なとしての活用につながる。
【図 4】の決済などに使われており、技術としてる）、任意に指定できる。

情報を受け取るだけではなく、たとえは似ているが、用途は Beacon と異なる。

ばオフィスでの活用例としては、社内にBeacon と NFC の用途の違いとしてBeacon 端末を設置し、従業員が出社すは、距離と動作対象数が挙げられる。

ると自動的に出勤時間を打刻するといっ

Beacon は十数メートルの範囲で機能す● UUID：施設レベルで一意た勤怠管理の仕組みにも応用されているのに対して、NFC は接触に近い数セ● Major：フロア／エリアレベルで一る。

ン チ の 距 離 で 機 能 す る。 そ の た め、

最近では、いつも買い置きする特定商Beacon はざっくりとした広範囲動作を品について Beacon を利用することで、得意とするが、NFC は近距離で精度のスマートフォンのアプリを経由して、自高い動作を得意とする。

一般には、下記のようなルールで設定することが多い。

意● Minor：施設、フロア内での機器として一意動的にショッピングサイトに自動注文でまた、Beacon は機器とアプリケーもちろん任意のルールで設定もでききるといった仕組みも開発され始めていションが 1 対 N で動作するのに対して、るが、こうした体系を組んだ指定のほうる。

NFC は 1 対 1 で動作させる。NFC が活が、システムで組み込む際にどの施設のまた、配置された Beacon 機器の信号用されている Suica など、交通カードをどのフロア（あるいはエリア）の機器かをアプリケーションで受け取るというこ使った改札精算をイメージするとわかりをわかりやすく管理できる。とは、その機器の近くで行動しているとやすい。

推定できる。これを応用した技術が、「位置サービス」である。
【図 5】
位置サービスでは、後述するように、複数の Beacon で場所を特定していく必そのため、場所を起点とした一括情報

3-2. Beacon で使用するコンポーネントサービスでは Beacon、電子決済など

Delphi/400 10 Seattle では Beacon を個々の情報制御サービスでは NFC が使使うために、TBluetoothLE や TBeaconわれるといった違いがある。というコンポーネントが用意されてい要があるが、これによって店舗のどの商また位置サービスの技術として広く品がある場所にいるか、どういった順番活用されているものとして、GPS があ

TBeacon では ID などを設定するだで場所を移動しているかなど、行動情報る。
「位置サービス＝ GPS 技術」と連想

けで、対象の Beacon 機器に反応して動を蓄積してマーケティング分析にも利用される場合も多い。しかし Beacon と作するアプリケーションを簡単に実装でされている。

GPS では、得意とする分野が大きく異きる。

屋内での位置サービスをビジネスにる。

なる。

活用する例としては、大規模なショッピ

Beacon が屋内の精密な位置情報検知

ングモールでの道案内をはじめ、工場やを得意とするのに対し、GPS は屋外で画面上にドラッグ＆ドロップするだ

倉庫など大きな施設内で作業工程上の動の大まかな位置情報検知を得意とする。

けで、Beacon が使用する BluetoothLE線としても利用されている。

122

活用できないことが多い。

また GPS は機器などの設備が不要な

また美術館や公共施設の展示物の前半面、建築物などで電波が精密に受信でに Beacon 機器を設置し、利用者が近付きないため、屋内での位置情報検知には● TBluetoothLE コンポ―ネントに対応できる● TBeacon コンポーネント

図4

図5

図6123

Beacon の信号情報を感知・判別して、イベントを処理できる

れば、信号を受信して広告画像をアプリアプリケーションを実行すると、【図ケーションで表示する。また同時にサー10】のように近接度に応じたメッセージバーとのデータ連携が必要であれば、を受け取れる。

3-3. Beacon を使ったプログラミング実装

TClientDataSet を 使 っ て サ ー バ ー へ

OnEnter イ ベ ン ト は 信 号 エ リ ア にBeacon を使ったプログラムを作成すデータを登録するなど、IoT としてシス入ったときのみ処理されるが、継続的にテムを連携できる。
【ソース 1】

Beacon 信 号 を 処 理 し た い 場 合 に は、るにはコンポーネントの配置、コンポーネントの設定、そしてプログラミングに信号を受信しなくなれば、OnExit イよる処理作成が必要になる。ここでは、ベントで Visible を False にすることでBeacon の信号に反応して広告画像を自広告画像を非表示にできる。
【ソース 2】

ハンドリングが可能である。

動表示する簡単な通知サービス・アプリ

またアプリケーションの初期処理とケーションを題材に、実装方法を説明しして Beacon 機能を有効にし、画像は非「BeaconFance」ていく。

表示にしておく処理を、フォームの次に、Beacon を使った「位置サービ

OnCreate イ ベ ン ト で 作 成 し て お く。

ス」について考えてみる。前節で大まか【ソース 3】な近接度判定について解説したが、位置

まず、FireMonkey で新規のマルチデバイスアプリケーションを作成し、画面3-4. Beacon を 使 っ た 位 置 検 出

フォーム上に TBeacon と TBluetoothLE、このプログラムを iOS や Android な

TImage コ ン ポ ー ネ ン ト を 配 置。

どのスマートデバイスに対してコンパイ

TImage コンポーネントに、表示したいルすると、アプリケーションは完成であアプリケーションが動作するデバイ広告画像を設定しておく。
【図 7】る。アプリケーションを実行して対象のスと Beacon 機器までの距離を算出する

Beacon 信号を受信すると、広告画像が場 合、Beacon の 出 力 電 波 強 度自動で表示される。
【図 9】（TxPower）と受信時の電波強度（RSSI）

TBluetoothLE は貼り付けておくだけで BluetoothLE に対応できるので、特別な設定は必要ない。
TBeacon では、簡単な設定とプログラミングを実装する。
ま ず 設 定 内 容 と し て、対 象 と す る
Beacon 機器の UUID や Major、Minor

ここまで画像の表示・非表示の単純な実装方法を説明したが、同じイベントでを検出するにはさらに高度な算出が必要になる。

を、所定の公式（フリスの伝達公式）で次のように計算する。

サ ー バ ー に 対 し て 処 理 を 行 え ば、Beacon 機器の位置を起点にしてシステ＜ Beacon との距離の計算＞

ムを動かせる。

距離＝ 10 ^（（TxPower － RSSI）/ 20）の値をプロパティに指定する（ID を機

たとえば、Beacon 機器を使った勤怠器に設定していない場合は、3-1. を参管理システムがこうした単純な仕組みで通常、Beacon の位置情報アプリでは考）。TBeacon は ア イ テ ム と し て動作している。画像の表示の代わりに、こうした計算をプログラムで複雑に組む

MonitorizedRegions オブジェクトをも受信時刻で入室データを DB へ登録して必 要 が あ る が、Delphi/400 で はつ の で、 こ の ア イ テ ム の Major、いるのである。

System.Beacon.IBEACON.Distance に

Minor、UUID プロパティで非常にわか同様に、工場の生産工程で作業場所にメートル単位での距離を自動算出する機応じてチェック処理を自動的に起動した能があるので、簡単に距離を割り出せる。

ID のデフォルト値は、-1 や 0 で設定

り、倉庫の商品棚管理では位置を自動登

これによって Beacon 機器との距離はされる。Major、Minor の -1 はすべて録するなど、場所を起点とした IoT シ扱えるが、位置という意味では正確ではを対象にするので、別のエリアで同じステムで活用されている。

ない。この距離は、Beacon 機器を中心りやすく設定できる。
【図 8】

UUID 機器がある場合は注意が必要である。

また単純な Beacon 信号の受信有無だけではなく、その信号電波の強弱によっまた DataSnap サーバーと通信する
場

合は TSQLConnection、TDSProviderConnection、TClientDataSet などのコンポーネントて機器までの近接度を判別することもできる。
近 接 度（ABeacon.Procimity） は、次の 4 段階で判定する。

を 配 置・ 設 定 し て お く（ 本 稿 で はに円形状に発信された距離であり、方向までは特定できない。
【図 11】
そのため位置測位に関しては、必ず 3個以上の Beacon 機器からの電波を計算する三角測量技術を使うことになる。
三角測量については算出法が複雑なの で、 本 稿 で は 割 愛 す る が、複 数 のDataSnap サーバーとの通信については● Immediate：0.5m 未満

Beacon 機器からの距離を加味した演算割愛する）。

● Near：0.5m 以上、1.5m 以下を繰り返し行う必要がある。

次に、Beacon 機器の信号を受信した● Far：1.5m より遠い

この位置測位を Delphi/400 で簡単に

際 の プ ロ グ ラ ム 動 作 を 実 装 す る。

● Away：距離判定不能

解決するソリューションとして、Delphi

TBeacon コンポーネントの基本的なイ開発元のエンバカデロ・テクノロジーズ

ベントは OnEnter、OnExit である。こ

近接度を OnEnter イベントで判定す社が販売する「BeaconFence」というのイベントで信号の受信成否を判定しる方法を【ソース 4】に示すので、参考サードパーティ製品がある。コンポーネて、プログラミングが行える。にしてほしい。このプログラムでは、近ントとして提供されているが、これを使接度のメッセージを表示するように実装用すると、こうした位置測位演算ロジッしている。

クをプログラミングしなくても、ビジュ

たとえば OnEnter イベントで TImage
コンポーネントの Visible を True にす
124

OnBeaconProximity イベントを使うと

図7

図8

ソース1125

アルツール上の設定だけで位置サービスンなどで測定もできる。テストしたうえが、Beacon で公共に信号を発信する場の ア プ リ ケ ー シ ョ ン を 開 発 で き る。

で、競合していないことの確認が必要で合には、機密性の高いものは扱わないよ【図 12】ある。

うに注意すべきである。

BeaconFence は標準コンポーネント

2 つ目のポイントは、モノによる電波もしセキュリティが必要な場合は、単ではないが、
10 Seattle の GetIt パッケーの干渉である。たとえば電波が壁にぶつ

純に Beacon 信号を受発信するだけでなジマネージャに登録されており、簡単にかれば、反射した電波も存在するので、く、アプリケーションが動作する条件をインストールできる。GetIt パッケージ

場所によっては強い電波や弱い電波が混システム的にガードする必要がある。たマネージャは、［ツール ￨GetIt パッケー在する。また水を多く含む物体（生物をとえば並行してユーザー情報をチェックジマネージャ］から起動して、対象製品含む）は、電波を吸収しやすい。たとえしたり、ログ出力で重複利用を防ぐなどを選択するだけですぐに利用可能であば Beacon とデバイスの間に人がいるの方法もセキュリティ的に有効である。

る。
【図 13】と、電波が吸収され、正しく電波を受信

ただし無償で使用できるのは、対象できない可能性もある。
【図 14】
そのため施設によっては、人が電波の運用時には有償のライセンスが必要であ

直線上に入らないよう天井などの上に配本稿では、Beacon 機器の特徴や基本る。

置することも多い。ただしその場合は、情報の確認、IoT での活用例などを考察

天井からの距離も電波に影響することをしてきた。また、そうした Beacon 機器考慮する必要がある。

をシステム活用するためのプログラム実

4.Beaconの運用
前項でプログラムでの実装ポイントを考察したが、実際の運用ではアプリ

3 つ目のポイントは、電力の確保であ装も、Delphi/400 では専用コンポーネる。Beacon 機器の電力供給方法には、ントにより非常に簡単であることを説明

主に電池型と給電型がある。
【図 15】

した（通常は Bluetooth 情報を受け取る

ケーションだけではなく、Beacon 機器

通常、Beacon の設置は電源が近けれ自体の知識・利用方法が重要になる。以ば給電型が便利だが、位置情報を必要と下では、Beacon 機器の運用上のポインする場所では、電源が確保できない場合

Beacon も今後はさらに機能が進化

トについて補足する。

も多い（たとえば屋外のイベントなど）。

し、機器自体も低コスト化していくと思そうしたケースでは、電池型がよく採用われる。
たとえば運用上の考慮点として、されている。

電力について説明したが、現在では太陽4-1. Beacon の運用の注意点部分から、すべて独自のプログラムとして開発する必要がある）。

Beacon 機 器 は 主 要 な 規 格 と し て電池は製品にもよるが、大体 1 年ぐ

iBeacon や AltBeacon が あ り、らいはもつ。数が多いと残量チェックな

Delphi/400 では双方に対応している。

どは現実的ではないので、余裕のある定この Beacon 技術は、東京駅構内でのBeacon 機器は信号を発信することを期交換を前提に運用を考えるのが一般的

ナビゲーションサービスの実証実験でも主な機能とするが、プログラムの実装でである。

ション側は、その信号の強さなどによって距離を判別している。
この信号の強さ（電波）はアプリケー電池などで、交換電源を必要としないBeacon 機器も開発されている。

使われており、これからの IoT 技術として大きな期待が寄せられている。
【図 17】

も触れたように、受信するアプリケー
4-2. Beacon のセキュリティ
Beacon のセキュリティ面について、考えてみる。

Beacon はユーザー操作を必要としないので、浸透すれば多くの施設やシステムで利用できる可能性を秘めている。まションの動作に大きく影響するので、運前述したように、Beacon は UUID、だ技術展開が始まったばかりの IoT 分

用上の考慮点をいくつか把握しておく必Major、Minor などの情報で識別される野だが、今までにないユーザーインター要がある。

が、その識別情報を知っていれば、意図フェースやビジネスモデルを考えていく的に複製できる。

うえで、Beacon は非常に画期的で興味

Beacon 機器の運用で注意すべきポイ

iPhone では、iPhone 自体を Beacon深い。Delphi/400 では簡単に実装でき

1 つ目のポイントは、周波数帯である。

機器として利用するアプリケーションがるので、IoT に取り組む第一歩として、

Beacon は 2.4GHz の周波数帯を使用すAppStore で配布されている。プログラ

システム開発に活用していきたい。

る機器であるが、この周波数帯は免許なム開発では、そうしたアプリケーションしで使用できるので、さまざまなデバイで Beacon のテストが疑似的に行えるメスが発している。代表的なものとして電リットがある。しかしこれは同時に、実子レンジ、Wi-Fi、一部のデジタルコー

際の Beacon 機器についても「なりすまドレス電話などがある。

し」が可能なことを意味する。

ントは、大きく 3 つある。

126

5.まとめ

Beacon 機器が 3 個までなので、実際のBeacon を配置する場所では、こうしたとえばクーポンの Beacon 信号を複た機器が使用しているチャネルが重複し製されると、不正にそのクーポンサービないよう配慮する必要がある。どういっスを利用される危険がある。
【図 16】た周波数が使われているかは施設側に確

社内や工場内のシステムなどでは、あ認するか、あるいは専用アプリケーショまり考慮する必要はないかもしれない

Mソース2

ソース3

図9127

ソース4

図10128

図11

図12129

図13

図14

図15130

図16

図17131