我可以使用python命令获得Raspberry pi的气质:
os.popen("vcgencmd measure_temp").readline()
但是当我在设备上已部署的greengrass上的lambda函数(python 2.7)中运行此命令时,它给了我错误:
VCHI初始化失败
我相信这是因为在容器中运行的lambda函数并不了解正在运行的树莓派。
如何从在greengrass上运行的lambda函数获取树莓派的温度?
答案 0 :(得分:0)
有两种读取CPU温度的方法-一种使用vcgencmd
,另一种使用文件界面。可能是greengrass阻止了您运行vcgencmd,也可能是它不允许您访问文件接口,但值得尝试一下。该文件位于/sys/class/thermal/thermal_zone0/temp
。
一种方法是使用gpiozero's CPUTemperature
class:
from gpiozero import CPUTemperature
cpu = CPUTemperature()
print(cpu.temperature)
或者,直接读取文件,然后提取温度(如gpiozero在下面):
def cpu_temp():
sensor_file = '/sys/class/thermal/thermal_zone0/temp'
with io.open(sensor_file, 'r') as f:
return float(f.readline().strip()) / 1000
print(cpu_temp())