From 85fd057e62217dd17fc3ba8c3a005854d9aff899 Mon Sep 17 00:00:00 2001 From: Andreas Zweili Date: Tue, 15 Oct 2019 17:25:23 +0100 Subject: [PATCH] add a first version of the collector module --- sensors/collector/collector.py | 25 +++++++++++++++++++++++ sensors/collector/tests/test_collector.py | 12 +++++++++++ 2 files changed, 37 insertions(+) create mode 100644 sensors/collector/collector.py create mode 100644 sensors/collector/tests/test_collector.py 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()))