クイック スタート: Azure Digital Twins を使用して空き部屋を探すQuickstart: Find available rooms by using Azure Digital Twins

Azure Digital Twins サービスを使用すると、物理環境のデジタル イメージを再作成できます。The Azure Digital Twins service allows you to re-create a digital image of your physical environment. その後、環境内のイベントによって通知を受け取り、それらのイベントへの応答をカスタマイズすることができます。You can then get notified by events in your environment and customize your responses to them.

このクイック スタートでは、1 組の .NET サンプルを使用して、架空のオフィス ビルをデジタル化します。This quickstart uses a pair of .NET samples to digitize an imaginary office building. それによって、そのビルの空き部屋を探す方法を示します。It shows you how to find available rooms in that building. Digital Twins を使用すると、多くのセンサーを環境に関連付けることができます。With Digital Twins, you can associate many sensors with your environment. また、シミュレートされた二酸化炭素センサーを利用して、空き部屋の空気の質が最適かどうかを調べることもできます。You also can find out if the air quality of your available room is optimal with the help of a simulated sensor for carbon dioxide. サンプル アプリケーションの 1 つでは、このシナリオの視覚化に役立つランダムなセンサー データを生成します。One of the sample applications generates random sensor data to help you visualize this scenario.

クイック スタートのセットアップについては、次のビデオで要約しています。The following video summarizes quickstart setup:

前提条件Prerequisites

  1. Azure アカウントをお持ちでない場合は、開始する前に無料アカウントを作成してください。If you don't have an Azure account, create a free account before you begin.

  2. このクイック スタートで実行する 2 つのコンソール アプリケーションは、C# を使って記述されています。The two console applications you run in this quickstart are written by using C#. 開発用マシンに .NET Core SDK バージョン 2.1.403 以降をインストールしてください。Install the .NET Core SDK version 2.1.403 or above on your development machine. .NET Core SDK がインストールされている場合は、開発用マシン上の C# の現在のバージョンを確認してください。If you have the .NET Core SDK installed, verify the current version of C# on your development machine. コマンド プロンプトで、dotnet --version を実行します。Run dotnet --version in a command prompt.

  3. サンプル C# プロジェクトをダウンロードします。Download the sample C# project. digital-twins-samples-csharp-master.zip アーカイブを展開します。Extract the digital-twins-samples-csharp-master.zip archive.

Digital Twins インスタンスの作成Create a Digital Twins instance

このセクションの手順に従って、ポータルで Digital Twins の新しいインスタンスを作成します。Create a new instance of Digital Twins in the portal by following the steps in this section.

  1. Azure Portal にサインインします。Sign in to the Azure portal.

  2. 左側のウィンドウで、 [リソースの作成] を選択します。From the left pane, select Create a resource. digital twins を検索し、 [Digital Twins] を選択します。Search for digital twins, and select Digital Twins. [作成] を選択してデプロイ プロセスを開始します。Select Create to start the deployment process.

    新しい Digital Twins インスタンスを作成するための選択

  3. [Digital Twins] ウィンドウで、次の情報を入力します。In the Digital Twins pane, enter the following information:

    • [リソース名] :Digital Twins インスタンスの一意の名前を作成します。Resource Name: Create a unique name for your Digital Twins instance.

    • サブスクリプション:この Digital Twins インスタンスを作成するために使用するサブスクリプションを選択します。Subscription: Choose the subscription that you want to use to create this Digital Twins instance.

    • [リソース グループ] :Digital Twins インスタンスのリソース グループを選択または作成します。Resource group: Select or create a resource group for the Digital Twins instance.

    • [場所] :使用しているデバイスに最も近い場所を選択します。Location: Select the closest location to your devices.

      情報が入力されている [Digital Twins] ウィンドウ

  4. Digital Twins の情報を確認してから、 [作成] を選択します。Review your Digital Twins information, and then select Create. Digital Twins インスタンスが作成されるまでに数分かかる場合があります。Your Digital Twins instance might take a few minutes to be created. [通知] ウィンドウで進行状況を監視できます。You can monitor the progress in the Notifications pane.

  5. Digital Twins インスタンスの [概要] ウィンドウを開きます。Open the Overview pane of your Digital Twins instance. [管理 API] の下のリンクに注目します。Note the link under Management API.

    [管理 API] の URL は、https://yourDigitalTwinsName.yourLocation.azuresmartspaces.net/management/swagger という形式です。The Management API URL is formatted as https://yourDigitalTwinsName.yourLocation.azuresmartspaces.net/management/swagger. この URL では、インスタンスに適用される Azure Digital Twins REST API のドキュメントが表示されます。This URL takes you to the Azure Digital Twins REST API documentation that applies to your instance. この API ドキュメントを読んで使用する方法については、「How to use Azure Digital Twins Swagger (Azure Digital Twins Swagger の使用方法)」を参照してください。Read How to use Azure Digital Twins Swagger to learn how to read and use this API documentation.

    [管理 API] の URL を https://yourDigitalTwinsName.yourLocation.azuresmartspaces.net/management/api/v1.0/ という形式に変更します。Modify the Management API URL to this format https://yourDigitalTwinsName.yourLocation.azuresmartspaces.net/management/api/v1.0/. アプリケーションは、変更された URL をベース URL として使用してインスタンスにアクセスします。Your application will use the modified URL as the base URL to access your instance. この変更した URL を一時ファイルにコピーします。Copy this modified URL to a temporary file. これは次のセクションで必要になります。You'll need this in the next section.

    管理 API

