add write to databasse and some api
This commit is contained in:
8
.idea/.gitignore
generated
vendored
Normal file
8
.idea/.gitignore
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
|
# Editor-based HTTP Client requests
|
||||||
|
/httpRequests/
|
||||||
|
# Datasource local storage ignored files
|
||||||
|
/dataSources/
|
||||||
|
/dataSources.local.xml
|
||||||
43
app.py
Normal file
43
app.py
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
from flask import Flask, render_template, request, redirect, url_for
|
||||||
|
from flask_migrate import Migrate
|
||||||
|
from models import db, Data
|
||||||
|
|
||||||
|
|
||||||
|
app = Flask(__name__)
|
||||||
|
|
||||||
|
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///asuserver.db"
|
||||||
|
app.jinja_env.auto_reload = True
|
||||||
|
app.config['TEMPLATES_AUTO_RELOAD'] = True
|
||||||
|
|
||||||
|
app.secret_key = '6523e58bc0eec42c31b9635d5e0dfc23b6d119b73e633bf3a5284c79bb4a1ede'
|
||||||
|
|
||||||
|
db.init_app(app)
|
||||||
|
|
||||||
|
migrate = Migrate(app, db)
|
||||||
|
|
||||||
|
def createDb():
|
||||||
|
with app.app_context():
|
||||||
|
db.create_all()
|
||||||
|
|
||||||
|
@app.route("/")
|
||||||
|
def index():
|
||||||
|
return "12312312"
|
||||||
|
|
||||||
|
@app.route("/api/getaverageperminute")
|
||||||
|
def getaverageperhour():
|
||||||
|
query = db.session.query(Data).order_by(Data.addTime.desc()).limit(6).all()
|
||||||
|
print(query)
|
||||||
|
temp1Data = []
|
||||||
|
temp2Data = []
|
||||||
|
hum1Data = []
|
||||||
|
hum2Data = []
|
||||||
|
for data in query:
|
||||||
|
temp1Data.append(data.temp1)
|
||||||
|
temp2Data.append(data.temp2)
|
||||||
|
hum1Data.append(data.hum1)
|
||||||
|
hum2 , Data.append(data.hum1)
|
||||||
|
|
||||||
|
return str("last_200_records_sorted")
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
app.run(debug=True, host='0.0.0.0', port='3800')
|
||||||
48
getDataFromArduino.py
Normal file
48
getDataFromArduino.py
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
import serial
|
||||||
|
from datetime import datetime
|
||||||
|
import json
|
||||||
|
from models import Data, db
|
||||||
|
from app import app
|
||||||
|
|
||||||
|
|
||||||
|
# Open the COM port
|
||||||
|
ser = serial.Serial('COM14', 9600, timeout=1)
|
||||||
|
|
||||||
|
|
||||||
|
# Check if the port is open
|
||||||
|
if ser.is_open:
|
||||||
|
print(f"Connected to {ser.name}")
|
||||||
|
|
||||||
|
|
||||||
|
try:
|
||||||
|
while True:
|
||||||
|
# Read data from the COM port
|
||||||
|
if ser.in_waiting > 0:
|
||||||
|
data = ser.readline().decode('utf-8').rstrip()
|
||||||
|
parsed = json.loads(data)
|
||||||
|
rawDataTime = parsed["dataTime"]
|
||||||
|
parsedDataTime = str(rawDataTime).split("-")
|
||||||
|
#datetime(2012, 3, 3, 10, 10, 10)
|
||||||
|
dataTime =datetime(int(parsedDataTime[0]),
|
||||||
|
int(parsedDataTime[1]),
|
||||||
|
int(parsedDataTime[2]),
|
||||||
|
int(parsedDataTime[3]),
|
||||||
|
int(parsedDataTime[4]),
|
||||||
|
int(parsedDataTime[5]),
|
||||||
|
)
|
||||||
|
with app.app_context():
|
||||||
|
dt = db.session.add(Data(temp1=float(parsed["temp1"]),
|
||||||
|
vlaz1=float(parsed["hum1"]),
|
||||||
|
temp2=float(parsed["temp2"]),
|
||||||
|
vlaz2=float(parsed["hum2"]),
|
||||||
|
addTime=dataTime))
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
|
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
print("Exiting...")
|
||||||
|
|
||||||
|
finally:
|
||||||
|
# Close the COM port
|
||||||
|
ser.close()
|
||||||
|
print("Serial port closed")
|
||||||
13
models.py
Normal file
13
models.py
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
|
||||||
|
from flask_sqlalchemy import SQLAlchemy
|
||||||
|
import datetime
|
||||||
|
|
||||||
|
db = SQLAlchemy()
|
||||||
|
|
||||||
|
class Data(db.Model):
|
||||||
|
id = db.Column(db.Integer, primary_key=True)
|
||||||
|
temp1 = db.Column(db.Float, nullable=False)
|
||||||
|
vlaz1 = db.Column(db.Float, nullable=False)
|
||||||
|
temp2 = db.Column(db.Float, nullable=False)
|
||||||
|
vlaz2 = db.Column(db.Float, nullable=False)
|
||||||
|
addTime = db.Column(db.DateTime, nullable=False)
|
||||||
2
static/js/jquery-3.7.1.min.js
vendored
Normal file
2
static/js/jquery-3.7.1.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
static/js/jquery-3.7.1.min.map
Normal file
1
static/js/jquery-3.7.1.min.map
Normal file
File diff suppressed because one or more lines are too long
10
templates/index.html
Normal file
10
templates/index.html
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Метостанция </title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Reference in New Issue
Block a user