如何从IoT边缘自定义模块(python)中获取设备名称

2024-05-16 22:37:20 发布

您现在位置:Python中文网/ 问答频道 /正文

摘要

当通过python代码请求时,我没有从设备中获得预期的主机名;我得到一些容器ID

背景

在python 3中的Raspbian上运行以下代码时:

import socket
print(socket.gethostname())

或者:

^{2}$

…您将获得正在运行代码的计算机的主机名。 (这就是我所期待的)

当你从一个定制的物联网边缘模块做同样的事情时,你会得到某种我认为容器的标识符?在

如何在容器模块本身中获取容器正在其上运行的系统的主机名?在

解决方案

如建议,设备ID和模块ID作为环境变量公开: IoEdge_DEVICEID和IoEdge_MODULEID。在

所以现在在python中可以执行以下操作:

DEVICEID = os.environ["IOTEDGE_DEVICEID"]
MODULEID = os.environ["IOTEDGE_MODULEID"]

然后在(python)代码中使用类似的变量。在


Tags: 模块代码importidosenvironsocket容器
1条回答
网友
1楼 · 发布于 2024-05-16 22:37:20

类似的问题请参见here。简单回答:在您的自定义模块容器上执行docker inspect,并查看可用的不同环境变量。其中之一是边缘设备的主机名。在

相关问题 更多 >