アプリのアクセス許可の設定Set permissions for your app

このセクションでは、サンプル アプリケーションを Azure Active Directory (Azure AD) に登録して、これが Digital Twins インスタンスにアクセスできるようにします。This section registers your sample application to Azure Active Directory (Azure AD) so that it can access your Digital Twins instance. 既に Azure AD アプリが登録されている場合は、それをサンプルに再利用します。If you already have an Azure AD app registration, reuse it for your sample. このセクションで説明されているとおりにそれが構成されていることを確認します。Make sure that it's configured as described in this section.

注意

このセクションでは、新しい Azure AD アプリの登録手順について説明します。This section provides instructions for the new Azure AD app registration. まだ従来のネイティブ アプリの登録がある場合、サポートされている限りはそれを使用できます。If you still have legacy native app registration, you may use it as long as it's supported. さらに、何らかの理由でアプリ登録の新しい方法が設定で機能しない場合は、従来のネイティブ AAD アプリを作成してみてください。Additionally, if for some reason the new way of app registation is not working in your setup, you may try to create a legacy native AAD app. 詳細な手順については、「Register your Azure Digital Twins app with Azure Active Directory legacy (Azure Digital Twins アプリを Azure Active Directory レガシに登録する)」を参照してください。Read Register your Azure Digital Twins app with Azure Active Directory legacy for more instructions.

  1. Azure portal で、左側のウィンドウの [Azure Active Directory] を開き、 [アプリの登録] ウィンドウを開きます。In the Azure portal, open Azure Active Directory from the left pane, and then open the App registrations pane. [新規登録] ボタンを選択します。Select the New registration button.

    登録されたアプリ

  2. [名前] ボックスに、このアプリ登録の表示名を入力します。Give a friendly name for this app registration in the Name box. [リダイレクト URI (省略可能)] セクションで、左側のドロップダウン メニューから [パブリック クライアント (モバイルとデスクトップ)] を選択し、右側のテキストボックスに「https://microsoft.com」と入力します。Under the Redirect URI (optional) section, choose Public client (mobile & desktop) in the drop-down on the left, and enter https://microsoft.com in the textbox on the right. [登録] を選択します。Select Register.

    [作成] ウィンドウ

  3. アプリが "ネイティブ アプリ" として登録されていることを確認するには、アプリ登録の [認証] ウィンドウを開き、そのウィンドウを下にスクロールします。To make sure that the app is registered as a native app, open the Authentication pane for your app registration, and scroll down in that pane. [既定のクライアントの種類] セクションで、 [アプリケーションは、パブリック クライアントとして扱います][はい] を選択します。In the Default client type section, choose Yes for Treat application as a public client.

    既定のネイティブ

  4. 登録済みアプリの [概要] ウィンドウを開き、次のエンティティの値を一時ファイルにコピーします。Open the Overview pane of your registered app, and copy the values of following entities to a temporary file. これらの値は、以下のセクションでサンプル アプリケーションを構成する際に使用します。You'll use these values to configure your sample application in the following sections.

    • アプリケーション (クライアント) IDApplication (client) ID
    • ディレクトリ (テナント) IDDirectory (tenant) ID

    Azure Active Directory のアプリケーション ID

  5. アプリの登録の [API アクセス許可] ウィンドウを開きます。Open the API permissions pane for your app registration. [アクセス許可の追加] ボタンを選択します。Select Add a permission button. [API アクセス許可の要求] ページで、 [所属する組織で使用している API] タブを選択し、"Azure Smart Spaces" を探します。In the Request API permissions pane, select the APIs my organization uses tab, and then search for Azure Smart Spaces. Azure Smart Spaces Service API を選択します。Select the Azure Smart Spaces Service API.

    Search API

  6. 選択された API は、同じ [API アクセス許可の要求] ウィンドウに Azure Digital Twins と表示されます。The selected API shows up as Azure Digital Twins in the same Request API permissions pane. [Read (1)](読み取り (1)) ドロップ ダウンを選択し、 [Read.Write] チェック ボックスをオンにします。Select the Read (1) drop down, and then select Read.Write checkbox. [アクセス許可の追加] ボタンを選択しますSelect the Add permissions button.

    API アクセス許可を追加する

  7. 組織の設定によっては、この API への管理者アクセスを許可するために追加の手順を実行する必要があります。Depending on your organization's settings, you might need to take additional steps to grant admin access to this API. 詳細については、管理者にお問い合わせください。Contact your adminstrator for more information. 管理者アクセスが承認されると、 [API アクセス許可] ウィンドウの [管理者の同意が必要] 列に API の次のような内容が表示されます。Once the admin access is approved, the ADMIN CONSENT REQUIRED column in the API permissions pane will show similar to the following for your APIs:

    API アクセス許可を追加する

