2019-10-20 13:34:55 +02:00
|
|
|
import os
|
2019-10-20 23:09:45 +02:00
|
|
|
from django.utils import timezone
|
2019-10-15 18:25:23 +02:00
|
|
|
|
2019-10-20 13:34:55 +02:00
|
|
|
if os.uname()[4].startswith("arm"):
|
|
|
|
from sense_hat import SenseHat
|
|
|
|
else:
|
|
|
|
from sense_emu import SenseHat
|
2019-10-15 18:25:23 +02:00
|
|
|
|
2019-10-20 21:23:05 +02:00
|
|
|
from .models import Time, Temperature, Humidity, Pressure
|
|
|
|
|
2019-10-20 13:34:55 +02:00
|
|
|
sense = SenseHat()
|
2019-10-15 18:25:23 +02:00
|
|
|
|
2019-10-21 17:26:34 +02:00
|
|
|
def _round_to_half(value):
|
|
|
|
return round(value * 2.0) / 2.0
|
|
|
|
|
2019-10-15 18:25:23 +02:00
|
|
|
|
|
|
|
def get_temperature():
|
2019-10-21 17:26:34 +02:00
|
|
|
return _round_to_half(sense.get_temperature())
|
2019-10-15 18:25:23 +02:00
|
|
|
|
|
|
|
|
|
|
|
def get_pressure():
|
2019-10-21 17:26:34 +02:00
|
|
|
return round(sense.get_pressure())
|
2019-10-15 18:25:23 +02:00
|
|
|
|
|
|
|
|
|
|
|
def get_humidity():
|
2019-10-21 17:26:34 +02:00
|
|
|
return round(sense.get_humidity())
|
2019-10-20 21:23:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
def values_to_db():
|
2019-10-20 23:09:45 +02:00
|
|
|
time = Time.objects.create(value=timezone.now())
|
2019-10-20 21:23:05 +02:00
|
|
|
Temperature.objects.create(value=get_temperature(), time=time)
|
|
|
|
Humidity.objects.create(value=get_humidity(), time=time)
|
|
|
|
Pressure.objects.create(value=get_pressure(), time=time)
|