我的温度和湿度传感器连接到我的 RPi,通过3.3v 电源, GND 和 SDA 和 SCL 。我试图从中获取温度读数,但我一直在寻找
“OSerror:[Errno 121]远程I / O错误”。
启用i2c
界面,一切都是最新的。我可以使用sudo i2cdetect -y 1
查看设备的地址。有可能我应该首先向它发送一些数据,以便传感器“知道”我将要从中读取它并且应该发送数据吗?
这是我的代码
import smbus
TEMP = 0x40
bus = smbus.SMbus(1)
state = 1
while (state):
print("1.Read temperature")
print("2.Exit")
choice = input("")
if choice =='1':
Ctemp = bus.read_byte(TEMP)
print ("%d" %Ctemp)
elif choice == '2':
state = 0
答案 0 :(得分:0)
是的,您可能需要配置您的I2C设备(您不会提及您使用的设备,因此我无法为您查找)但是此错误可能意味着某些事情其他。
您可以尝试i2cdump -y 1 0x40
查看可用的数据,但您应该再次阅读传感器芯片的数据表,以了解可以使用的数据。