def read_values(): """ Read the moisture level """ celsius = moisture_sensor.get_temperature() fahrenheit = (celsius * 9.0 / 5.0) + 32.0 moisture_ohms = moisture_sensor.get_moisture() moisture_kiloohms = moisture_ohms / 1000.0 kpa = get_kpa(moisture_kiloohms, celsius) """ Field capacity is about -30 kPa, except in the case of sandy soils, which is -10 kPa """ available_water = -30 - -1500 remaining_available = ((available_water - (kpa * -1)) / available_water) * 100 return { 'moistureLevel': remaining_available, 'moistureReading': 0, 'moistureVolts': 0, 'moistureOhms': moisture_ohms, 'moistureKOhms': moisture_kiloohms, 'temperature': fahrenheit, 'moistureKPa': kpa, }
from lib.devices import MoistureSensor from lib.utils import get_kpa import time sensor = MoistureSensor() while True: moisture_ohms = sensor.get_moisture() moisture_kiloohms = moisture_ohms / 1000.0 celsius = sensor.get_temperature() kpa = get_kpa(moisture_kiloohms, celsius) fahrenheit = (celsius * 9.0 / 5.0) + 32.0 output = [ 'Reading %s' % 0, 'Voltage %s' % 0, 'Ohms %s' % moisture_ohms, 'kOhms %s' % moisture_kiloohms, 'kPa %s' % kpa, 'Temp %s' % fahrenheit, ] print ' | '.join(output) time.sleep(1)