Eddystone URL, SSDPそしてmDNSをサポートフィジカルウェブ

Eddystone URL, SSDPそしてmDNSをサポートフィジカルウェブ

フィジカルウェブの概要

ビーコン 日常のオブジェクトとその環境の間の通信を必要とするアプリケーションシナリオのすべての種類に適しています. 物理的なウェブは、ユーザーが結果の機会を最適に利用することができます. 記事上で, 我々は、物理的なウェブの仕事をどうするかご紹介します, そしてEddystone URLはEddystoneの作業中に重要な役割を果たしていることは間違いありません.

に 2014, Googleは本物でも、より密接に仮想世界をリンクすることを目的として、オープンソースプロジェクトフィジカルウェブを発表しました. バス停, 観光名所, 日常のオブジェクトやスーパーマーケットのアイテム – 原則として, それらのすべては、今独立してビーコンを介して、スマートフォンにメッセージを送ることができます. このような通信のための基礎は、Bluetooth低エネルギーであります (BLE) 無線技術. アイテムは、ビーコンが装備されている場合, それがサポートすることをスマートフォンにメッセージを送ることができますBLE, 例えば、遅延を知らせます, 特別オファーやキャンペーンの日.

これに関連して, 物理的なウェブ性を保証, とりわけ, ユーザーはどこにでも新しいアプリケーションをインストールする必要はありません, しかし、統一されたインタフェース上でニュースを見ることができます. これにより、ユーザーは自分の環境についての情報やそれらとスマートオブジェクト間の相互作用が必要である関心のあるほとんどすべての場合に使用することができます. このようなシナリオのより良いアイデアを得るために、, 3つの短いアプリケーションの例を以下に.

インテリジェントバス停: 次のバスが来るとき、バス停近くのスマートフォンを経由して人を待って言うことができます. この場合, 物理的なウェブBLEセンサーは、バス停のウェブサイトにつながることURLを送信します. 他の人と区別するためには、, URLは、停止の識別コードが含まれます.

自動販売機との相互作用: インターネットに接続している自動販売機は、彼らが彼らと現金を持っていない場合、顧客は自動販売機の決済機能を使用してWebサイトにアクセスするために使用できるURLを送信します. URLは、各購入後に動的に変化トークンを含んでいます. 機械やスマートフォンで開かれたウェブサイトは、同じトークンを使用して、プロバイダのバックエンドサーバーに接続します. 購入が処理された後, サーバは、購入した製品を発行する自動販売機にリクエストを送信します. 物理的なウェブはスマートフォンにURLを転送するために使用されます. 他のすべてのステップは、いつものようにインターネット上で行われます. 例えば, いわゆるウェブソケットは、機械やウェブサイトとサーバー間の双方向通信のために使用することができます.

監視対象の家電製品: 物理的ウェブはまた、洗濯機などの家電製品を制御及び監視するために使用することができます. 各デバイスは、IPアドレスを参照し、ローカルネットワークに接続されたときにのみ到達できるURLを送信します. このようなのmDNSとSSDPなどのネットワークディスカバリ技術はBLEの代わりに使用されている場合、URLの視認性は、ネットワーク内のデバイスに限定することができます.

物理的なウェブまたは単一のアプリケーション

その他の情報の提供とは対照的に、 (例えば. 時刻表情報や観光協会), ユーザーは、各プロバイダのために、独自のアプリをインストールする必要がどこ, 彼らはページ上の検索クエリであるかのようEddystone URLは、ビーコンが送信した物理的なウェブ統合. ユーザーはただ1つのアプリで自分の環境でスマートオブジェクトを検索し、それらを直接操作することができますので、. もう一つの利点: 何の積極的な通知は送信されません. 彼がしたい場合、ユーザーは自分のエリア内のオブジェクトのリストを見て.

