Skip to main content

Azure IoT工具介绍

分类:  Azure物联网 标签:  #Azure # #IoT Hub 发布于: 2023-06-13 20:30:54

前面的一些文章主要是学习了Azure IoT Hub中的基本概念,那么从这一节开始我们会持续的学习Azure IoT的各种工具和以.Net为工具的开发教程以及一些思想以及架构。本节来学习基本的工具使用,可以快速的帮助用户检验和判断问题。

Azure IoT Hub官方除了Azure IoT Hub Portal之外还提供两类工具:

  • Azure CLi IoT 扩展(以及PowerShell的模块,不过推荐使用Azure CLi的扩展)
  • Azure IoT Explorer

Azure Cli IoT 扩展

Azure Cli能够跨平台使用,安装Azure Cli以及设置Azure Cli, 您可以参考文档:

基本的设置Azure Cli的步骤如下:

az cloud list -o table # 显示cli支持的云环境
az cloud set --name AzureChinaCloud  # 切换到默认中国的Azure 云环境
az login  # 登录云环境
az account set --subscription [Your Subscrpiton id]  # 设置默认的订阅, 之后查询和创建的资源都在这个订阅里了。

至此就已经设置好了Azure Cli的环境了,如果需要操作IoT我们还需要安装Azure Cli的扩展。

az extension list-available --output table  # 列出目前支持的所有扩展

需要注意的是目前新版本的iot扩展名是: azure-iot, 如果有老版本的iot扩展还在,先移除老版本的iot扩展:

az extension list # 列出已安装的扩展
az extension remove --name azure-cli-iot-ext #移除老版本的IoT 扩展

使用如下的命令安装新版的IoT 扩展:

az extension add --name azure-iot

支持Azure Cli的ioT 扩展安装成功了。

Azure Cli IoT扩展的基本使用方法

首先该工具可以用来创建IoT的资源,我们使用如下的步骤来创建:

az group create --name MyIoTGroupByCli --location chinaeast2  # 创建一个资源组
az iot hub create --resource-group MyIoTGroupByCli --name MyIoTHubByCli  # 创建一个IoT Hub的资源

创建设备以及监控设备

在IoT Hub创建成功之后,我们可以使用如下的命令创建一个IoT设备:

az iot hub device-identity create --device-id simDevice --hub-name MyIoTHubByCli

创建好设备之后,我们可以直接使用Azure Cli IoT 扩展来模拟一个设备,并向IoT Hub发送遥测数据。

az iot device simulate -d simDevice -n MyIoTHubByCli

然后你可以看到输出如下:

C:\Users\test>az iot device simulate -d simDevice -n MyIoTHubByCli
This command is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
Device simulation in progress:  10%|########                                                                           | 10/100 [00:30<04:33,  3.04s/it]

这个时候如果要检测一下该设备,可以打开另外一个控制台,并运行下面的命令:

az iot hub monitor-events --output table --hub-name MyIoTHubByCli

然后你可以看到如下的输出:

C:\Users\test>az iot hub monitor-events --output table --hub-name MyIoTHubByCli
Dependency update (uamqp 1.2) required for IoT extension version: 0.11.0.
Continue? (y/n) -> y
Updating required dependency...
Update complete. Executing command...
Starting event monitor, use ctrl-c to stop...
event:
  component: ''
  interface: ''
  module: ''
  origin: simDevice
  payload:
    data: 'Ping from Az CLI IoT Extension #46'
    id: f54c1e7b-e83f-4c0d-a0b2-35ea14af1bbc
    timestamp: '2021-11-14 04:12:50.281040'

event:
  component: ''
  interface: ''
  module: ''
  origin: simDevice
  payload:
    data: 'Ping from Az CLI IoT Extension #47'
    id: d61e6dca-bbcf-4469-a3ae-43d05fe829a8
    timestamp: '2021-11-14 04:12:53.312907'

至此我们已经使用了Azure Cli的IoT 扩展尝试了设备的链接,向IoT Hub发送了遥测数据,同时使用该扩展监控了IoT Hub的事件。同时我们可以使用该扩展工具向设备发送消息,从而用于测试链路的连通性。

使用Azure IoT扩展向设备发送消息:

我们使用一个控制台,用IoT扩展启动用一个模拟器:

az iot device simulate -d simDevice -n MyIoTHubByCli

然后在另外一个控制台,使用扩展向该设备发送消息:

az iot device c2d-message send -d simDevice --data "Hello World" --props "key0=value0;key1=value1" --hub-name MyIoTHubByCli

回到之前的控制台可以观察到:

C:\Users\test>az iot device simulate -d simDevice -n MyIoTHubByCli
This command is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
Device simulation in progress:  28%|#######################                                                            | 28/100 [01:25<03:38,  3.04s/it]
C2D Message Handler [Received C2D message]:
{ 'Message Properties': { 'content_encoding': 'utf-8',
                          'key0': 'value0',
                          'key1': 'value1',
                          'message_id': '33a94cfd-ed7b-41bc-a482-88b9d6db8b46'},
  'Payload': 'Hello World',
  'Topic': '/devices/simDevice/messages/devicebound'}
Device simulation in progress:  36%|#############################                                                      | 36/100 [01:49<03:14,  3.05s/it]

至此,对于Azure Cli的IoT 扩展就介绍到这里,您可以通过文档详细的学习IoT的扩展:https://docs.microsoft.com/en-us/cli/azure/azure-cli-reference-for-IoT

Azure IoT Explorer

Azure IoT ExplorerAzure IoT的图形化工具,关于该工具的安装您可以查看文档:https://docs.microsoft.com/zh-cn/azure/iot-fundamentals/howto-use-iot-explorer, 其实也就是下载回来安装,然后使用链接字符串链接就可以了,其他的图行化工具,照着用就好了。例如可以模拟发送遥测数据,调用直接方法,发送C2D消息,更改Device Twin的属性等等。