我正在尝试在Sense Hat上访问传感器数据并在其上显示一些文本。该代码在Docker容器中运行,并通过Azure IoT中心进行部署。
我希望this教程中的设置会起作用。
不幸的是,在调用SenseHat()
时返回:
File "/usr/local/lib/python3.5/dist-packages/sense_hat/sense_hat.py", line 92, in __init__
self._stick = SenseStick()
File "/usr/local/lib/python3.5/dist-packages/sense_hat/stick.py", line 57, in __init__
self._stick_file = io.open(self._stick_device(), 'rb', buffering=0)
PermissionError: [Errno 13] Permission denied: '/dev/input/event0'
这表明无法从容器访问硬件...
此外,尝试以--privileged
模式运行容器并不能解决问题。
上面链接中的相关设置似乎是:
"createOptions": "{\"HostConfig\":{\"Privileged\": true}}"
,并在Dockerfile.arm32v7
中注释掉以下几行:
#RUN useradd -ms /bin/bash moduleuser
#USER moduleuser
我不确定还需要更改哪些内容以允许容器中的代码访问硬件...
感谢您的帮助!