使用python mraa读取intel edison上的温度传感器值

时间:2016-05-09 15:47:48

标签: python sensor temperature intel-edison

我已经用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作为读数值。

我是英特尔爱迪生和蟒蛇的新手。所以任何帮助都会升值。 感谢

1 个答案:

答案 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