我的SO是Raspberry Pi 2中的Raspbian。 我正在使用nano 2.2.6 我是Python的新手。 我想编程一个温度传感器D18B20。 我有一本很棒的手册: Raspberry Pi temperature sensor。 当我列出设备时:
ls -l /sys/bus/w1/devices/
我想得到与温度计相关的目录名称为28 *。我知道这个名字,但我需要制作一个程序才能得到这个名字。 我正在使用这段代码。但我无法获得目录的全名。
import os
name = os.path.basename ("sys/bus/w1/devices/28*")
print (name)
非常感谢你的时间和耐心 最好的问候
import glob, os.path
import time
paths = glob.glob("/sys/bus/w1/devices/28-*")
path_names= [os.path.basename(path) for path in paths]
l = list (path_names)
name = l[0]
path_names = "".join(name)
print name
while 1:
tempfile = open ("/sys/bus/w1/devices/name/w1_slave")
#thetext = tempfile.read()
#tempfile.close()
#tempdata = thetext.split("\n"[1].split(" ")[9]
#temperature = float(tempdata[2:])
#temperature = temperature / 1000
#print temperature
#time.sleep (1)
答案 0 :(得分:0)
根据您对链接的Google搜索,您的温度传感器似乎遵循28- *的命名模式。你可以用这个:
import glob, os.path
paths = glob.glob("/sys/bus/w1/devices/28-*")
path_names = [os.path.basename(path) for path in paths]
if len(path_names) > 0:
first_sensor = os.path.normpath(os.path.join(path_names[0], "w1_slave"))
while True:
# read from sensor file