BLEに加え、, MOKOSmart, ここで著者の作品, 簡単なサービス発見プロトコルに基づいており、ローカルネットワーク内のURLを送信および受信するための方法を提案しています (SSDP). SSDPの助けを借りて, ローカルネットワークで送信されたEddystone URLの可視性を制限するため、接続のセキュリティを高めることができます.

フィジカルウェブはMOKOSmart上のApacheライセンスの下でプロジェクトとして利用可能であり、Androidなどのプラットフォームの実装が含まれています, iOS版, そしてNode.jsの. AndroidとiOSのための物理的なWebアプリケーションは、AppleのApp StoreとGoogle Playストアでご利用いただけます. すべてのアプリケーションは、プロトタイプとして理解されるべきです, 早い段階での物理的なウェブの実験に開発を可能にします. 将来は, それはスマートフォンに加えて、他のモバイルデバイス上で利用可能であるべきです.

eddystoneのURL

どのように物理的なウェブの作業を行います?

物理的なウェブは、インターネットの延長であると言われています. すべてのWeb技術と同様に, それは誰にでも開かれており、誰もがそれをさらに開発することができます. システムは、URLの表示に基づいているので, それは分散化して、誰によって制御されていません. Eddystone URLは、単純な情報のページにつながることができます, より複雑に, ネイティブアプリケーションにインタラクティブなWebアプリケーション、あるいは. 物理的なウェブは、ウェブ検索に匹敵します:

ユーザーは、自分の近傍からオブジェクトのリストを呼び出し.
URLのリストが表示されます.
ユーザーを一つ選択.
URLは、ブラウザウィンドウに出てきます.
次の側面は、技術的な観点から考慮されなければなりません:
1. 送信フィードバック
2. 歴史
3. 保存されました
4. コミュニティ

•URLを送信と受信: URLを送信するために多くの方法があります。. 物理的なウェブは現在、BLEを経由して送信をサポートしています, mDNS, そして、SSDP (次のセクションではこれに関する詳細).
ウェブサイトからの基本的な情報を取得します: 物理的なWebクライアントが見つかりURLを収集し、すべての関連情報と一緒に送信し (例えば. 電波強度) Webサービスへ. この, 順番に, タイトルなどの基本情報を呼び出し、, 説明, そして、ウェブサイトのアイコンとは、クライアントに検索結果を返します。. Webサービスのプロトタイプ実装は、プロジェクトのGitHubのリポジトリで利用可能です.

•結果を表示: それは地域から多くのURL-送信デバイスを表示することになるとランキングは重要です. 物理的なWebクライアントは、信号強度に応じて並べ替えることができます, 個人的な好みやその他の基準. システムは、スパム事前に整理すべきです. 検索エンジンは同じ問題を抱えているので、, 彼らのアプローチは、物理的なウェブのために使用することができます. 結果表示で, ユーザーがリストオブジェクトをクリックすると、ブラウザは、関連するウェブサイトをオープン.

• 述べたように, 物理的なウェブは、現在のURLを送信および受信するための3つの方法を知っています. 彼らは、2つの異なるプロセスに基づいています: Bluetoothの低エネルギーおよびネットワークサービスの検出. 理論的には, さらなる方法は、将来的に追加することができます. 例えば, 開発者は、音声信号に埋め込むURLにオーディオ透かし技術を使用することができます. この場合, 物理的なWebクライアントは、オーディオ信号を受信することができるように拡張され、デコードURLがそこに含まれなければなりません.

BLE BluetoothとEddystone

物理的なウェブの最初の草案は、適切なパッケージにURLを送信するためにBLE USES. 技術は非常にエネルギー効率であります, それを用いた製品は、送信モードで動作している場合は特に (非接続モードBLE), 物理的なウェブの場合と同様に、. 小さなBLEデバイスは、ほぼ2年間、一つのボタン電池でEddystone URLを送信することができます.

