通过IoT中心将云到设备的消息从Azure功能发送到设备

时间:2018-11-15 22:10:18

标签: javascript azure azure-functions azure-iot-hub

您能帮我使用功能应用程序中使用的Java代码吗?

已将构建端点的IoT中心用作功能应用程序的IoT中心(事件中心),正在从设备接收遥测。通过以下功能,一旦IoT中心构建端点从设备获得消息,我将从收到的消息中提取值,进行处理并将其放入CosmoDsB中! 主要问题是我需要通过IoT中心将“ totalLevel”变量的每个处理后的值发送回设备。 再一次:整个结构是一个“ OPC服务器(MQTT)” <-/->“ IoT中心”-“构建端点IoT中心”-“功能APP”->回到设备。

C2D

作为Java的补充,我没有找到任何简单的示例来说明如何在Java中执行此操作  现有功能。有人知道有什么简单的方法吗?

我找到了这些示例,但没有足够的技能对其进行修改。

https://docs.microsoft.com/en-US/azure/iot-hub/quickstart-send-telemetry-java https://docs.microsoft.com/en-US/azure/iot-hub/iot-hub-java-java-c2d

先谢谢您


module.exports = function (context, IoTHubMessages) {
  context.log(`JavaScript eventhub trigger function called for message array: ${IoTHubMessages}`);

  IoTHubMessages.forEach(message => {
    context.log(`Processed message: ${message}`);
  });

  context.done();
};

module.exports = function (context, IoTHubMessages) {
context.log(`JavaScript eventhub trigger function called for message array: 
${IoTHubMessages}`);

var count = 0;
var totalLevel = 0.0;
var totalHumidity = 0.0;
var deviceId = "";

IoTHubMessages.forEach(message => {
    context.log(`Processed message: ${message}`);
    count++;
    totalLevel = message.L1 + message.L2 + message.L3;
    RestartPLC = message.L4;
    deviceId = message.deviceId;
});

var output = {
    "deviceId": deviceId,
    "PLC_Restart_state": RestartPLC,
  //  "measurementsCount": count,
    "gemessener Gesamtabfluss, mm": totalLevel
    //"averageHumidity": totalHumidity/count
};

context.log(`Output content: ${output}`);

context.bindings.outputDocument = output;

context.done();
};

0 个答案:

没有答案