【问题标题】:Unable to perform module to module communication in Azure Edge无法在 Azure Edge 中执行模块到模块的通信
【发布时间】:2021-02-17 20:34:40
【问题描述】:

我试图在 Azure Edge 上实现从 c# 模块到 python 模块的模块到模块通信,

Using Ubuntu as OS 
Edge Runtime: 1.0.8 
EdgeAgent 1.0.10 
EdgeHub 1.0.10

发送数据的c#代码

        {
            Console.WriteLine($"Received message: [{cloudtoDeviceMessages}]"); // cloudtoDeviceMessages is a string 

            await moduleClient.SendEventAsync("serialmoduleoutput", new Message(Encoding.UTF8.GetBytes(cloudtoDeviceMessages)));

            Console.WriteLine("Sent The Method Body To Serial Module");

部署文件中的路由,我也有其他模块路由,但只给出相关的一个

Fromc2dcommunicationmoduleToTestModule": "FROM /messages/modules/c2dcommunicationmodule/outputs/serialmoduleoutput INTO BrokeredEndpoint(\"/modules/TestModule/inputs/input1\")",

Python 代码:与此 GitHub 示例 https://github.com/Azure/azure-iot-sdk-python/blob/master/azure-iot-device/samples/sync-samples/receive_message_on_input.py 相同

在 C# 代码中我没有收到任何异常,但在 python 模块中我也没有收到任何数据。

【问题讨论】:

  • 接收模块的日志中是否有任何有用的信息?或者如果接收模块崩溃,可能会记录 edgeAgent。包含您的部署文件也可能很有用。
  • 好的,我还将包括边缘代理、集线器和部署文件的日志

标签: python c# azure azure-iot-edge azure-iot-sdk


【解决方案1】:

该问题已通过更新 require.txt 文件中的 azure-iot-device 包得到解决,默认情况下,在创建模块时它会安装 2.0.0 版本的包,但最新版本是 2.8。在最新版本中,通信工作正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多