フィジカルウェブの基本的なビルディング・ブロックの一つはEddystone URLです. プロトコル仕様として, Eddystoneは、Bluetoothコア仕様に基づいて近接ビーコン用のBluetoothの低消費電力・メッセージ・フォーマットを定義します. これは、個別にまたは組み合わせてビーコンを使用することができます異なるフレームタイプを記述します: Eddystone-UID, Eddystone-TLM, そして前述のEddystone URL, 物理的なウェブに関連する一つのみです.

Eddystoneメッセージは、広告データ・ブロック内の二つの基本的なデータ型で構成されてい (広告): UUIDとデータサービス. 両方のタイプは、16ビットの汎用一意識別子を使用して (UUID) Bluetoothの規格に準拠していること. Eddystoneのために予約UUIDサービスが0xFEAAです. それは、効率的なメカニズムを提供します, AndroidとiOSの両方が許可されていることを、クロスプラットフォームのバックグラウンドスキャン. ADブロックの後続のバイトは、フレームにデータが含まれている特定. 最初のバイトは、フレームタイプを定義します. 唯一の上位4ビットは、現在使用されています. 4つの下のものは、後で使用するために予約されており、値を持っている必要があります 0000.

Eddystone UIDフレームは、10バイトのネームスペースIDと6バイトのインスタンスIDから成るIDビーコン固有の16バイトを送信します。. 名前空間IDは、ビーコンの特定のセットのグループに使用することができますが、, インスタンスIDは、グループ内のデバイスを識別するのに有用です.

あなたはEddystone UIDの概念を見れば, それはにアップルが導入さiBeaconsと同様に動作します 2013. iBeaconパケットが含まれています 16 バイトUUIDに近いです, 2バイトのプライマリドメイン, そして2バイトのセカンダリドメイン. iBeaconパケットが含まれている16バイトの近接UUID, 2-メジャーと2バイトのマイナーフィールドバイト. 近接UUIDは、ビジネスのような組織やアプリケーションを識別するために使用することができます. メジャーとマイナーのフィールドは、アイデンティティのより詳細な割り当てがUUIDで決定できるように, ブランチの場合と同様に、. Eddystone-TLMは今、このようなバッテリーの状態などテレメトリ情報を送信しています, デバイスの温度およびビーコンにより送信されたパケットの数.

Eddystone URLフレームは、符号化することによって生成されたURLの縮小版を送ります. 圧縮は、限られた広告パッケージでより多くのデータを転送することが可能となります. 最初のフォーマット 11 バイト (バイト 0 使って 10) Eddystoneメッセージのすべてのフレームタイプでも同じです. どのように、次のバイトが設定されています (バイトで始まります 11), しかしながら, フレームタイプによって異なります:

•バイト 11 フレームタイプを定義. Eddystone URLフレームのためにその値が0x10のです.
•バイト 12 TXのパワーを定義します. TXパワーレベルのBluetooth特性に記載されているように、それは符号付き8ビット整数値であります

ネットワークサービスの検出

BLEビーコンとEddystone URLに加え、, このようSSDPとのmDNSなどのネットワーク発見方法は、URLを送信するオプションを提供します. また、ローカルネットワーク上のデバイスにURLを送信することができます. この方法は、BLEを超える2つの利点があります: 最初, ローカルネットワークにログインしているユーザーのみが、URLを見ることができます, 第二, 何のURLの長さの制限は、BLEのようにありません.

物理的なウェブのためのネットワーク探索を使用すると、セキュリティとプライバシーが重要な役割を果たしている状況では理にかなっています. デバイスへのアクセスは、同じ世帯の人に限定すべきである場合の例では、スマートホームエリアになります.

簡単なサービス発見プロトコル (SSDP) ローカルネットワークにおけるサービスやデバイスの宣伝や発見のためのネットワークプロトコルです. これは、ユニバーサルプラグアンドプレイプロトコルの発見層を形成します (UPnPの) そして、制御点として定義され、新たに追加されたデバイスを公表するのに役立ちます. また、あなたがデバイスや特定のサービスを検索することができます.

このような機能は、SSDPメッセージの2種類に基づいています. 最初, デバイスは、すぐにそれがネットワークに追加されるようにして送信する広告メッセージがあります. 標準のマルチキャストアドレスとポートへのメッセージ 239.255.255.250:1900 SSDPは、: 生きています. コントロールポイントは、SSDPメッセージを受信するためのポートを聞くので、新しいデバイスやサービスを検出できるようにするには. UPnPデバイスは、ネットワークから消えるか、現在使用できませんされる前に、, 彼らはメッセージを送信する必要がありますSSDP: 同じマルチキャストアドレスと対応するポートへのバイバイ.

一方, SSDPは、制御点でも、ネットワーク内の関心のデバイスやサービスを検索することができますここで発見機能があります. この場合, コントロールポイントは、マルチキャストアドレスとポートへの検索要求を送信します 239.255.255.250:1900. 要求されたサービスをサポートするUPnPデバイスは、要求を送信したチェックポイントのアドレスへのユニキャスト応答を送信します. レスポンスのフォーマットは、タイプのSSDPメッセージに類似するSSDP: 生きています.

フィジカルウェブは、ローカルネットワーク内のURLを送信および受信するためにSSDPをサポートしています. フラウンホーファーFOKUSは、対応するメカニズムの概念と実装を開発しました. 実装は、プロトコルを介してURLを受信するためのAndroidとiOSのための物理的なウェブアプリでSSDPの統合が含ま. 加えて, Node.jsのに基づいたクロスプラットフォームツールは、同じようにURLを送信するために利用可能です.

SSDPを使用している場合, ローカルネットワークに接続された物理ウェブ装置には、次のようなSSDPを送信します: それがネットワークで利用可能になるとすぐに生きているメッセージ:

NOTIFY * HTTP / 1.1 ホスト: 239.255.255.250:1900
CACHE-CONTROL: MAX-年齢は=秒広告の有効期限が切れるまで
ロケーション: 宣伝するウェブページのURL
NT: 骨壷: 物理-ウェブ-ORG: 端末: 基本的な: 1
NTS: SSDP: 生きています
サーバ: THE / バージョンのUPnP / 1.0 製品 / バージョン
USN: 広告UUID
最初の行にNOTIFYメソッドは、それが広告メッセージであることを示しています. LOCATIONヘッダが送信され、物理的ウェブのURLを定義している間, NTヘッダは、デバイスタイプを定義します, これは物理的なウェブの場合には骨壷です: 物理-ウェブ-ORG: 端末: 基本的な: 1. SSDP: NTSヘッダの生きている値は、物理的なウェブ・デバイスが使用可能であることを示し. 最後に, USNヘッダは、デバイスを識別するために使用できる一意の名前を提供します. スマートフォンやタブレット上で実行されている物理的なWebクライアントは、マルチキャストアドレスとポートに耳を傾けます 239.255.255.250:1900 そして、NTヘッダの値をチェックすることにより、物理的なウェブSSDPメッセージをフィルタリング. その後、SSDPメッセージを解析して送信を運ぶLOCATIONヘッダの値を読み取ることができるURL.

物理的なウェブ・デバイスは、次のSSDPを送信する必要があります: ネットワークから消える前にバイバイメッセージ:

NOTIFY * HTTP / 1.1 ホスト: 239.255.255.250: 1900
NT: 骨壷: 物理-ウェブ-ORG: 端末: 基本的な: 1
NTS: SSDP: バイバイ
USN: 広告UUID
SSDP: バイバイ、それは今から物理的なウェブデバイスが利用できなくなったことをクリアしていない可能. USNヘッダの値は、SSDPと同じままであります: aliveメッセージ. USNに関連付けられたURLのために、このようなメッセージを見て受信し、リストから削除物理Webクライアント.