From 70c4de1a304ec0f337175a41fa7dbf4befb18b93 Mon Sep 17 00:00:00 2001 From: mia Date: Mon, 2 Jun 2025 08:52:31 +0200 Subject: [PATCH] Added webserver font Added bigger example data Html changes in formating and in function Json now gets Read in a function Matplotlib now uses the 'Agg' backend Modified gitignore --- .gitignore | 2 +- webserver/data_big.json | 100 + webserver/{data.json => data_smol.json} | 1 + webserver/server.py | 160 +- webserver/static/CaskaydiaCove-Regular.ttf | 2034 ++++++++++++++++++++ webserver/static/plots/sensor_001.png | Bin 21127 -> 0 bytes webserver/static/plots/sensor_002.png | Bin 22879 -> 0 bytes webserver/static/plots/sensor_003.png | Bin 22073 -> 0 bytes webserver/static/plots/test.png | Bin 16912 -> 0 bytes webserver/templates/index.html | 61 +- 10 files changed, 2218 insertions(+), 140 deletions(-) create mode 100644 webserver/data_big.json rename webserver/{data.json => data_smol.json} (99%) create mode 100644 webserver/static/CaskaydiaCove-Regular.ttf delete mode 100644 webserver/static/plots/sensor_001.png delete mode 100644 webserver/static/plots/sensor_002.png delete mode 100644 webserver/static/plots/sensor_003.png delete mode 100644 webserver/static/plots/test.png diff --git a/.gitignore b/.gitignore index be40c27..a380544 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/webserver/plots/ +/webserver/static/plots/ diff --git a/webserver/data_big.json b/webserver/data_big.json new file mode 100644 index 0000000..52e39ec --- /dev/null +++ b/webserver/data_big.json @@ -0,0 +1,100 @@ +{ + "location": "Building B - Research Wing", + "sensors": [ + { + "id": "temp-A12", + "type": "temperature", + "unit": "°C", + "readings": [ + { "ts": 1747814400, "value": 21.0 }, + { "ts": 1747818000, "value": 21.4 }, + { "ts": 1747821600, "value": 22.1 }, + { "ts": 1747825200, "value": 22.6 }, + { "ts": 1747828800, "value": 22.8 }, + { "ts": 1747832400, "value": 23.0 } + ] + }, + { + "id": "hum_B2", + "type": "humidity", + "unit": "%", + "readings": [ + { "ts": 1747814400, "value": 50.1 }, + { "ts": 1747818000, "value": 51.7 }, + { "ts": 1747821600, "value": 49.3 }, + { "ts": 1747825200, "value": 48.8 }, + { "ts": 1747828800, "value": 47.6 }, + { "ts": 1747832400, "value": 46.9 }, + { "ts": 1747836000, "value": 45.2 }, + { "ts": 1747839600, "value": 44.7 }, + { "ts": 1747843200, "value": 43.5 } + ] + }, + { + "id": "PRES-009", + "type": "pressure", + "unit": "hPa", + "readings": [ + { "ts": 1747814400, "value": 1011.0 }, + { "ts": 1747818000, "value": 1010.8 } + ] + }, + { + "id": "sensorX04", + "type": "CO2", + "unit": "ppm", + "readings": [ + { "ts": 1747814400, "value": 415 }, + { "ts": 1747818000, "value": 420 }, + { "ts": 1747821600, "value": 432 }, + { "ts": 1747825200, "value": 440 }, + { "ts": 1747828800, "value": 437 } + ] + }, + { + "id": "luxSensor-1", + "type": "light", + "unit": "lux", + "readings": [ + { "ts": 1747814400, "value": 300 }, + { "ts": 1747818000, "value": 450 }, + { "ts": 1747821600, "value": 600 }, + { "ts": 1747825200, "value": 550 }, + { "ts": 1747828800, "value": 500 }, + { "ts": 1747832400, "value": 480 }, + { "ts": 1747836000, "value": 470 }, + { "ts": 1747839600, "value": 460 }, + { "ts": 1747843200, "value": 455 }, + { "ts": 1747846800, "value": 440 }, + { "ts": 1747850400, "value": 430 }, + { "ts": 1747854000, "value": 420 } + ] + }, + { + "id": "vib_07", + "type": "vibration", + "unit": "mm/s", + "readings": [ + { "ts": 1747814400, "value": 0.05 }, + { "ts": 1747818000, "value": 0.06 }, + { "ts": 1747821600, "value": 0.08 }, + { "ts": 1747825200, "value": 0.07 }, + { "ts": 1747828800, "value": 0.09 }, + { "ts": 1747832400, "value": 0.1 }, + { "ts": 1747836000, "value": 0.12 } + ] + }, + { + "id": "motion-Z3", + "type": "motion", + "unit": "count", + "readings": [ + { "ts": 1747814400, "value": 3 }, + { "ts": 1747818000, "value": 1 }, + { "ts": 1747821600, "value": 0 }, + { "ts": 1747825200, "value": 2 } + ] + } + ] +} + diff --git a/webserver/data.json b/webserver/data_smol.json similarity index 99% rename from webserver/data.json rename to webserver/data_smol.json index af037db..6a570b0 100644 --- a/webserver/data.json +++ b/webserver/data_smol.json @@ -1,3 +1,4 @@ + { "location": "Building A - Lab 3", "sensors": [ diff --git a/webserver/server.py b/webserver/server.py index d6235fe..1de45f9 100644 --- a/webserver/server.py +++ b/webserver/server.py @@ -1,28 +1,39 @@ +# Copyright 2025 Kieler, Chiara +# +# Licensed under the AGPLv3.0 (the "License"); +# You may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.gnu.org/licenses/ + + from datetime import datetime -import re -from flask import Flask, send_from_directory, render_template +from flask import Flask, render_template import json +import matplotlib +matplotlib.use('Agg') import matplotlib.pyplot as plt # Global Variables: -jsonpath = "data.json" -htmldata = "" +jsonpath = "data_big.json" +sensors: dict = {} -# class Entries: -# def __init__(self, id: str, ts: list, value: list): -# self.id = id -# templist: list = [] -# for i in range(len(ts)): -# templist.append([ts[i], value[i]]) -# self.entries: list = templist -# -# def printEntries(self): -# print(self.entries) -# -# -# tese = Entries("sensor0", [1, 2, 3, 4], [10, 20, 30, 40]) -# tese.printEntries() +def readJson(): + f = open(jsonpath) + jsondata = json.load(f) # returns JSON object as a dictionary + for i in jsondata["sensors"]: # Iterating through the json list + timestamps: list = [] + values: list = [] + # print(len(i["readings"])) + for j in range(len(i["readings"])): + timestamps.append(i["readings"][j]["ts"]) + values.append(i["readings"][j]["value"]) + # print(i) + # print(i["readings"][1]) + # print("\n") + sensors[i["id"]] = Sensor(i["id"], i["unit"], i["type"], timestamps, values) + f.close() class Sensor: @@ -97,113 +108,13 @@ class Sensor: plt.close() return path - # def formatLine(self, ts: int): - # for i in self.ts: - # if i == ts: - # return f"{self.timedate}> {self.values[]}" +readJson() -# Json -f = open(jsonpath) -jsondata = json.load(f) # returns JSON object as a dictionary -# sensordict = dict() -sensors: dict = {} -for i in jsondata["sensors"]: # Iterating through the json list - timestamps: list = [] - values: list = [] - # print(len(i["readings"])) - for j in range(len(i["readings"])): - timestamps.append(i["readings"][j]["ts"]) - values.append(i["readings"][j]["value"]) - # print(i) - # print(i["readings"][1]) - # print("\n") - # sensordict[i["id"]] = [i["type"], i["unit"], i["readings"]] - # print(sensordict[i["id"]]) - sensors[i["id"]] = Sensor(i["id"], i["unit"], i["type"], timestamps, values) +# print("\n") +# print(sensors) -f.close() -print("\n") -# print(sensordict) -print(sensors) -# print(sensors["sensor_001"].getReadings(limit=2, reversed=True, timetype="time")) - -# for i in sensordict: -# type = sensordict[i][0] -# unit = sensordict[i][1] -# readings = "" -# datapoints: list = [] -# sensorrange = len(sensordict[i][2]) if len(sensordict[i][2]) < 5 else 5 -# for j in range(sensorrange): -# datapoints.append([]) -# ts = sensordict[i][2][j]["ts"] -# value = sensordict[i][2][j]["value"] -# datapoints[j].append(ts) -# datapoints[j].append(value) -# datapoints[j].append(unit) -# datapoints.sort(reverse=True) -# -# graphdata: list = [[], []] -# for j in datapoints: -# ts = j[0] -# time = datetime.fromtimestamp(ts).strftime("%d.%m.%Y %H:%M.%S") -# timeNoDate = datetime.fromtimestamp(ts).strftime("%H:%M.%S") -# value = j[1] -# unit = j[2] -# # print(f"{time} {j}") -# readings += f"{time}> {value}{unit}
" -# graphdata[0].append(timeNoDate) -# graphdata[1].append(value) -# -# # create_plot(i, unit, graphdata[0], graphdata[1]) -# -# htmldata += f""" -#

Id: {i}

-#

Type: {type}

-#

Readings:

-#
-# {readings} -# Graph -#
-#
""" -# -# html = f""" -# -# -# -# -# Sensor Data -# -# -# -# {htmldata} -# -# -# """ - - -# class MyHandler(BaseHTTPRequestHandler): -# def do_GET(self): -# self.send_response(200) -# # self.send_header("Content-type", "text/html") -# self.end_headers() -# self.wfile.write(html.encode("utf-8")) -# -# -# if __name__ == "__main__": -# server_address = ("", 8000) -# httpd = HTTPServer(server_address, MyHandler) -# print("Serving on http://localhost:8000") -# httpd.serve_forever() - app = Flask(__name__) @@ -212,12 +123,5 @@ def index(): return render_template("index.html", data=sensors) -# @app.before_request -# def before_request(): -# for sensor in sensors.values(): -# print(sensor) -# sensor.renderPlot() - - if __name__ == "__main__": app.run(debug=True) diff --git a/webserver/static/CaskaydiaCove-Regular.ttf b/webserver/static/CaskaydiaCove-Regular.ttf new file mode 100644 index 0000000..04df61f --- /dev/null +++ b/webserver/static/CaskaydiaCove-Regular.ttf @@ -0,0 +1,2034 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + caskaydia-cove/fonts/ttf/CaskaydiaCove-Regular.ttf at master · eliheuer/caskaydia-cove · GitHub + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ Skip to content + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + + + + +
+ + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + +
+
+ + + + +
+ +
+ +
+
+ +
+ +
+

Footer

+ + + + +
+
+ + + + + © 2025 GitHub, Inc. + +
+ + +
+
+ + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + diff --git a/webserver/static/plots/sensor_001.png b/webserver/static/plots/sensor_001.png deleted file mode 100644 index 78d8e46e65ac19d82b07e65ba7df508fea707ba6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21127 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 z 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 diff --git a/webserver/templates/index.html b/webserver/templates/index.html index 373749b..def82e5 100644 --- a/webserver/templates/index.html +++ b/webserver/templates/index.html @@ -1,3 +1,11 @@ + + + + + + + + @@ -8,27 +16,58 @@ /> Sensor Data -

Sensor Readings

+
+
+

Sensor Readings

+
+

{% for sensor in data.items() %}

+

{{ sensor[1].getId() }}[{{ sensor[1].getType() }}]

-
    - {% for key,value in sensor[1].getReadingsTimeDate().items() %} -
  • {{ key }}» {{ value }}{{ sensor[1].getUnit() }}
  • - {% endfor %} - Graph -
+

{{ sensor[1].renderPlot() }}

+
+
+
    + {% for key,value in sensor[1].getReadingsTimeDate().items() %} +
  • {{ key }}» {{ value }}{{ sensor[1].getUnit() }}
  • + {% endfor %} +
+
+
+ Graph +
+
{% endfor %}