diff --git a/sensors/collector/collector.py b/sensors/collector/collector.py new file mode 100644 index 0000000..a2d2509 --- /dev/null +++ b/sensors/collector/collector.py @@ -0,0 +1,25 @@ +from sense_hat import SenseHat + +sense = SenseHat() + + +def _get_cpu_temperature(): + res = os.popen('vcgencmd measure_temp').readline() + return float(res.replace('temp=', '').replace("'C\n", '')) + +def get_temperature(): + humidity_temp = self._sense_hat.get_temperature_from_humidity() + pressure_temp = self._sense_hat.get_temperature_from_pressure() + cpu_temp = _get_cpu_temperature() + avg_temp = ((humidity_temp + pressure_temp) + / 2 if pressure_temp else humidity_temp) + adj_temp = avg_temp - (cpu_temp - avg_temp) / 0.69 + return adj_temp + + +def get_pressure(): + return sense.get_pressure() + + +def get_humidity(): + return sense.get_humidity() diff --git a/sensors/collector/tests/test_collector.py b/sensors/collector/tests/test_collector.py new file mode 100644 index 0000000..0a28c2f --- /dev/null +++ b/sensors/collector/tests/test_collector.py @@ -0,0 +1,12 @@ +import datetime +import pytest +from django.test import TestCase +from mixer.backend.django import mixer + +from collector import collector + +pytestmark=pytest.mark.django_db + + +def test_collector(): + print(str(collector.get_temperature()))