我已经用intel edison配置了温度传感器。我正在尝试使用以下python代码读取温度传感器值
import mraa
import time
import sys
import math
tmp = mraa.Gpio(2)
tmp.dir(mraa.DIR_IN)
i=0
while i<100:
print "Let's talk about Temperature %s." % tmp.read()
time. sleep(3)
i+=1
exit()
但是这段代码总是返回0作为读数值。
我是英特尔爱迪生和蟒蛇的新手。所以任何帮助都会升值。 感谢
答案 0 :(得分:2)
mraa是用于I / O通信的低级骨架库。如果是基本的模拟传感器,它将完成这项工作,但我建议你改用upm。
import time
import pyupm_grove as grove
# Create the temperature sensor object using AIO pin 0
temp = grove.GroveTemp(0)
for i in range(0, 10):
celsius = temp.value()
fahrenheit = celsius * 9.0/5.0 + 32.0;
print "%d degrees Celsius, or %d degrees Fahrenheit" \
% (celsius, fahrenheit)
time.sleep(1)
# Delete the temperature sensor object
del temp
如果它不起作用,您可能需要更新库
echo "src mraa-upm http://iotdk.intel.com/repos/3.0/intelgalactic/opkg/i586" > /etc/opkg/mraa-upm.conf
opkg update
opkg upgrade libmraa0
opkg upgrade upm