アプリケーションのビルドBuild application

次の手順に従って、空間利用率アプリケーションをビルドします。Build the occupancy application by following these steps.

  1. コマンド プロンプトを開きます。Open a command prompt. digital-twins-samples-csharp-master.zip ファイルの展開先フォルダーに移動します。Go to the folder where your digital-twins-samples-csharp-master.zip files were extracted.
  2. cd occupancy-quickstart/src を実行します。Run cd occupancy-quickstart/src.
  3. dotnet restore を実行します。Run dotnet restore.
  4. appSettings.json を編集して、次の変数を更新します。Edit appSettings.json to update the following variables:
    • ClientId: 前のセクションでメモした、Azure AD アプリ登録のアプリケーション ID を入力します。ClientId: Enter the Application ID of your Azure AD app registration, noted in the preceding section.
    • Tenant: Azure AD テナントのディレクトリ ID を入力します。これも、前のセクションでメモしたものです。Tenant: Enter the Directory ID of your Azure AD tenant, also noted in the previous section.
    • BaseUrl: Digital Twins インスタンスの、https://yourDigitalTwinsName.yourLocation.azuresmartspaces.net/management/api/v1.0/ という形式の Management API URL。BaseUrl: The Management API URL of your Digital Twins instance is in the format https://yourDigitalTwinsName.yourLocation.azuresmartspaces.net/management/api/v1.0/. この URL 内のプレースホルダーを、前のセクションにあるインスタンスの値に置き換えます。Replace the placeholders in this URL with values for your instance from the previous section.

グラフのプロビジョニングProvision graph

この手順では、Digital Twins 空間グラフを次のようにプロビジョニングします。This step provisions your Digital Twins spatial graph with:

  • いくつかの空間。Several spaces.
  • 1 つのデバイス。One device.
  • 2 つのセンサー。Two sensors.
  • カスタム関数。A custom function.
  • 1 つのロール割り当て。One role assignment.

空間グラフは、provisionSample.yaml ファイルを使用してプロビジョニングします。The spatial graph is provisioned by using the provisionSample.yaml file.

  1. dotnet run ProvisionSample を実行します。Run dotnet run ProvisionSample.

    注意

    Device Login Azure CLI ツールを使用して、ユーザーを Azure AD に対して認証します。The Device Login Azure CLI tool is used to authenticate the user to Azure AD. Microsoft のログイン ページを使用して認証するには、ユーザーが特定のコードを入力する必要があります。The user must enter a given code to authenticate by using the Microsoft login page. コードを入力した後、手順に従って認証します。After code is entered, follow the steps to authenticate. ユーザーは、ツールの実行中に認証する必要があります。The user must authenticate when the tool is running.

    ヒント

    この手順の実行時に、EXIT: Unexpected error: The input is not a valid Base-64 string ... というエラー メッセージが表示される場合は、変数が正しくコピーされていることを確認してください。When you run this step, make sure your variables were copied properly if the following error message appears: EXIT: Unexpected error: The input is not a valid Base-64 string ...

  2. プロビジョニングの手順には数分かかることがあります。The provisioning step might take a few minutes. また、Digital Twins インスタンス内の IoT ハブもプロビジョニングされます。It also provisions an IoT Hub within your Digital Twins instance. IoT ハブで Status=Running と表示されるまで、ループ処理が行われます。It loops through until the IoT Hub shows Status=Running.

    サンプルをプロビジョニングする

  3. 実行の最後に、デバイス シミュレーター サンプルで使用するデバイスの ConnectionString をコピーします。At the end of the execution, copy the ConnectionString of the device for use in the device simulator sample. 下の図で示されている文字列のみをコピーします。Copy only the string outlined in this image.

    サンプルをプロビジョニングする

    ヒント

    Azure Digital Twins グラフ ビューアーを使って、空間グラフを表示および変更できます。You can view and modify your spatial graph using the Azure Digital Twins Graph Viewer.

センサー データの送信Send sensor data

次の手順に従って、センサー シミュレーター アプリケーションをビルドして実行します。Build and run the sensor simulator application by following these steps.

  1. 新しいコマンド プロンプトを開きます。Open a new command prompt. ダウンロードしたプロジェクト (digital-twins-samples-csharp-master フォルダー内) に移動します。Go to the project you downloaded in the digital-twins-samples-csharp-master folder.

  2. cd device-connectivity を実行します。Run cd device-connectivity.

  3. dotnet restore を実行します。Run dotnet restore.

  4. appsettings.json を編集し、前記の ConnectionStringDeviceConnectionString を更新します。Edit appsettings.json to update DeviceConnectionString with the previous ConnectionString.

  5. dotnet run を実行して、センサー データの送信を開始します。Run dotnet run to start sending sensor data. 次の図で示されているように、Digital Twins に送信されていることがわかります。You see it sent to Digital Twins as shown in the following image.

    デバイスの接続性

  6. このシミュレーターを実行したままにし、次の手順の操作によって結果を並べて表示できるようにします。Let this simulator run so that you can view results side by side with the next step action. このウィンドウには、Digital Twins に送信される、シミュレートされたセンサー データが表示されます。This window shows you the simulated sensor data sent to Digital Twins. 次の手順では、リアルタイムでクエリを実行して、空気の良い空き部屋を探します。The next step queries in real time to find available rooms with fresh air.

    ヒント

    この手順の実行時に、EXIT: Unexpected error: The input is not a valid Base-64 string ... というエラー メッセージが表示される場合は、DeviceConnectionString が正しくコピーされていることを確認してください。When you run this step, make sure DeviceConnectionString was copied properly if the following error message appears: EXIT: Unexpected error: The input is not a valid Base-64 string ...

空気の良い空き空間の検索Find available spaces with fresh air

