/ Raspberry_Pi_DS18B20_Temperature_Sensing / code.py
code.py
1 # SPDX-FileCopyrightText: 2019 Mikey Sklar for Adafruit Industries 2 # 3 # SPDX-License-Identifier: MIT 4 5 import glob 6 import time 7 8 base_dir = '/sys/bus/w1/devices/' 9 device_folder = glob.glob(base_dir + '28*')[0] 10 device_file = device_folder + '/w1_slave' 11 12 def read_temp_raw(): 13 f = open(device_file, 'r') 14 lines = f.readlines() 15 f.close() 16 return lines 17 18 def read_temp(): 19 lines = read_temp_raw() 20 while lines[0].strip()[-3:] != 'YES': 21 time.sleep(0.2) 22 lines = read_temp_raw() 23 equals_pos = lines[1].find('t=') 24 if equals_pos != -1: 25 temp_string = lines[1][equals_pos+2:] 26 temp_c = float(temp_string) / 1000.0 27 temp_f = temp_c * 9.0 / 5.0 + 32.0 28 return temp_c, temp_f 29 30 while True: 31 print(read_temp()) 32 time.sleep(1)