LoginSignup
1
2

More than 1 year has passed since last update.

IoT Edgeデバイスを使った IoT Centralアプリケーション

Last updated at Posted at 2021-08-21

この記事は2021/08/21に開催した『Azure IoT Central』全方位解説セミナー!で行ったデモの手順を説明しています。

Azure IoT Centralでは様々なデバイスを接続することができます。すでにデバイステンプレートが用意されている場合では数分でモニタリングアプリケーションを作成することもできます。

IoT Edgeデバイス用デバイステンプレートはありませんが、IoT Edge のマニュフェスト(具体的にはdeployment.xxxx.jsonファイル)を読み込むことで簡単にデバイステンプレートを作ることができるようになっています。

今回は温度、湿度、Co2濃度、位置情報を送信するIoT EdgeデバイスをIoT Centralに登録して、モニタリングするためのアプリケーションを作成してみます。

接続するIoT Edgeデバイス

・RaspberryPi4+SCD30(Co2センサー)+GPS
・RaspberryPi OS buster 32bit (2021/05/07)
・Python3.7
・IoT Edge Ver1.1
・お好きなターミナルソフトウェア(WindowsTerminal等)

デバイスからセンサーデータをIoTHubに送信するようにプログラムしています。
IoT Edge開発の説明は省略。興味のある人は参考URLを参照してください。

それではIoT Centralアプリケーションを作成していきましょう。

スタート

IoTCentralサイトにアクセスして、有効なアカウントでサインインします。
00.PNG
・左側メニューの「マイアプリ」をクリックします。

00-1.PNG
・左上の「+新しいアプリケーション」をクリックします。

00-2.PNG
・カスタム アプリの「アプリの作成」をクリックします。

00-3.PNG
・アプリケーション名は一意の名称を入力します。
・URLは一意のURLを入力します。入力できるのは小文字、数字、ハイフンが使えます。
・料金プランは無料を選択します。(1週間以上利用するならStandard2を選ぶといいでしょう。)

00-4.PNG
・ディレクトリ、Azureサブスクリプションは利用しているAzureサブスクリプション、ディレクトリを選びます。
・場所はどこでもいいですが、やはり一番近い「東日本」がいいでしょう。
・入力出来たら「作成」をクリックします。

00-5.PNG
・画面左側のデバイステンプレートをクリックします。

00-6.PNG
・画面左上の「+新規」ボタンをクリックします。

02.PNG
・カスタムデバイステンプレートの「Azure IoT Edge」を選択してから「次へ:カスタマイズ」をクリックします。

03.PNG
・デバイステンプレート名を入力し、「参照」をクリックします。

04.PNG
・IoTEdgeモジュールのソースディレクトリ>config>deployment.xxxx.jsonを選択します。(xxxxはデバイスのアーキテクチャで変わります。)

05.PNG
・読み込んだデプロイマニュフェストに問題なければ「検証済み」と表示されます。次に「次:レビュー」をクリックします。

06.PNG
・モジュールに作成したカスタムモジュールの名前が表示されます。最後に作成ボタンをクリックします。

071.PNG
・モジュールに機能を追加します。(具体的にはデータを受け取る項目の設定をします。)
・「機能の追加」をクリックし、次の項目を入力します。

08.PNG
・入力する項目は「temperature」、「humidity」、「co2」、「tracking」になります。セマンティックは該当する内容を選択します。(「co2」は該当するものがないので空欄のままにします。)入力ができたら画面上部の保存をクリックします。

09.PNG
・次に「ビュー」をクリックして、「デバイスの視覚化」をクリックします。

10.PNG
「折れ線グラフ」タイルを右側にドラッグします。同様に「最後の既知の値(LKV)」タイル、「マップ(テレメトリ)」タイルもドラッグします。

11.PNG
・折れ線グラフタイルの「設定」をクリックします。

12.PNG
・テレメトリの「+機能」をクリックして、「temperature」、「humidity」、「co2」を追加して「更新」をクリックします。「最後の既知の値(LKV)」には「temperature」、「humidity」、「co2」、「tracking」を追加します。「マップ(テレメトリ)」には「tracking」を追加します。

13.PNG
・「保存」をクリックしてから「←戻る」をクリックします。

13-1.PNG
・デバイステンプレートが出来上がったので「↑公開」をクリックします。

14.PNG
・「公開」ボタンをクリックします。

14-1.PNG
・続いてデバイスの登録をします。左側メニューの「デバイス」をクリックして、画面上部の「+新規」をクリックします。

16.PNG
・デバイス名は自由に入力できます。省略するとデバイスIDと同じになります。
・デバイスIDは一意の値を入力します。
・デバイステンプレートは先ほど作成したテンプレートをリストから選択します。
・入力ができたら「作成」をクリックします。

16-1.PNG
・作成したデバイス名をクリックします。

16-2.PNG
・画面上部の「接続」をクリックします。

19.PNG
・「IDスコープ」、「デバイスID」、「主キー」の各項目をメモしておきます。

20.PNG
・次にターミナルを起動して、IoTEdgeデバイスにログインします。
・「sudo nano /etc/iotedge/config.yaml」と入力します。
・開いたファイル内の「# DPS provisioning with symmetric key attestation」より後の行のコメントアウトを解除します。
・「scope_id」には先ほどメモした「IDスコープ」の値を入力します。
・「registration_id」には「デバイスID」を入力します。
・「symmetric_key」には「主キー」を入力します。
・入力が終了したらファイルを保存したのちエディタを終了します。
・「sudo systemctl restart iotedge」と入力しIoTEdgeランタイムを再起動します。

21.PNG
・IoTCentralに戻って、デバイスからデータが送信されていることを確認します。

以上がIoTCentralにIoTEdgeデバイスを登録する方法でした。

参考URL

メモ:RaspberryPiにAzure IoTEdge ランタイムをインストール
メモ:RaspberryPi上のAzure IoTEdgeランタイムの設定
Azure IoT Edge カスタムモジュールの作成(RaspberryPi & Python)
今回のIoTEdgeデバイスのソースコード https://github.com/linyixian/IoTCentral_IoTEdge

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2