远程控制/监控 - Azure IoT中心

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了远程控制/监控 - Azure IoT中心相关的知识,希望对你有一定的参考价值。

我正在做一个小项目,我正在使用Raspberry PI来监控温度并使用Azure IOT Hub控制LED。温度通过仪表板门户可视化,您也可以在其中控制LED。我已经彻底阅读了文档,但我仍然不确定几件事情:

远程监控:

Raspberry PI目前向我的IoT Hub(Device2Cloud)发送温度,该部分的一切看起来都很好。为了显示从Raspberry PI发送的值,我从NodeJS后端读取事件总线,方式与此示例相同:https://github.com/Azure-Samples/web-apps-node-iot-hub-data-visualization/blob/master/IoThub/iot-hub.js

这是将设备读取到云消息的正确方法吗?

远程控制

这是我非常不确定的部分,我想通过我的仪表板页面中的Cloud2Device通信来控制连接到Raspberry PI的LED。我不太确定如何在我的Node JS后端实现它,我真的找不到任何好的例子。任何意见,将不胜感激。

答案

关于远程监控问题:是的,这将工作,虽然我想指出事件中心SDK for Node仍然是预览(并可能在将来改变一点),所以你应该期待一些怪癖。

关于“远程控制”:为了发送云到设备消息,您应该使用Azure IoT Hub Service SDK for Node,以下是如何将云发送到设备消息的示例(从here复制)

'use strict';

var Client = require('azure-iothub').Client;
var Message = require('azure-iot-common').Message;

var connectionString = '[IoT Hub Connection String]';
var targetDevice = '[Target device that will receive the message]';

var client = Client.fromConnectionString(connectionString);

client.open(function (err) {
  if (err) {
    console.error('Could not connect: ' + err.message);
  } else {
    console.log('Client connected');

    // Create a message and send it to the IoT Hub every second
    var data = JSON.stringify({ text : 'foo' });
    var message = new Message(data);
    console.log('Sending message: ' + message.getData());
    client.send(targetDevice, message, function (err) {
      if (err) {
        console.error('Could not send: ' + err.message);
      } else {
        console.log('Message sent');
      }
    });
  }
});
另一答案

您有几个远程控制设备的选项。您应该查看本文(https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-c2d-guidance)以确定哪种选项最适合您的方案。

您可以在此处找到云到设备消息教程:https://docs.microsoft.com/azure/iot-hub/iot-hub-node-node-c2d

你可以在这里找到一个直接的方法教程:https://docs.microsoft.com/azure/iot-hub/iot-hub-node-node-direct-methods

以上是关于远程控制/监控 - Azure IoT中心的主要内容,如果未能解决你的问题,请参考以下文章

高 CPU Azure Worker 角色

Azure IoT 中心 - 使用 IoT 中心将文件从 Azure blob 下载到 IoT 设备

Azure IoT 中心 SAS 令牌不会过期

如何在 Python 中接收 Azure 设备遥测?

Azure 流分析错误:无法反序列化来自 IOT 中心的输入事件

带有 IoT 中心的 Azure Functions 无法检索分区