在 Azure IoT 中心 - 我在哪里可以看到从设备发送的 MQTT 消息?

In Azure IoT hub - where do i see MQTT messages that has been sent from a device?

我正在尝试通过 MQTT 协议将消息发送到 Azure IOT 中心。 我在 NodeJS 中使用此代码:

var clientFromConnectionString = require('azure-iot-device- 
mqtt').clientFromConnectionString;
var Message = require('azure-iot-device').Message;

var connectionString = 'HostName=myhostname.azure- 
devices.net;DeviceId=Arsenal;SharedAccessKey=mysharedaccesskey';

var client = clientFromConnectionString(connectionString);


var connectCallback = function (err) {
  if (err) {
    console.error('Could not connect: ' + err);
  } else {
    console.log('Client connected');
    var message = new Message('some data from my device');
    client.sendEvent(message, function (err) {
      console.log("Message sent!");
      if (err) console.log(err.toString());
 });

client.on('message', function (msg) {
  console.log(msg);
  client.complete(msg, function () {
    console.log('completed');
   });
  });
 }
};

client.open(connectCallback);

这会打印 "Client connected!" 和 "Message sent!" 也许这是一个非常愚蠢的问题,但我可以在 IoT 中心的哪个位置看到已发送的消息?

三点建议:

Azure CLI

  • 在 PowerShell 提示符下键入

    • az 登录

    az login 命令将打开一个新的 Web 浏览器 window 并要求您登录到您的 Azure 订阅帐户。

  • 接下来我们需要生成一个SAS令牌。我们可以通过 运行 在 Azure CLI window:

    中执行此命令
    • az iot hub generate-sas-token --duration -n
  • 现在我们有了 SAS 令牌,我们可以通过 运行 以下命令开始监视集线器消息:

    • az iot hub monitor-events --hub-name

更多详情请阅读:https://github.com/AzureIoTGBB/How-To-Monitor-Azure-IoT-Hub-with-Azure-CLI-2.0

Azure 函数

  • 通过单击 Azure 门户“新建”边栏选项卡中的下方来创建函数应用程序。这是容纳您的功能的“容器”。
  • 创建函数后,导航到“从模板页面创建新函数”: Select IoT 中心(事件中心)和 Javascript 或 C# 作为语言 方便的是,Azure Functions 会在 selecting 这个模板后为你创建与 IoT Hub 的连接,
  • 接下来您只需单击 "new" 按钮和 select 正确的 IoT 中心实例:
  • 点击"Create",刚刚创建的Function会被IoT Hub事件触发
  • 该函数是使用记录消息的样板代码控制台创建的

IoT 中心设备的设备资源管理器

repo 的自述文件中描述了如何下载、构建和使用 Device Explorer 工具:

还有另一个有用的线程,因为它描述了如何使用它: