最近心血来潮的想要折腾raspberry,因此就买了一堆的传感器,如今主要讲解温度传感器的使用。python
vim
Pin1(GND)接到 P1-06(GND) Pin2(DQ)接到 P1-07(GPIO4) Pin3(VCC)接到P1-01(3.3v)命令行
为了可以让系统正确的识别传感器,咱们须要对**/boot/config.txt**文件进行编辑code
sudo vim /boot/config.txtorm
在文件的未必添加下面的语句ip
dtoverlay=w1-gpio,gpiopin=4get
添加完成以后咱们重启raspberryit
sudo rebootio
重启完成以后咱们须要进行/sys/bus/w1/devices目录form
cd /sys/bus/w1/devices
经过调用ls命令,咱们发现这个目录会有相似28-0416b3b833ff这样的一个目录,这个目录名称并是你传感器的ID,.在目录下面会有一个w1_slave文件,咱们经过调用 cat命令能够读取到传感器的实时数据。
cd 28-0416b3b833ff ls cat w1_slave
完整的命令以下图所示  其中t=30312是我实际测量到温度值,在上面的图中的温度为30.312度
同时咱们能够利用python脚原本读取数据
#!/usr/bin/python def gettemp(id): try: mytemp = '' filename = 'w1_slave' f = open('/sys/bus/w1/devices/' + id + '/' + filename, 'r') line = f.readline() # read 1st line crc = line.rsplit(' ',1) crc = crc[1].replace('\n', '') if crc=='YES': line = f.readline() # read 2nd line mytemp = line.rsplit('t=',1) else: mytemp = 99999 f.close() return int(mytemp[1]) except: return 99999 if __name__ == '__main__': # Script has been called directly id = '28-0416b3b833ff' print "Temp : " + '{:.3f}'.format(gettemp(id)/float(1000))
咱们经过命令行调用,获得如相似下面的结果
