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)