1

我从头开始实现了一个简单的 IoT Edge 模块作为模拟温度和湿度传感器。当我尝试查看发送到云的消息时,我收到此错误:

命名输出的 SendEventAsync 仅适用于模块。

在此处输入图像描述 这是我的代码:

private static async Task SendMessages(DeviceClient deviceClient)
{
    Console.WriteLine("Device sending {0} messages to IoTHub...\n", MessageCount);

    var rnd = new Random();

    for (var count = 0; count < MessageCount; count++)
    {
        _temperature = rnd.Next(20, 35);
        _humidity = rnd.Next(60, 80);

        var alert = _temperature > TemperatureThreshold ? "true" : "false";

        var messageBody = new MessageBody
        {
            DeviceId = ModuleId,
            MessageId = count,
            Temperature = _temperature,
            Humidity = _humidity
        };

        var dataBuffer = JsonConvert.SerializeObject(messageBody);

        var eventMessage = new Message(Encoding.UTF8.GetBytes(dataBuffer));

        eventMessage.Properties.Add("temperatureAlert", alert);

        Console.WriteLine("\t{0}> Sending message: {1}, Data: [{2}]", DateTime.Now.ToLocalTime(), count, dataBuffer);

        await deviceClient.SendEventAsync("toFilterModule", eventMessage);
    }
}

这是我的 cinnection 字符串:

var connectionString = Environment.GetEnvironmentVariable("EdgeHubConnectionString");

知道如何解决吗?

谢谢!

4

0 回答 0