【发布时间】:2022-10-09 03:08:33
【问题描述】:
如何读取 dtoverlay 控制的设备,或通过python3传感器?
例如,我可以通过一只简单的猫来读取设备...
# cat /sys/bus/i2c/devices/1-0077/iio\:device0/in_temp_input
27130
所以我知道基本设置,这很好,传感器位于地址 0x77,它是 BME280 传感器等。
我还可以通过用于此类传感器的各种 python3 库读取传感器,例如 Adafruit 的 python 库。
但是我想使用传感器控制的dtoverlay方法,即读取,从python3读取传感器。这看起来很明显而且很直接,但显然不是,尝试了以下代码并得到了以下错误。
#!/usr/bin/python3
#
#
import os
#
theSensor=os.open('/sys/bus/i2c/devices/1-0077/iio\:device0/in_temp_input', os.O_RDONLY)
os.lseek(theSensor, 0, os.SEEK_SET)
print(os.read(theSensor, 2))
theSensor.close()
而错误...
# python3 BME280-OverLay.py
Traceback (most recent call last):
File "/root/BME280-OverLay.py", line 17, in <module>
theSensor=os.open('/sys/bus/i2c/devices/1-0077/iio\:device0/in_temp_input', os.O_RDONLY)
FileNotFoundError: [Errno 2] No such file or directory: '/sys/bus/i2c/devices/1-0077/iio\\:device0/in_temp_input'
通过 python3 读取这个特定的设备路径有什么技巧吗?简单的猫工作。
【问题讨论】:
标签: python-3.x sensors