1
0
mirror of https://github.com/daniviga/bite.git synced 2025-04-20 22:41:18 +02:00

POST with serial #

This commit is contained in:
Daniele Viganò 2020-06-03 17:20:03 +02:00
parent 956e5a8ceb
commit 16ff876d38
Signed by: dani
GPG Key ID: DB49AFC03C40EE02
6 changed files with 20 additions and 23 deletions

2
.gitignore vendored
View File

@ -1,3 +1,5 @@
*.swp
# Byte-compiled / optimized / DLL files # Byte-compiled / optimized / DLL files
__pycache__/ __pycache__/
*.py[cod] *.py[cod]

View File

@ -80,7 +80,7 @@ void setup(void) {
Serial.println("DEBUG: clock updated via NTP."); Serial.println("DEBUG: clock updated via NTP.");
#endif #endif
json["device"] = 1; // FIXME json["device"] = serial;
// payload["id"] = serverName; // payload["id"] = serverName;
} }

View File

@ -1,14 +1,12 @@
from django.db import models from django.db import models
from django.conf import settings
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
def device_validation(value): def device_validation(value):
if value.startswith('ZZ'): # simulated devices if settings.SKIP_WHITELIST and settings.DEBUG:
published_devices = WhiteList.objects.filter( return # skip validation in debug mode when SKIP_WHITELIST is True
serial='ZZ%',
is_published=True
)
else:
published_devices = WhiteList.objects.filter( published_devices = WhiteList.objects.filter(
serial=value, serial=value,
is_published=True is_published=True

View File

@ -125,3 +125,5 @@ USE_TZ = True
# https://docs.djangoproject.com/en/3.0/howto/static-files/ # https://docs.djangoproject.com/en/3.0/howto/static-files/
STATIC_URL = '/static/' STATIC_URL = '/static/'
SKIP_WHITELIST = True

View File

@ -1,20 +1,14 @@
from rest_framework import serializers from rest_framework import serializers
from api.serializers import DeviceSerializer from api.models import Device
from telemetry.models import Telemetry from telemetry.models import Telemetry
class TelemetrySerializer(serializers.ModelSerializer): class TelemetrySerializer(serializers.ModelSerializer):
# device = DeviceSerializer(read_only=True) device = serializers.SlugRelatedField(
slug_field='serial',
def validate(self, data): queryset=Device.objects.all()
return data )
class Meta: class Meta:
model = Telemetry model = Telemetry
fields = ('time', 'device', 'clock', 'payload',) fields = ('time', 'device', 'clock', 'payload',)
# class WhiteListSerializer(serializers.ModelSerializer):
# class Meta:
# model = Device
# fields = ('serial', 'creation_time', 'updated_time',)

View File

@ -1,4 +1,5 @@
{"device": 1, {"device": "abcde1234",
"clock": 1591194712,
"payload": { "payload": {
"id": "sensor.server.domain", "id": "sensor.server.domain",
"light": 434, "light": 434,