-
Notifications
You must be signed in to change notification settings - Fork 2
/
models.py
29 lines (22 loc) · 1 KB
/
models.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from django.db import models
SENSOR_CHOICES = [('DHT11', 'DHT11 - Humidity/Temperature'),
('Rain', 'Rain Sensor'),
]
USB_CHOICES = [('/dev/ttyUSB0', 'USB Port 0'),
('/dev/ttyUSB1', 'USB Port 1'),
('/dev/ttyUSB2', 'USB Port 2'),
('/dev/ttyUSB3', 'USB Port 3'),
]
class Sensor(models.Model):
created = models.DateTimeField(auto_now_add=True)
sensor_name = models.CharField(max_length=50, blank=True, default='')
sensor_type = models.CharField(choices=SENSOR_CHOICES, default='DHT11', max_length=50)
usb_port = models.CharField(choices=USB_CHOICES, default='/dev/ttyUSB0', max_length=50)
pin = models.IntegerField()
in_use = models.BooleanField(default=True)
class Meta:
ordering = ['sensor_name']
class SensorReading(models.Model):
sensor = models.ForeignKey(Sensor, on_delete=models.PROTECT)
reading = models.JSONField()
time_of_reading = models.DateTimeField(auto_now_add=True)