Azure IoT Hubチュートリアル
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>Azure IoT Hub]]
--Azure IoT Hubチュートリアル
--[[Azure IoT Centralチュートリアル]]
--[[Azure IoT Edgeチュートリアル]]
* 目次 [#w8d4e7b7]
#contents
*概要 [#acbfba92]
-[[Azure IoT Hub]]の
--[[Device Endpoint>Azure IoT Hub#zc944d5d]]にデバイスを
--[[Service Endpoint>Azure IoT Hub#sada5bf3]]にサービスを
>繋いでいくチュートリアル
-以下を接続する。
--[[Azure IoT Explorer>#x1656c70]]
--[[Device Endpoint>Azure IoT Hub#zc944d5d]]
---[[Raspberry Pi Simulator>#cd6d69d9]]~
---[[CLIデバイス・シミュレータ>#l37428a5]]
---[[SDK(C#)>#pc3d2e93]]
--[[Service Endpoint>Azure IoT Hub#sada5bf3]]
---[[Azure Stream Analytics>#r64ca7cd]]~
・[[ストレージ>Azureのストレージ]]~
・[[Power BI]]
---[[Azure Time Series Insights>#j0c85e68]]
*詳細 [#meed8673]
**契約 [#gaa4007d]
***[[Azureの契約>AzureのPoC環境を契約する]] [#o1607bb5]
***IoT Hubの契約 [#p3b81203]
Freeレベルを選択できるらしい。
**構築 [#ucb21f5f]
パラメタは以下の感じで。
-リソース・グループ:HmsRG
-Region:westus2
-IoT Hub 名:OsscJpDevInfra
-DPS 名:OsscJpDevInfra
-スケーリング レベルとユニット:F1(Freeレベル
***ポータル [#n42faf51]
-IoT Hub
--サービス > IoT Hubに移動
--[IoT ハブ作成]ボタンを押下
--[[上記>#ucb21f5f]]のパラメタを設定
--[確認および作成] → [作成]ボタンを押下。
--デプロイが完了したら[リソースに移動]ボタンを押下。
--IoT Hubへの接続文字列~
IoT Hubの共有アクセス ポリシーの~
iothubownerのプライマリ接続文字列から取得。
-DPS~
...
***シェル [#h08c88ba]
-リソース・グループ
$ az group create --name HmsRG --location westus2
-エクステンションの追加
$ az extension add --name azure-iot
-IoT Hub
--IoT Hubの作成
$ az iot hub create --resource-group HmsRG --name OsscJp...
--IoT Hubへの接続文字列~
を以下のコマンドから取得
$ az iot hub connection-string show --hub-name OsscJpDev...
-DPS(必要に応じて
--DPSの作成
$ az iot dps create --resource-group HmsRG --name OsscJp...
--リンクする。
$ hubConnectionString=$(az iot hub connection-string sho...
$ echo $hubConnectionString
$ az iot dps linked-hub create \
--dps-name OsscJpDevInfra --resource-group HmsRG --loc...
--connection-string $hubConnectionString
--DPS 構成の "ID スコープ"をメモしておく。
$ az iot dps show --name OsscJpDevInfra --query properti...
**Azure IoT Explorer [#x1656c70]
***インストール [#ed98778e]
-最新のインストーラーを取得する。~
https://github.com/Azure/azure-iot-explorer/releases
-既定値でインストールを行う。
***初期化 [#xae8e3a8]
-起動して[Add connection]する。
-接続文字列の入力欄に[[IoT Hubへの接続文字列>#ucb21f5f]]...
***パブリック モデル リポジトリ追加 [#he457f43]
(パブリック モデル リポジトリとは?)
-ホーム ビューで、 [IoT プラグ アンド プレイの設定] を選...
-[+ 追加] を選択して[パブリック リポジトリ] を選択。
-パブリック モデル リポジトリのエントリが表示される。
-[保存] を選択。
*準備 [#ab3258fa]
**デバイスの追加 [#k90b9399]
***ポータル [#b19ca732]
-デバイス管理 > デバイス > デバイスの追加と進み
--以下の値を入力
---デバイスの作成で以下を入力する。
---デバイス ID:mydevice1
---認証の種類:対称キー、自動生成キー[✔]
---このデバイスを IoT ハブに接続する:有効化
--[保存]ボタンを押下し~
デバイスを追加する。
-追加したデバイスのページに移動し、
--デバイスからIoT Hubへの接続文字列を取得しておく。
***シェル [#fa2e991b]
-通常のデバイス
--デバイスIDの生成
$ az iot hub device-identity create -d mydevice1 -n Ossc...
--デバイスからIoT Hubへの接続文字列~
$ az iot hub device-identity connection-string show --hu...
-DPS デバイス
--生成~
事前に、デバイスID : my-pnp-device1 を生成しておく。
--登録~
登録してenrollment-idとsymmetricキーをメモしておく。
$ az iot dps enrollment create \
--attestation-type symmetrickey \
--dps-name OsscJpDevInfra --resource-group HmsRG \
--enrollment-id my-pnp-device1 --device-id my-pnp-devi...
--query '{registrationID:registrationId,primaryKey:att...
--削除
$ az iot dps enrollment delete -n OsscJpDevInfra --eid m...
***[[Azure IoT Explorer>#x1656c70]] [#m71eb642]
-ホーム ビューで、 [IoT Hub] を選択。
-接続が表示され接続プロパティの下の[View devices in this ...
-[+ 新規] を選択し、デバイス ID:mydevice1を入力し[作成] ...
-[プライマリ接続文字列]フィールドからデバイスからIoT Hub...
**デバイスの監視 [#y74719b3]
***ポータル [#tf6c8c7d]
***シェル [#xd91d96d]
[[Azure Cloud Shell]]の別セッション(≒ 別タブ)で実行
$ az iot hub monitor-events --output table -p all -n Oss...
***[[Azure IoT Explorer>#x1656c70]] [#g1f9593b]
追加したデバイスのテレメトリを受信
-デバイスを選択し、
-テレメトリを選択し、
-[Start]を押下してテレメトリを受信
*接続 [#cbe61ae8]
**デバイス [#z6f6be88]
***[[Raspberry Pi>https://dotnetdevelopmentinfrastructure...
-[[デバイス監視の設定>#y74719b3]]を行っておく。
-Raspberry Pi Azure IoT Web Simulator~
https://azure-samples.github.io/raspberry-pi-web-simulato...
--'[Your IoT hub device connection string]'の部分を~
デバイスからIoT Hubへの接続文字列で置換する。
--[Run]ボタンを押下すると「Message sent to Azure IoT Hub...
***CLIデバイス・シミュレータ [#l37428a5]
-[[デバイス監視の設定>#y74719b3]]を別セッション(≒タブ)...
-シミュレータの生成
$ az iot device simulate -d mydevice1 -n OsscJpDevInfra
--シミュレータではデバイスからIoT Hubへの接続文字列の設定...
--デバイスが停止している場合、このコマンドを実行して再起...
-各種メッセージの送信~
※ [[Azure Cloud Shell]]の別セッション(≒ 別タブ)で実行
--D2Cメッセージを送信
---シミュレータ生成と同時に定期的にメッセージが送信される。
---メッセージは、監視のセッション(≒タブ)で確認可能。
--C2Dメッセージを送信~
メッセージは、シミュレータの生成のセッション(≒タブ)で確...
$ az iot device c2d-message send -d mydevice1 --data "He...
--ダイレクト メソッドを送信~
メッセージは、シミュレータの生成のセッション(≒タブ)で確...
$ az iot hub invoke-device-method --mn MySampleMethod -d...
--プロパティの
---更新
$ az iot hub device-twin update -d mydevice1 --desired '...
---確認
$ az iot hub device-twin show -d mydevice1 --query prope...
---シミュレータの生成のセッション(≒タブ)でも確認可能。
***SDK(C#) [#pc3d2e93]
「[[クイックスタート>#x1817894]]」「[[チュートリアル>#g49...
Node.jsのサンプルが多いが、やっぱりC#を選択。
-[[デバイス監視の設定>#y74719b3]]を別セッション(≒タブ)...
-azure-iot-sdk-csharp/iothub
--テレメトリ送信~
手順のとおり実行可能。
---device/samples/solutions/PnpDeviceSamples/TemperatureC...
・以下の環境変数を設定して
set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
set IOTHUB_DEVICE_CONNECTION_STRING=デバイスからIoT Hub...
・実行
TemperatureController
--デバイス制御~
パスやコマンドライン引数が間違っている。
---device/samples/getting started/SimulatedDeviceWithComm...
>SimulatedDeviceWithCommand --DeviceConnectionString デ...
---service/samples/getting started/InvokeDeviceMethod
>InvokeDeviceMethod --HubConnectionString "IoT Hubへの接...
--IoT Plug and Playデバイスソリユーション~
以下のビルドの前に「azureiot.sln」で全体のビルドが必要。
---device/samples/solutions/PnpDeviceSamples/Thermostat~
・以下の環境変数を設定して~
set IOTHUB_DEVICE_SECURITY_TYPE=dps
set IOTHUB_DEVICE_DPS_ID_SCOPE=<...>
set IOTHUB_DEVICE_DPS_DEVICE_ID=my-pnp-device1
set IOTHUB_DEVICE_DPS_DEVICE_KEY=<...>
set IOTHUB_DEVICE_DPS_ENDPOINT=global.azure-devices-prov...
・実行~
Thermostat.exe -r 30
---service/samples/solutions/PnpServiceSamples/Thermostat~
・以下の環境変数を設定して~
set IOTHUB_DEVICE_ID=my-pnp-device1
set IOTHUB_CONNECTION_STRING=<...>
・実行~
Thermostat.exe
その他のサンプル
-matakaha/iotsample2022~
https://github.com/matakaha/iotsample2022
-OpenTouryoProject/HubAndMsgSrv~
https://github.com/OpenTouryoProject/HubAndMsgSrv/
**サービス [#d60d540f]
***[[Azure Stream Analytics]] [#r64ca7cd]
[[Azure Stream Analytics]]を経由して以下に接続する。
-[[ストレージ>Azureのストレージ]]
--[[ストレージ・コンテナをIaCする>Azureのストレージ#ea519...
--[[Azure Stream Analyticsジョブの作成>Azure Stream Analy...
---ポータル~
・ジョブ名:IoT2Storage~
・[Add input]を押下してストリーム入力の追加から[IoT Hub]...
・[Add output]を押下して追加から[Blob ストレージ]を選択し...
・[Write query]([Edit query])を押下すると、~
・入力・出力がエイリアスで自動設定されているので[クエリの...
・最後に作成したジョブに戻って[開始]ボタンを押下する。
---シェル
...
-[[Power BI]]~
組織アカウントが必要だった。
***[[Azure Time Series Insights]] [#j0c85e68]
組織アカウントが必要だった。
*参考 [#l9ed163c]
-IoT Hub の作成~
https://www.cloudou.net/azure-iot-suite/iot003/
-Azure IoT Hubを使ってみよう(デバイスデータを受け取る)~
ツクレル – デジタルものづくり教材の開発スタートアップ~
https://blog.tkrel.com/8478
-Azure IoT Hubでのデータ受け取りと可視化 - JBS Tech Blog~
https://blog.jbs.co.jp/entry/2022/04/26/100000
-Azure IoT Hub連携方法 | センスウェイ株式会社~
https://www.senseway.net/service/network-service/network-...
**Qiita [#l6f7a6cd]
-【IoT初心者向け】IoT機器が無くても試せる!Azure IoT Hub~
https://qiita.com/RyogaTakao/items/5115c8d414c111f0753a
-Azure IoT HubにHTTP POSTでメッセージを送信するメモ~
https://qiita.com/mitsuoka0423/items/bfcc91d50cd0fe312f6c
-Azure IoT Hubまわりの監視の基礎~
https://qiita.com/mstakaha1113/items/503bc82476ec92de0e58
***Python、Node.js [#s41212df]
-ようやく始める Azure IoT Hub~
https://qiita.com/hydrangeas/items/dc725e6cc6a38717e932
-Azure IoTのチュートリアルをやってみた
--1~
https://qiita.com/sirotosiko/items/ca588e6acad293a118b1
--2~
https://qiita.com/sirotosiko/items/abe0b91f31e18ec3f49e
-Azure IoT Hub へのデータ送信と Azure Stream Analytics に...
の下準備を試す(公式ドキュメントやサンプルをピックアップ...
https://qiita.com/youtoy/items/0ca9be93c9189e71b5d1
***C# [#yb8dfb4e]
-Azure IoT Hubを使ってみた~
https://qiita.com/linyixian/items/e319c5f63f9e57459ac0
-AzureでIoT系のサービスをサラッと(?)使ってみよう~
https://qiita.com/mstakaha1113/items/1c9b8f61452147a87640
--シナリオ0:デバイスとIoT Hubを接続。~
[quickstart-send-telemetry-iot-hub]の内容をヤレと言う内容。
--シナリオ1:デバイスからテレメトリーデータを取得しスト...
---ココでは、Function → Storage と保存する。
---以下の内容をヤレと言う内容。~
・[functions-create-your-first-function-visual-studio]~
・[functions-bindings-event-hubs-output]~
・[functions-add-output-binding-storage-queue-vs]~
---感想~
・メッセージ ルーティングで良いのでは?と言う気もした。~
・なぜ、Event Hubs?と思ったが、裏で暗黙的に使われている...
---余談~
以下はVSCodeでシナリオ1をヤッた手順である様~
https://qiita.com/mstakaha1113/items/30fe58e37de0a2801307
--シナリオ2:テレメトリーデータの異常を検知した時はメー...
---ココでは、Stream Analytics → Service Bus → Logic Apps...
---以下の内容をヤレと言う内容。~
・[service-bus-quickstart-portal]~
・[stream-analytics-quick-create-portal]~
・[quickstart-create-first-logic-app-workflow]~
・[service-bus-dotnet-get-started-with-queues](確認用)
--シナリオ3:デバイスからファイルをアップロード。~
---これは単なるファイルアップロード
---ただし、実際はStorageアップロードへの完了通知と言う点...
--シナリオ4:テレメトリーでアラートを送信し~
コレを受信したサービスはデバイスに制御メッセージを送信す...
---ココでは、IoT Hub → Event Hub → Functions → IoT Hub と...
---ポイント~
・デバイスからテレメトリーで(プロパティを使用した)アラ...
・間の経路はEvent Hubを挟んでメッセージ ルーティングする。~
・Functions(シナリオ1で既出)でアラート イベントを取得...
・DeviceはDesired プロパティを受信(後のReportedについて...
--シナリオ5:サービス側からデバイスに対して直接的に命令...
---ダイレクト メソッド(サンプルコードはazure-iot-samples...
---パイプラインになっておらず、Functionsでダイレクト メソ...
-Azure IoT Hubを久しぶりに触ってみたので個人的な備忘録
--1(メッセージングとデバイスツイン)~
https://qiita.com/mstakaha1113/items/ff5e86ce969caceccb8d
--2(メッセージルーティング)~
https://qiita.com/mstakaha1113/items/02f5ffb49367c3c4bcdd
--3(ファイルアップロード)~
https://qiita.com/mstakaha1113/items/bf312e34f0ee53fde239
--4(c2dメッセージとメッセージエンリッチメント)~
https://qiita.com/mstakaha1113/items/2d80a209a6e4b4d0c0f6
--5(X.509証明書でIoT Hubに接続)~
https://qiita.com/mstakaha1113/items/3b254a23410786b7f72d
--[[ソースコードがGitHub上にある。>#dff6c052]]
**Stack Overflow [#z722c1dc]
-asp.net core 6.0 - Azure IOT Device Provisioning - How t...
https://stackoverflow.com/questions/73366621/azure-iot-de...
**SIOS Tech. Lab [#m3cd8918]
-VistaraでAzure IoT
--【連載第1回】~
Raspberry Piベースの商用IoTデバイスに対し、Azure IoTで認...
https://tech-lab.sios.jp/archives/vistara_azure_iot_20160...
--【連載第2回】~
オンプレミスのIoT環境をVistaraで監視し、アラートの状況に...
https://tech-lab.sios.jp/archives/vistara_azure_iot_20161...
--【連載第3回】~
IoTをAzure上で可視化し、Azure環境をVistaraでITオペレーシ...
https://tech-lab.sios.jp/archives/vistara_azure_iot_20161...
**他ベンダ [#pc466e73]
-Getting Started: Azure IoT Hub と接続する~
SORACOM Beam | ソラコムユーザーサイト - SORACOM Users~
https://users.soracom.io/ja-jp/docs/beam/azure-iot/
-クラウドアダプタを利用してAzure IoT Hubへデータを送信する~
https://manual.iij.jp/iot/doc/16189086.html
-Azure IoT Hubとの連携設定 — sakura.io ドキュメント~
https://sakura.io/docs/pages/guide/tutorial/service/azure...
**YouTube [#ub607655]
-【 #初心者 向け】#Azure #IoT #チュートリアル 【 #ハンズ...
https://www.youtube.com/watch?v=9_j2Zda1RHU
-Azure IoT Hub 動かしてみた【Python】~
https://www.youtube.com/watch?v=aNCznKHogFs
-【オンライン】公開打合わせ!~
Azure IoT x Azure RTOS 内輪レクチャーダダ漏れ会!~
https://www.youtube.com/watch?v=EfiSGLdiqbs
**GitHub [#dff6c052]
-https://github.com/Azure-Samples/azure-iot-samples-csharp
-https://github.com/Azure-Samples/azure-iot-samples-node
-https://github.com/Azure-Samples/azure-iot-samples-python
-https://github.com/Azure-Samples/azure-iot-samples-java
-https://github.com/Azure-Samples/azure-iot-starter-kits
-https://github.com/Azure-Samples/azureiotlabs
-https://github.com/matakaha/iotsample2022
**Microsoft Docs [#g4a4129e]
-Azure IoT エクスプローラーをインストールして使用する~
https://docs.microsoft.com/ja-jp/azure/iot-fundamentals/h...
***シミュレーター [#dff84bca]
-az iot device simulate~
https://learn.microsoft.com/ja-jp/cli/azure/iot/device
-Raspberry Pi Web シミュレーターの Azure IoT Hub への接続...
https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-ra...
***クイックスタート [#x1817894]
-CLIを使用したコード不要クイックスタート~
デバイスから IoT ハブに利用統計情報を送信して Azure CLI ...
https://docs.microsoft.com/ja-jp/azure/iot-hub/quickstart...
-SDKを使用してテレメトリを送信する(C, C#, Node.js, Pytho...
https://docs.microsoft.com/ja-jp/azure/iot-develop/quicks...
-IoT ハブに接続されたデバイスを制御する(C#, Node.js, Pyt...
https://docs.microsoft.com/ja-jp/azure/iot-hub/quickstart...
***チュートリアル [#g4976320]
-IoT Hub
--デバイス メッセージをストレージにルーティングする~
https://learn.microsoft.com/ja-jp/azure/iot-hub/tutorial-...
--メッセージ エンリッチメントを使用する~
https://learn.microsoft.com/ja-jp/azure/iot-hub/tutorial-...
--メトリックとログを使用する~
https://learn.microsoft.com/ja-jp/azure/iot-hub/tutorial-...
--手動フェールオーバーの実行~
https://learn.microsoft.com/ja-jp/azure/iot-hub/tutorial-...
--デバイスの構成~
https://learn.microsoft.com/ja-jp/azure/iot-hub/tutorial-...
--デバイスの更新を管理する~
https://learn.microsoft.com/ja-jp/azure/iot-hub-device-up...
--デバイス接続のテスト~
https://docs.microsoft.com/ja-jp/azure/iot-hub/tutorial-c...
--Power BI でのデータ視覚化
-デバイス開発
--loT Hubを使用してデバイスソリユーションを構築する
---IoT Plug and Playに必要な IoT リソースを設定する~
https://learn.microsoft.com/ja-jp/azure/iot-develop/set-u...
---IoT Plug and Playのサンプル デバイス コードを Azure Io...
https://learn.microsoft.com/ja-jp/azure/iot-develop/tutor...
---お使いの Azure IoT ソリューションに接続されている IoT ...
https://learn.microsoft.com/ja-jp/azure/iot-develop/tutor...
***操作方法ガイド [#bac9b6b6]
-管理する
--IoT Hub を作成する
---Azure Portal を使用して IoT Hub を作成する~
https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-cr...
---PowerShell コマンドレットを使用して Azure IoT Hub を作...
https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-cr...
---Azure CLI を使用して IoT Hub を作成する~
https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-cr...
---テンプレートを使用した Azure IoT Hub の作成 (.NET)~
https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-rm...
--ファイルのアップロードを構成する~
---Azure Portal を使用して IoT Hub ファイルのアップロード...
https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-c...
---PowerShell を使用して IoT Hub ファイルのアップロードを...
https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-c...
---Azure CLI を使用して IoT Hub ファイルのアップロードを...
https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-c...
-開発
--C2Dメッセージの送信(C#, Node.js, Python, Java, iOS)~
https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-c...
--デバイス ツインを使ってみる。(C#, Node.js, Python, Jav...
https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-c...
--モジュール ツインを使ってみる。(C, C#, Node.js, Python...
https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-c...
--デバイス管理の開始(C#, Node.js, Python, Java)~
https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-c...
--デバイスからファイルをアップロードする(C#, Node.js, Py...
https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-c...
--ジョブのスケジュールとブロードキャスト(C#, Node.js, Py...
https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-c...
-モニター
-更新プログラムの展開
-IoTの拡張シナリオ
----
Tags: [[:クラウド]], [[:IoT]], [[:Azure]]
終了行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>Azure IoT Hub]]
--Azure IoT Hubチュートリアル
--[[Azure IoT Centralチュートリアル]]
--[[Azure IoT Edgeチュートリアル]]
* 目次 [#w8d4e7b7]
#contents
*概要 [#acbfba92]
-[[Azure IoT Hub]]の
--[[Device Endpoint>Azure IoT Hub#zc944d5d]]にデバイスを
--[[Service Endpoint>Azure IoT Hub#sada5bf3]]にサービスを
>繋いでいくチュートリアル
-以下を接続する。
--[[Azure IoT Explorer>#x1656c70]]
--[[Device Endpoint>Azure IoT Hub#zc944d5d]]
---[[Raspberry Pi Simulator>#cd6d69d9]]~
---[[CLIデバイス・シミュレータ>#l37428a5]]
---[[SDK(C#)>#pc3d2e93]]
--[[Service Endpoint>Azure IoT Hub#sada5bf3]]
---[[Azure Stream Analytics>#r64ca7cd]]~
・[[ストレージ>Azureのストレージ]]~
・[[Power BI]]
---[[Azure Time Series Insights>#j0c85e68]]
*詳細 [#meed8673]
**契約 [#gaa4007d]
***[[Azureの契約>AzureのPoC環境を契約する]] [#o1607bb5]
***IoT Hubの契約 [#p3b81203]
Freeレベルを選択できるらしい。
**構築 [#ucb21f5f]
パラメタは以下の感じで。
-リソース・グループ:HmsRG
-Region:westus2
-IoT Hub 名:OsscJpDevInfra
-DPS 名:OsscJpDevInfra
-スケーリング レベルとユニット:F1(Freeレベル
***ポータル [#n42faf51]
-IoT Hub
--サービス > IoT Hubに移動
--[IoT ハブ作成]ボタンを押下
--[[上記>#ucb21f5f]]のパラメタを設定
--[確認および作成] → [作成]ボタンを押下。
--デプロイが完了したら[リソースに移動]ボタンを押下。
--IoT Hubへの接続文字列~
IoT Hubの共有アクセス ポリシーの~
iothubownerのプライマリ接続文字列から取得。
-DPS~
...
***シェル [#h08c88ba]
-リソース・グループ
$ az group create --name HmsRG --location westus2
-エクステンションの追加
$ az extension add --name azure-iot
-IoT Hub
--IoT Hubの作成
$ az iot hub create --resource-group HmsRG --name OsscJp...
--IoT Hubへの接続文字列~
を以下のコマンドから取得
$ az iot hub connection-string show --hub-name OsscJpDev...
-DPS(必要に応じて
--DPSの作成
$ az iot dps create --resource-group HmsRG --name OsscJp...
--リンクする。
$ hubConnectionString=$(az iot hub connection-string sho...
$ echo $hubConnectionString
$ az iot dps linked-hub create \
--dps-name OsscJpDevInfra --resource-group HmsRG --loc...
--connection-string $hubConnectionString
--DPS 構成の "ID スコープ"をメモしておく。
$ az iot dps show --name OsscJpDevInfra --query properti...
**Azure IoT Explorer [#x1656c70]
***インストール [#ed98778e]
-最新のインストーラーを取得する。~
https://github.com/Azure/azure-iot-explorer/releases
-既定値でインストールを行う。
***初期化 [#xae8e3a8]
-起動して[Add connection]する。
-接続文字列の入力欄に[[IoT Hubへの接続文字列>#ucb21f5f]]...
***パブリック モデル リポジトリ追加 [#he457f43]
(パブリック モデル リポジトリとは?)
-ホーム ビューで、 [IoT プラグ アンド プレイの設定] を選...
-[+ 追加] を選択して[パブリック リポジトリ] を選択。
-パブリック モデル リポジトリのエントリが表示される。
-[保存] を選択。
*準備 [#ab3258fa]
**デバイスの追加 [#k90b9399]
***ポータル [#b19ca732]
-デバイス管理 > デバイス > デバイスの追加と進み
--以下の値を入力
---デバイスの作成で以下を入力する。
---デバイス ID:mydevice1
---認証の種類:対称キー、自動生成キー[✔]
---このデバイスを IoT ハブに接続する:有効化
--[保存]ボタンを押下し~
デバイスを追加する。
-追加したデバイスのページに移動し、
--デバイスからIoT Hubへの接続文字列を取得しておく。
***シェル [#fa2e991b]
-通常のデバイス
--デバイスIDの生成
$ az iot hub device-identity create -d mydevice1 -n Ossc...
--デバイスからIoT Hubへの接続文字列~
$ az iot hub device-identity connection-string show --hu...
-DPS デバイス
--生成~
事前に、デバイスID : my-pnp-device1 を生成しておく。
--登録~
登録してenrollment-idとsymmetricキーをメモしておく。
$ az iot dps enrollment create \
--attestation-type symmetrickey \
--dps-name OsscJpDevInfra --resource-group HmsRG \
--enrollment-id my-pnp-device1 --device-id my-pnp-devi...
--query '{registrationID:registrationId,primaryKey:att...
--削除
$ az iot dps enrollment delete -n OsscJpDevInfra --eid m...
***[[Azure IoT Explorer>#x1656c70]] [#m71eb642]
-ホーム ビューで、 [IoT Hub] を選択。
-接続が表示され接続プロパティの下の[View devices in this ...
-[+ 新規] を選択し、デバイス ID:mydevice1を入力し[作成] ...
-[プライマリ接続文字列]フィールドからデバイスからIoT Hub...
**デバイスの監視 [#y74719b3]
***ポータル [#tf6c8c7d]
***シェル [#xd91d96d]
[[Azure Cloud Shell]]の別セッション(≒ 別タブ)で実行
$ az iot hub monitor-events --output table -p all -n Oss...
***[[Azure IoT Explorer>#x1656c70]] [#g1f9593b]
追加したデバイスのテレメトリを受信
-デバイスを選択し、
-テレメトリを選択し、
-[Start]を押下してテレメトリを受信
*接続 [#cbe61ae8]
**デバイス [#z6f6be88]
***[[Raspberry Pi>https://dotnetdevelopmentinfrastructure...
-[[デバイス監視の設定>#y74719b3]]を行っておく。
-Raspberry Pi Azure IoT Web Simulator~
https://azure-samples.github.io/raspberry-pi-web-simulato...
--'[Your IoT hub device connection string]'の部分を~
デバイスからIoT Hubへの接続文字列で置換する。
--[Run]ボタンを押下すると「Message sent to Azure IoT Hub...
***CLIデバイス・シミュレータ [#l37428a5]
-[[デバイス監視の設定>#y74719b3]]を別セッション(≒タブ)...
-シミュレータの生成
$ az iot device simulate -d mydevice1 -n OsscJpDevInfra
--シミュレータではデバイスからIoT Hubへの接続文字列の設定...
--デバイスが停止している場合、このコマンドを実行して再起...
-各種メッセージの送信~
※ [[Azure Cloud Shell]]の別セッション(≒ 別タブ)で実行
--D2Cメッセージを送信
---シミュレータ生成と同時に定期的にメッセージが送信される。
---メッセージは、監視のセッション(≒タブ)で確認可能。
--C2Dメッセージを送信~
メッセージは、シミュレータの生成のセッション(≒タブ)で確...
$ az iot device c2d-message send -d mydevice1 --data "He...
--ダイレクト メソッドを送信~
メッセージは、シミュレータの生成のセッション(≒タブ)で確...
$ az iot hub invoke-device-method --mn MySampleMethod -d...
--プロパティの
---更新
$ az iot hub device-twin update -d mydevice1 --desired '...
---確認
$ az iot hub device-twin show -d mydevice1 --query prope...
---シミュレータの生成のセッション(≒タブ)でも確認可能。
***SDK(C#) [#pc3d2e93]
「[[クイックスタート>#x1817894]]」「[[チュートリアル>#g49...
Node.jsのサンプルが多いが、やっぱりC#を選択。
-[[デバイス監視の設定>#y74719b3]]を別セッション(≒タブ)...
-azure-iot-sdk-csharp/iothub
--テレメトリ送信~
手順のとおり実行可能。
---device/samples/solutions/PnpDeviceSamples/TemperatureC...
・以下の環境変数を設定して
set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
set IOTHUB_DEVICE_CONNECTION_STRING=デバイスからIoT Hub...
・実行
TemperatureController
--デバイス制御~
パスやコマンドライン引数が間違っている。
---device/samples/getting started/SimulatedDeviceWithComm...
>SimulatedDeviceWithCommand --DeviceConnectionString デ...
---service/samples/getting started/InvokeDeviceMethod
>InvokeDeviceMethod --HubConnectionString "IoT Hubへの接...
--IoT Plug and Playデバイスソリユーション~
以下のビルドの前に「azureiot.sln」で全体のビルドが必要。
---device/samples/solutions/PnpDeviceSamples/Thermostat~
・以下の環境変数を設定して~
set IOTHUB_DEVICE_SECURITY_TYPE=dps
set IOTHUB_DEVICE_DPS_ID_SCOPE=<...>
set IOTHUB_DEVICE_DPS_DEVICE_ID=my-pnp-device1
set IOTHUB_DEVICE_DPS_DEVICE_KEY=<...>
set IOTHUB_DEVICE_DPS_ENDPOINT=global.azure-devices-prov...
・実行~
Thermostat.exe -r 30
---service/samples/solutions/PnpServiceSamples/Thermostat~
・以下の環境変数を設定して~
set IOTHUB_DEVICE_ID=my-pnp-device1
set IOTHUB_CONNECTION_STRING=<...>
・実行~
Thermostat.exe
その他のサンプル
-matakaha/iotsample2022~
https://github.com/matakaha/iotsample2022
-OpenTouryoProject/HubAndMsgSrv~
https://github.com/OpenTouryoProject/HubAndMsgSrv/
**サービス [#d60d540f]
***[[Azure Stream Analytics]] [#r64ca7cd]
[[Azure Stream Analytics]]を経由して以下に接続する。
-[[ストレージ>Azureのストレージ]]
--[[ストレージ・コンテナをIaCする>Azureのストレージ#ea519...
--[[Azure Stream Analyticsジョブの作成>Azure Stream Analy...
---ポータル~
・ジョブ名:IoT2Storage~
・[Add input]を押下してストリーム入力の追加から[IoT Hub]...
・[Add output]を押下して追加から[Blob ストレージ]を選択し...
・[Write query]([Edit query])を押下すると、~
・入力・出力がエイリアスで自動設定されているので[クエリの...
・最後に作成したジョブに戻って[開始]ボタンを押下する。
---シェル
...
-[[Power BI]]~
組織アカウントが必要だった。
***[[Azure Time Series Insights]] [#j0c85e68]
組織アカウントが必要だった。
*参考 [#l9ed163c]
-IoT Hub の作成~
https://www.cloudou.net/azure-iot-suite/iot003/
-Azure IoT Hubを使ってみよう(デバイスデータを受け取る)~
ツクレル – デジタルものづくり教材の開発スタートアップ~
https://blog.tkrel.com/8478
-Azure IoT Hubでのデータ受け取りと可視化 - JBS Tech Blog~
https://blog.jbs.co.jp/entry/2022/04/26/100000
-Azure IoT Hub連携方法 | センスウェイ株式会社~
https://www.senseway.net/service/network-service/network-...
**Qiita [#l6f7a6cd]
-【IoT初心者向け】IoT機器が無くても試せる!Azure IoT Hub~
https://qiita.com/RyogaTakao/items/5115c8d414c111f0753a
-Azure IoT HubにHTTP POSTでメッセージを送信するメモ~
https://qiita.com/mitsuoka0423/items/bfcc91d50cd0fe312f6c
-Azure IoT Hubまわりの監視の基礎~
https://qiita.com/mstakaha1113/items/503bc82476ec92de0e58
***Python、Node.js [#s41212df]
-ようやく始める Azure IoT Hub~
https://qiita.com/hydrangeas/items/dc725e6cc6a38717e932
-Azure IoTのチュートリアルをやってみた
--1~
https://qiita.com/sirotosiko/items/ca588e6acad293a118b1
--2~
https://qiita.com/sirotosiko/items/abe0b91f31e18ec3f49e
-Azure IoT Hub へのデータ送信と Azure Stream Analytics に...
の下準備を試す(公式ドキュメントやサンプルをピックアップ...
https://qiita.com/youtoy/items/0ca9be93c9189e71b5d1
***C# [#yb8dfb4e]
-Azure IoT Hubを使ってみた~
https://qiita.com/linyixian/items/e319c5f63f9e57459ac0
-AzureでIoT系のサービスをサラッと(?)使ってみよう~
https://qiita.com/mstakaha1113/items/1c9b8f61452147a87640
--シナリオ0:デバイスとIoT Hubを接続。~
[quickstart-send-telemetry-iot-hub]の内容をヤレと言う内容。
--シナリオ1:デバイスからテレメトリーデータを取得しスト...
---ココでは、Function → Storage と保存する。
---以下の内容をヤレと言う内容。~
・[functions-create-your-first-function-visual-studio]~
・[functions-bindings-event-hubs-output]~
・[functions-add-output-binding-storage-queue-vs]~
---感想~
・メッセージ ルーティングで良いのでは?と言う気もした。~
・なぜ、Event Hubs?と思ったが、裏で暗黙的に使われている...
---余談~
以下はVSCodeでシナリオ1をヤッた手順である様~
https://qiita.com/mstakaha1113/items/30fe58e37de0a2801307
--シナリオ2:テレメトリーデータの異常を検知した時はメー...
---ココでは、Stream Analytics → Service Bus → Logic Apps...
---以下の内容をヤレと言う内容。~
・[service-bus-quickstart-portal]~
・[stream-analytics-quick-create-portal]~
・[quickstart-create-first-logic-app-workflow]~
・[service-bus-dotnet-get-started-with-queues](確認用)
--シナリオ3:デバイスからファイルをアップロード。~
---これは単なるファイルアップロード
---ただし、実際はStorageアップロードへの完了通知と言う点...
--シナリオ4:テレメトリーでアラートを送信し~
コレを受信したサービスはデバイスに制御メッセージを送信す...
---ココでは、IoT Hub → Event Hub → Functions → IoT Hub と...
---ポイント~
・デバイスからテレメトリーで(プロパティを使用した)アラ...
・間の経路はEvent Hubを挟んでメッセージ ルーティングする。~
・Functions(シナリオ1で既出)でアラート イベントを取得...
・DeviceはDesired プロパティを受信(後のReportedについて...
--シナリオ5:サービス側からデバイスに対して直接的に命令...
---ダイレクト メソッド(サンプルコードはazure-iot-samples...
---パイプラインになっておらず、Functionsでダイレクト メソ...
-Azure IoT Hubを久しぶりに触ってみたので個人的な備忘録
--1(メッセージングとデバイスツイン)~
https://qiita.com/mstakaha1113/items/ff5e86ce969caceccb8d
--2(メッセージルーティング)~
https://qiita.com/mstakaha1113/items/02f5ffb49367c3c4bcdd
--3(ファイルアップロード)~
https://qiita.com/mstakaha1113/items/bf312e34f0ee53fde239
--4(c2dメッセージとメッセージエンリッチメント)~
https://qiita.com/mstakaha1113/items/2d80a209a6e4b4d0c0f6
--5(X.509証明書でIoT Hubに接続)~
https://qiita.com/mstakaha1113/items/3b254a23410786b7f72d
--[[ソースコードがGitHub上にある。>#dff6c052]]
**Stack Overflow [#z722c1dc]
-asp.net core 6.0 - Azure IOT Device Provisioning - How t...
https://stackoverflow.com/questions/73366621/azure-iot-de...
**SIOS Tech. Lab [#m3cd8918]
-VistaraでAzure IoT
--【連載第1回】~
Raspberry Piベースの商用IoTデバイスに対し、Azure IoTで認...
https://tech-lab.sios.jp/archives/vistara_azure_iot_20160...
--【連載第2回】~
オンプレミスのIoT環境をVistaraで監視し、アラートの状況に...
https://tech-lab.sios.jp/archives/vistara_azure_iot_20161...
--【連載第3回】~
IoTをAzure上で可視化し、Azure環境をVistaraでITオペレーシ...
https://tech-lab.sios.jp/archives/vistara_azure_iot_20161...
**他ベンダ [#pc466e73]
-Getting Started: Azure IoT Hub と接続する~
SORACOM Beam | ソラコムユーザーサイト - SORACOM Users~
https://users.soracom.io/ja-jp/docs/beam/azure-iot/
-クラウドアダプタを利用してAzure IoT Hubへデータを送信する~
https://manual.iij.jp/iot/doc/16189086.html
-Azure IoT Hubとの連携設定 — sakura.io ドキュメント~
https://sakura.io/docs/pages/guide/tutorial/service/azure...
**YouTube [#ub607655]
-【 #初心者 向け】#Azure #IoT #チュートリアル 【 #ハンズ...
https://www.youtube.com/watch?v=9_j2Zda1RHU
-Azure IoT Hub 動かしてみた【Python】~
https://www.youtube.com/watch?v=aNCznKHogFs
-【オンライン】公開打合わせ!~
Azure IoT x Azure RTOS 内輪レクチャーダダ漏れ会!~
https://www.youtube.com/watch?v=EfiSGLdiqbs
**GitHub [#dff6c052]
-https://github.com/Azure-Samples/azure-iot-samples-csharp
-https://github.com/Azure-Samples/azure-iot-samples-node
-https://github.com/Azure-Samples/azure-iot-samples-python
-https://github.com/Azure-Samples/azure-iot-samples-java
-https://github.com/Azure-Samples/azure-iot-starter-kits
-https://github.com/Azure-Samples/azureiotlabs
-https://github.com/matakaha/iotsample2022
**Microsoft Docs [#g4a4129e]
-Azure IoT エクスプローラーをインストールして使用する~
https://docs.microsoft.com/ja-jp/azure/iot-fundamentals/h...
***シミュレーター [#dff84bca]
-az iot device simulate~
https://learn.microsoft.com/ja-jp/cli/azure/iot/device
-Raspberry Pi Web シミュレーターの Azure IoT Hub への接続...
https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-ra...
***クイックスタート [#x1817894]
-CLIを使用したコード不要クイックスタート~
デバイスから IoT ハブに利用統計情報を送信して Azure CLI ...
https://docs.microsoft.com/ja-jp/azure/iot-hub/quickstart...
-SDKを使用してテレメトリを送信する(C, C#, Node.js, Pytho...
https://docs.microsoft.com/ja-jp/azure/iot-develop/quicks...
-IoT ハブに接続されたデバイスを制御する(C#, Node.js, Pyt...
https://docs.microsoft.com/ja-jp/azure/iot-hub/quickstart...
***チュートリアル [#g4976320]
-IoT Hub
--デバイス メッセージをストレージにルーティングする~
https://learn.microsoft.com/ja-jp/azure/iot-hub/tutorial-...
--メッセージ エンリッチメントを使用する~
https://learn.microsoft.com/ja-jp/azure/iot-hub/tutorial-...
--メトリックとログを使用する~
https://learn.microsoft.com/ja-jp/azure/iot-hub/tutorial-...
--手動フェールオーバーの実行~
https://learn.microsoft.com/ja-jp/azure/iot-hub/tutorial-...
--デバイスの構成~
https://learn.microsoft.com/ja-jp/azure/iot-hub/tutorial-...
--デバイスの更新を管理する~
https://learn.microsoft.com/ja-jp/azure/iot-hub-device-up...
--デバイス接続のテスト~
https://docs.microsoft.com/ja-jp/azure/iot-hub/tutorial-c...
--Power BI でのデータ視覚化
-デバイス開発
--loT Hubを使用してデバイスソリユーションを構築する
---IoT Plug and Playに必要な IoT リソースを設定する~
https://learn.microsoft.com/ja-jp/azure/iot-develop/set-u...
---IoT Plug and Playのサンプル デバイス コードを Azure Io...
https://learn.microsoft.com/ja-jp/azure/iot-develop/tutor...
---お使いの Azure IoT ソリューションに接続されている IoT ...
https://learn.microsoft.com/ja-jp/azure/iot-develop/tutor...
***操作方法ガイド [#bac9b6b6]
-管理する
--IoT Hub を作成する
---Azure Portal を使用して IoT Hub を作成する~
https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-cr...
---PowerShell コマンドレットを使用して Azure IoT Hub を作...
https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-cr...
---Azure CLI を使用して IoT Hub を作成する~
https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-cr...
---テンプレートを使用した Azure IoT Hub の作成 (.NET)~
https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-rm...
--ファイルのアップロードを構成する~
---Azure Portal を使用して IoT Hub ファイルのアップロード...
https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-c...
---PowerShell を使用して IoT Hub ファイルのアップロードを...
https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-c...
---Azure CLI を使用して IoT Hub ファイルのアップロードを...
https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-c...
-開発
--C2Dメッセージの送信(C#, Node.js, Python, Java, iOS)~
https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-c...
--デバイス ツインを使ってみる。(C#, Node.js, Python, Jav...
https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-c...
--モジュール ツインを使ってみる。(C, C#, Node.js, Python...
https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-c...
--デバイス管理の開始(C#, Node.js, Python, Java)~
https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-c...
--デバイスからファイルをアップロードする(C#, Node.js, Py...
https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-c...
--ジョブのスケジュールとブロードキャスト(C#, Node.js, Py...
https://learn.microsoft.com/ja-jp/azure/iot-hub/iot-hub-c...
-モニター
-更新プログラムの展開
-IoTの拡張シナリオ
----
Tags: [[:クラウド]], [[:IoT]], [[:Azure]]
ページ名: