read_ds18x20.py 731 B

1234567891011121314151617181920212223242526272829303132
  1. #!/usr/bin/python
  2. #
  3. # read DS18b20 or DS1820 sensors
  4. #
  5. # 2020 05 07 * initial code for DS18B20 /A
  6. # 2020 05 08 + multi sensor support /A
  7. # + DS1820 support /A
  8. # * return in millidegrees (get rid of float)
  9. # 2020 06 12 + install doc added /A
  10. # 2022 03 18 + published on https://github.com/InstallAndUse/RPi /A
  11. # * moved doc to separate README.md file /A
  12. #
  13. #
  14. # TODO:
  15. #
  16. #
  17. import glob
  18. base_dir = '/sys/bus/w1/devices/'
  19. sensors = glob.glob(base_dir + '[28|10]*')
  20. for sensor in sensors:
  21. f = open(sensor + '/w1_slave', 'r')
  22. lines = f.readlines()
  23. f.close()
  24. if lines[0].strip()[-3:] == 'YES':
  25. value = lines[1][lines[1].find('t=')+2:]
  26. print("%s;%s" %(sensor, value))