このセンサー サンプルでは、2 つのセンサーのランダムなデータ値をシミュレートしています。The sensor sample simulates random data values for two sensors. これらは、モーションと二酸化炭素です。They're motion and carbon dioxide. 空気の良い空き部屋は、室内にだれも存在しないとサンプルで定義されています。Available spaces with fresh air are defined in the sample by no presence in the room. また、二酸化炭素濃度が 1,000 ppm 未満であるとも定義されています。They're also defined by a carbon dioxide level under 1,000 ppm. この条件が満たされない場合、その空間は利用できないか、空気の質が悪いことになります。If the condition isn't fulfilled, the space isn't available or the air quality is poor.

  1. 前のプロビジョニング手順の実行に使用したコマンド プロンプトを開きます。Open the command prompt you used to run the previous provisioning step.

  2. dotnet run GetAvailableAndFreshSpaces を実行します。Run dotnet run GetAvailableAndFreshSpaces.

  3. このコマンド プロンプトとセンサー データ コマンド プロンプトを並べて確認します。Look at this command prompt and the sensor data command prompt side by side.

    一方のコマンド プロンプトでは、シミュレートされたモーションと二酸化炭素のデータを 5 秒ごとに Digital Twins に送信します。One command prompt sends simulated motion and carbon dioxide data to Digital Twins every five seconds. もう一方のコマンドではグラフをリアルタイムで読み取り、シミュレートされたランダムなデータに基づいて空気の良い空き部屋を探します。The other command reads the graph in real time to find out available rooms with fresh air based on random simulated data. 最後に送信されたセンサー データに基づいて、ほぼリアルタイムで次のどちらかの状況が表示されます。It displays one of these conditions in near real time based on the sensor data that was sent last:

    • 空気の良い空き部屋。Available rooms with fresh air.

    • 空いていないか、空気の質が悪い部屋。Occupied or poor air quality of the room.

      空気の良い空き空間の取得

このクイック スタートで何が起こったのかと、どの API が呼び出されたのかを理解するには、digital-twins-samples-csharp にあるコード ワークスペース プロジェクトを Visual Studio Code で開いてください。To understand what happened in this quickstart and what APIs were called, open Visual Studio Code with the code workspace project found in digital-twins-samples-csharp. 次のコマンドを使用します。Use the following command:

<path>\occupancy-quickstart\src>code ..\..\digital-twins-samples.code-workspace

チュートリアルでは、コードの詳細について説明します。The tutorials go deep into the code. 構成データを変更する方法と呼び出される API について解説しています。They teach you how to modify configuration data and what APIs are called. Management API シリーズの詳細については、Digital Twins Swagger ページを参照してください。For more information on Management APIs, go to your Digital Twins Swagger page:

https://YOUR_INSTANCE_NAME.YOUR_LOCATION.azuresmartspaces.net/management/swagger
NameName 置換後の文字列Replace with
YOUR_INSTANCE_NAMEYOUR_INSTANCE_NAME お客様の Digital Twins インスタンスの名前The name of your Digital Twins instance
YOUR_LOCATIONYOUR_LOCATION インスタンスをホストするサーバーのリージョンWhich server region your instance is hosted on

または、便利な Digital Twins Swagger を参照してください。Or for convenience, browse to Digital Twins Swagger.

リソースのクリーンアップClean up resources

チュートリアルでは、以下の方法の詳細について説明します。The tutorials go into detail about how to:

  • 空間利用の生産性を向上させるための施設管理者用アプリケーションを構築します。Build an application for facility managers to increase occupant productivity.
  • ビルをより効率的に運用します。Operate the building more efficiently.

チュートリアルに進む場合は、このクイック スタートで作成したリソースをクリーンアップしないでください。To continue to the tutorials, don't clean up the resources created in this quickstart. 進まない場合は、このクイック スタートで作成したすべてのリソースを削除してください。If you don't plan to continue, delete all the resources created by this quickstart.

  1. サンプル リポジトリのダウンロード時に作成したフォルダーを削除します。Delete the folder that was created when you downloaded the sample repository.

  2. Azure portal の左側のメニューで、 [すべてのリソース] を選択します。From the menu on the left in the Azure portal, select All resources. 次に、Digital Twins リソースを選択します。Then select your Digital Twins resource. [すべてのリソース] ウィンドウの上部にある [削除] を選択します。At the top of the All resources pane, select Delete.

    ヒント

    ご自分の Digital Twins インスタンスの削除で問題が発生していた場合は、サービス更新が修正と共にロールアウトされています。If you experienced trouble deleting your Digital Twins instance, a service update has been rolled out with the fix. ご自分のインスタンスの削除を再試行してください。Please retry deleting your instance.

次の手順Next steps

このクイック スタートでは、簡単なシナリオを使用して、作業環境の良い部屋を探す方法について説明しました。This quickstart used a simple scenario to show how to find rooms with good working conditions. このシナリオの詳細な分析については、次のチュートリアルを参照してください。For in-depth analysis of this scenario, see this tutorial: