added manual save data button
This commit is contained in:
parent
c5015dcbb5
commit
81eafb085f
308
api/all.json
308
api/all.json
@ -26,5 +26,313 @@
|
|||||||
"humidity": "33.23%",
|
"humidity": "33.23%",
|
||||||
"air_pollution": false,
|
"air_pollution": false,
|
||||||
"time": "01/02/22"
|
"time": "01/02/22"
|
||||||
|
},
|
||||||
|
"22:21:30": {
|
||||||
|
"temperature": "26.07C",
|
||||||
|
"pressure": "953.17hPa",
|
||||||
|
"humidity": "33.67%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"22:24:42": {
|
||||||
|
"temperature": "26.20C",
|
||||||
|
"pressure": "953.12hPa",
|
||||||
|
"humidity": "33.93%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"22:26:27": {
|
||||||
|
"temperature": "26.18C",
|
||||||
|
"pressure": "953.11hPa",
|
||||||
|
"humidity": "34.19%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"22:27:44": {
|
||||||
|
"temperature": "26.24C",
|
||||||
|
"pressure": "953.05hPa",
|
||||||
|
"humidity": "34.07%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"22:28:10": {
|
||||||
|
"temperature": "26.22C",
|
||||||
|
"pressure": "953.06hPa",
|
||||||
|
"humidity": "34.16%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"22:29:16": {
|
||||||
|
"temperature": "26.25C",
|
||||||
|
"pressure": "953.10hPa",
|
||||||
|
"humidity": "34.27%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"22:30:02": {
|
||||||
|
"temperature": "26.24C",
|
||||||
|
"pressure": "953.10hPa",
|
||||||
|
"humidity": "34.28%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"22:30:59": {
|
||||||
|
"temperature": "26.26C",
|
||||||
|
"pressure": "953.14hPa",
|
||||||
|
"humidity": "34.68%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"22:34:52": {
|
||||||
|
"temperature": "26.25C",
|
||||||
|
"pressure": "953.17hPa",
|
||||||
|
"humidity": "34.40%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"22:17:28": {
|
||||||
|
"temperature": "26.14C",
|
||||||
|
"pressure": "953.12hPa",
|
||||||
|
"humidity": "34.81%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"22:39:56": {
|
||||||
|
"temperature": "26.23C",
|
||||||
|
"pressure": "953.08hPa",
|
||||||
|
"humidity": "34.97%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"22:42:23": {
|
||||||
|
"temperature": "26.24C",
|
||||||
|
"pressure": "953.10hPa",
|
||||||
|
"humidity": "34.89%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"22:43:45": {
|
||||||
|
"temperature": "26.16C",
|
||||||
|
"pressure": "953.07hPa",
|
||||||
|
"humidity": "35.37%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"22:44:59": {
|
||||||
|
"temperature": "26.24C",
|
||||||
|
"pressure": "953.01hPa",
|
||||||
|
"humidity": "35.27%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"22:45:38": {
|
||||||
|
"temperature": "26.21C",
|
||||||
|
"pressure": "952.99hPa",
|
||||||
|
"humidity": "35.36%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"22:45:54": {
|
||||||
|
"temperature": "26.20C",
|
||||||
|
"pressure": "953.01hPa",
|
||||||
|
"humidity": "35.22%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"22:47:05": {
|
||||||
|
"temperature": "26.18C",
|
||||||
|
"pressure": "952.85hPa",
|
||||||
|
"humidity": "35.44%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"22:47:25": {
|
||||||
|
"temperature": "26.14C",
|
||||||
|
"pressure": "952.83hPa",
|
||||||
|
"humidity": "35.38%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"22:50:17": {
|
||||||
|
"temperature": "26.06C",
|
||||||
|
"pressure": "952.77hPa",
|
||||||
|
"humidity": "35.76%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"22:51:01": {
|
||||||
|
"temperature": "26.12C",
|
||||||
|
"pressure": "952.77hPa",
|
||||||
|
"humidity": "35.77%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"22:17:25": {
|
||||||
|
"temperature": "26.09C",
|
||||||
|
"pressure": "952.79hPa",
|
||||||
|
"humidity": "36.00%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"22:53:52": {
|
||||||
|
"temperature": "26.10C",
|
||||||
|
"pressure": "952.76hPa",
|
||||||
|
"humidity": "35.94%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"22:56:31": {
|
||||||
|
"temperature": "26.09C",
|
||||||
|
"pressure": "952.74hPa",
|
||||||
|
"humidity": "35.91%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"22:57:19": {
|
||||||
|
"temperature": "26.15C",
|
||||||
|
"pressure": "952.94hPa",
|
||||||
|
"humidity": "36.03%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"23:03:05": {
|
||||||
|
"temperature": "26.25C",
|
||||||
|
"pressure": "952.85hPa",
|
||||||
|
"humidity": "35.84%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"23:05:28": {
|
||||||
|
"temperature": "26.26C",
|
||||||
|
"pressure": "952.82hPa",
|
||||||
|
"humidity": "35.85%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"23:06:05": {
|
||||||
|
"temperature": "25.75C",
|
||||||
|
"pressure": "952.98hPa",
|
||||||
|
"humidity": "33.05%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"23:39:00": {
|
||||||
|
"temperature": "25.93C",
|
||||||
|
"pressure": "952.91hPa",
|
||||||
|
"humidity": "32.69%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"23:39:33": {
|
||||||
|
"temperature": "25.97C",
|
||||||
|
"pressure": "952.92hPa",
|
||||||
|
"humidity": "32.74%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"23:39:50": {
|
||||||
|
"temperature": "26.03C",
|
||||||
|
"pressure": "952.91hPa",
|
||||||
|
"humidity": "32.82%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"23:44:42": {
|
||||||
|
"temperature": "25.99C",
|
||||||
|
"pressure": "952.93hPa",
|
||||||
|
"humidity": "33.10%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"23:45:39": {
|
||||||
|
"temperature": "25.99C",
|
||||||
|
"pressure": "952.85hPa",
|
||||||
|
"humidity": "33.77%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"23:47:43": {
|
||||||
|
"temperature": "26.00C",
|
||||||
|
"pressure": "952.82hPa",
|
||||||
|
"humidity": "33.70%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"23:49:18": {
|
||||||
|
"temperature": "26.08C",
|
||||||
|
"pressure": "952.76hPa",
|
||||||
|
"humidity": "34.56%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"23:54:37": {
|
||||||
|
"temperature": "26.20C",
|
||||||
|
"pressure": "952.92hPa",
|
||||||
|
"humidity": "34.15%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"23:58:26": {
|
||||||
|
"temperature": "26.20C",
|
||||||
|
"pressure": "952.88hPa",
|
||||||
|
"humidity": "34.52%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/03/22"
|
||||||
|
},
|
||||||
|
"00:01:46": {
|
||||||
|
"temperature": "25.66C",
|
||||||
|
"pressure": "952.87hPa",
|
||||||
|
"humidity": "28.34%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/04/22"
|
||||||
|
},
|
||||||
|
"00:01:47": {
|
||||||
|
"temperature": "25.62C",
|
||||||
|
"pressure": "952.86hPa",
|
||||||
|
"humidity": "28.26%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/04/22"
|
||||||
|
},
|
||||||
|
"00:01:48": {
|
||||||
|
"temperature": "25.64C",
|
||||||
|
"pressure": "952.88hPa",
|
||||||
|
"humidity": "28.22%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/04/22"
|
||||||
|
},
|
||||||
|
"00:01:49": {
|
||||||
|
"temperature": "25.63C",
|
||||||
|
"pressure": "952.87hPa",
|
||||||
|
"humidity": "28.22%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/04/22"
|
||||||
|
},
|
||||||
|
"00:01:51": {
|
||||||
|
"temperature": "25.62C",
|
||||||
|
"pressure": "952.88hPa",
|
||||||
|
"humidity": "28.20%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/04/22"
|
||||||
|
},
|
||||||
|
"00:01:52": {
|
||||||
|
"temperature": "25.64C",
|
||||||
|
"pressure": "952.85hPa",
|
||||||
|
"humidity": "28.22%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/04/22"
|
||||||
|
},
|
||||||
|
"00:01:53": {
|
||||||
|
"temperature": "25.61C",
|
||||||
|
"pressure": "952.86hPa",
|
||||||
|
"humidity": "28.25%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "01/04/22"
|
||||||
|
},
|
||||||
|
"00:04:22_01/04/22": {
|
||||||
|
"temperature": "25.32C",
|
||||||
|
"pressure": "952.88hPa",
|
||||||
|
"humidity": "25.90%",
|
||||||
|
"air_pollution": false,
|
||||||
|
"time": "00:04:22"
|
||||||
}
|
}
|
||||||
}
|
}
|
23
main.py
23
main.py
@ -1,8 +1,12 @@
|
|||||||
from flask import Flask, render_template, jsonify
|
from flask import Flask, render_template, jsonify, redirect, abort, request
|
||||||
import RPi.GPIO as gpio
|
import RPi.GPIO as gpio
|
||||||
from time import sleep
|
from time import sleep
|
||||||
import subprocess
|
import subprocess
|
||||||
import json
|
import json
|
||||||
|
import saver
|
||||||
|
|
||||||
|
# Change this if you change the dir
|
||||||
|
HOME_DIR = "/home/pi/PWSS/"
|
||||||
|
|
||||||
# MQ-135 gas sensor
|
# MQ-135 gas sensor
|
||||||
def stinker():
|
def stinker():
|
||||||
@ -22,7 +26,7 @@ def stinker():
|
|||||||
|
|
||||||
# BME280 Humidity, Temperature, Pressure sensor
|
# BME280 Humidity, Temperature, Pressure sensor
|
||||||
def htp():
|
def htp():
|
||||||
string = subprocess.check_output(["./home/pi/PWSS/HTP"]).decode(encoding='UTF-8',errors='strict')
|
string = subprocess.check_output([f"{HOME_DIR}/HTP"]).decode(encoding='UTF-8',errors='strict')
|
||||||
string = string.split("temperature:")[1]
|
string = string.split("temperature:")[1]
|
||||||
temperature = string.split(" pressure:")[0].replace("*C", "C")
|
temperature = string.split(" pressure:")[0].replace("*C", "C")
|
||||||
string = string.split(" pressure:")[1]
|
string = string.split(" pressure:")[1]
|
||||||
@ -49,17 +53,28 @@ def home():
|
|||||||
|
|
||||||
@app.route("/api/all")
|
@app.route("/api/all")
|
||||||
def all_data():
|
def all_data():
|
||||||
with open("api/all.json","r") as f:
|
with open(f"{HOME_DIR}/api/all.json","r") as f:
|
||||||
data = json.load(f)
|
data = json.load(f)
|
||||||
return jsonify(data)
|
return jsonify(data)
|
||||||
|
|
||||||
|
|
||||||
@app.route("/api/daily")
|
@app.route("/api/daily")
|
||||||
def daily_data():
|
def daily_data():
|
||||||
with open("api/daily.json","r") as f:
|
with open(f"{HOME_DIR}/api/daily.json","r") as f:
|
||||||
data = json.load(f)
|
data = json.load(f)
|
||||||
return jsonify(data)
|
return jsonify(data)
|
||||||
|
|
||||||
|
|
||||||
|
@app.route("/api/save", methods = ['GET', 'POST'])
|
||||||
|
def save_data():
|
||||||
|
if request.method == "POST":
|
||||||
|
print("will it save?")
|
||||||
|
saver.manual()
|
||||||
|
print("saved main")
|
||||||
|
return redirect("/")
|
||||||
|
else:
|
||||||
|
return redirect("/api/all")
|
||||||
|
|
||||||
|
|
||||||
if __name__=="__main__":
|
if __name__=="__main__":
|
||||||
app.run(host='0.0.0.0')
|
app.run(host='0.0.0.0')
|
35
saver.py
Normal file
35
saver.py
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
from main import stinker, htp, HOME_DIR
|
||||||
|
from datetime import datetime
|
||||||
|
import pytz, json
|
||||||
|
|
||||||
|
tz = pytz.timezone('Europe/Sofia')
|
||||||
|
|
||||||
|
|
||||||
|
def get():
|
||||||
|
data = htp()
|
||||||
|
data["air_pollution"] = stinker()
|
||||||
|
data["time"] = datetime.now(tz).strftime("%H:%M:%S")
|
||||||
|
return data
|
||||||
|
|
||||||
|
def daily():
|
||||||
|
data = get()
|
||||||
|
with open("{HOME_DIR}/api/daily.json", "r+") as f:
|
||||||
|
f_data = json.load(f)
|
||||||
|
f_data[date] = data
|
||||||
|
f.seek(0)
|
||||||
|
json.dump(f_data, f, indent=4)
|
||||||
|
f.close()
|
||||||
|
|
||||||
|
|
||||||
|
def manual():
|
||||||
|
data = get()
|
||||||
|
|
||||||
|
with open(f"{HOME_DIR}/api/all.json", "r+") as f:
|
||||||
|
f_data = json.load(f)
|
||||||
|
f_data[f'{datetime.now(tz).strftime("%H:%M:%S")}&{datetime.now(tz).strftime("%x")}'] = data
|
||||||
|
f.seek(0)
|
||||||
|
json.dump(f_data, f, indent=4)
|
||||||
|
|
||||||
|
print("Saved")
|
||||||
|
|
||||||
|
|
@ -16,6 +16,9 @@
|
|||||||
<li>{{HTP[i]}}</li>
|
<li>{{HTP[i]}}</li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
|
<form action="/api/save" method="post">
|
||||||
|
<button type="submit" name="foo" value="upvote"> Save data </button>
|
||||||
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
Loading…
x
Reference in New Issue
Block a user