AllJoynとWindows 10-デバイスが同じ言語を話すようにします

Akvelon(Ivanovo)のsgrebnovによる記事の作成、 AllJoynの直接開発者およびIoT / Windowsの専門家としてこの記事を執筆するのに役立つことを非常に感謝しています。 IoT関連の残りの記事は、 iotweekタグに記載されています。


こんにちは



少し前のことですが、前回のWinHEC(Hardware Engineering Conference)2015のフレームワークで、 IoTまたは「 モノのインターネット」のトピックについて既に触れました



多くの懸念される主な問題の1つは、接続を確保し、異なる言語やプロトコルなどを話すデバイスを発見する問題です。この問題は、AllJoynフレームワークとスレッドプロトコルを組み合わせて解決するように設計されており、Microsoftは7月1日にワーキンググループに参加しました。 AllJoynについて、私たちは話します。









それとは別に、Windows 10のコンテキストでこの概念の非常に重要な部分の1つを検討することにしました(もちろん、このOSに限定されません)-デバイスの相互作用のための一般的なプロトコルAllJoynは 、すでに事実上の標準になっています。 さらに、 Windows 10および付属のWindows 10 SDKは、このプロトコルの特別なサポートを提供します。



AllJoynとは何ですか?



AllJoynは、アプリケーション、デバイス、およびユーザーがデバイスの種類に関係なくWiFiおよびBluetooth(およびその他の種類のネットワーク)を介して対話できるように設計されたオープンソースフレームワーク(およびプロトコル)です。



このプロトコルの主なメリットは、特別なレベルの抽象化です。これにより、デバイスとアプリケーションは、特定のサービスのプロバイダーとして自分自身を提供し、追加の機器と特別なサーバーを使用せずに他のデバイスとアプリケーションを見つけることができます。



アーキテクチャ的には、このように見えます-AllJoynネットワークは、仮想ルーター(ルーター)とアプリケーション(アプリ)で構成されています。 アプリケーションはルーターと通信し、ルーターは他のルーターとこのルーターに関連する他のアプリケーションと順番に通信します。 したがって、アプリケーションはこれらの仮想ルーターのネットワークを介して互いに通信できます。 同時に、アプリケーションとそれが接続されている仮想ルーターは、異なる物理デバイスに配置できます。



AllJoynアーキテクチャの詳細については、 こちら (一般情報)およびこちら (Windows 10 IoT)をご覧ください







Windows 10 IoT AllJoyn



急いでください-Windows 10では、このプロトコルの完全なサポートが含まれています。

まず、Windows 10には、アプリケーションとネットワーク上の他のデバイスの両方で使用できる特別なAllJoynルーターサービスが含まれているため、上記のAllJoynルーターについて心配する必要はありません。







次に、Windows 10には、Windows.Devices.AllJoyn名前空間(https://msdn.microsoft.com/en-us/library/windows/apps/windows.devices)にあるAllJoynプロトコルを操作するための特別なAPIが含まれています.alljoyn.aspx)(C ++、C#、JavaScriptサポート)。 したがって、追加のSDKやツールをインストールする必要はありません。すべての準備が整い、動作します。



そして、もちろん、開発者向けの追加ツール:





Windows 10でAllJoynアプリケーションを作成する例



以下では、 Windows 10 Insider PreviewとVisual Studio 2015 Community Edition(RC)の無料バージョンを使用しますダウンロード )。



AllJoynの一般的な例の1つにConnected Lighting Projectがあります。これは、情報を受信して​​デバイスを制御するためのAllJoynインターフェイスを実装する電球に過ぎません。

以下では、このようなスマート電球を制御するWindows 10クライアントを作成するプロセスを見ていきます。



アプリケーションの完全なソースコードはGitHubにあります 。 だから...



手順1.新しいWidows Runtime C ++コンポーネントを作成し、コードの自動生成にAllJoynCodeGen (上記を参照)を使用します。

このプロジェクトの公開AllJoyn Introspection XMLは、 ここにあります







詳細な手順はこちらです。

ステップ2 新しいWindows 10 C#/ XAMLアプリケーションを作成し、それに応じてWindowsランタイムによって作成されたコンポーネントを追加します。

ステップ3 これで電球を見つけて制御するロジックを実装できます

電球を見つけて接続するには:







明るさを変更するには:







これは本当にすべてのコードです:)主なAllJoynクラスはWindows 10 APIによって提供され、残りはAllJoynCodeGenを使用して生成されます。



ステップ4.テスト:

テストライトとして、ランプシミュレータアプリケーション(Android、 ダウンロード )を使用できます。 そのため、Windows Phone 10 Phoneでアプリケーションを起動し、AndroidでLamp Simulatorを起動して、すべてがどのように連携するかを確認します。







資源



AllJoynとWindows10

AllJoynアーキテクチャ

Windows 10でAllJoynアプリを構築する

Windows 10のAllJoynインターフェイス

AllJoyn Connected Lightingプロジェクト




All Articles