马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
- # coding= UTF-8% I- _% \+ H8 g. l2 ]$ K2 c1 b
- import json
+ _( D B3 F+ {6 E! ^4 p- F - import sqlite3/ p# T4 i2 z8 u* x1 F8 F
- import datetime
7 s* {: ?8 C( j7 q - from flask import Flask,render_template, request" V5 t' ?; W5 p+ u+ {
- DATABASE = 'data/data.db'8 Z9 \( J0 _* j& S5 v
- app = Flask(__name__)' @6 S8 o1 M. I7 d/ N
- @app.route("/")
. ~3 O& j+ s4 \; ?- Z7 u5 c - def hello():
4 ?' W% C: @; ?& S. `5 p, C - db = sqlite3.connect(DATABASE)
5 H3 U3 t9 w+ G& z - cur = db.cursor()3 N- D$ o) g# u& ]
- cur.execute("SELECT * FROM sensorlog WHERE sensorid =1")
; L2 }1 m a- a - data = cur.fetchall()
) `% n7 _4 i: P/ W3 T - cur.close()& l5 l+ l$ n1 n' V3 I. H) X
- db.close()
, Y( [' ~% \$ r# V - temp1 = data[len(data) - 1]
+ V1 ^( u. y d) r: T' _ - temp=temp1[2]
( v7 L9 S z- O8 L% `- c - return render_template('vews.html', data=data,temp=temp)
4 D( |/ z2 Y4 r' g% o9 m* V
) ]% ], }6 K# |' A/ ~# L- #Adding data
0 W9 \# C7 o- d1 L: w/ g; C2 w9 [ - @app.route("/input",methods=['POST','GET'])! p3 g5 L3 i: m- ?& v1 U
- def add_data():
, |0 Y0 W* _0 K& k- q/ u - if request.method == 'POST':* i( a& Z5 f: l" a
- sensorid = int(request.form.get('id'))& }! W, F2 Z7 V1 v& P
- sensorvalue = float(request.form.get('val'))
3 y& p( _/ ~' F( C2 G2 r1 ]9 R7 h - else:/ S+ G# k+ w, \4 K" A ^- U
- sensorid = int(request.args.get('id'))0 q/ g+ {6 o- K7 m; f- t; {
- sensorvalue = float(request.args.get('val'))
- `# X! L! d& f% Y - nowtime = datetime.datetime.now(): ]* F$ V9 X" Y3 C% u2 @' E, ?
- nowtime = nowtime.strftime('%Y-%m-%d %H:%M:%S')$ t. ?9 i2 ^0 f/ d, `
- db = sqlite3.connect(DATABASE)' F' m) t1 ~1 H$ d. O' R3 q5 \' i
- cur = db.cursor()2 @) U6 F! r( [& r6 E) u# e
- cur.execute("INSERT INTO sensorlog(sensorid,sensorvalue,updatetime) VALUES(%d,%f,'%s')" %(sensorid,sensorvalue,nowtime))1 s, ], k) Y* [& D* I6 G: V
- db.commit()
: o, P8 k% N" S3 B, ^9 n3 v1 q - cur.execute("SELECT * FROM sensorlist where sensorid = %d"% sensorid)0 v9 E6 E. V7 s& B* }/ j) q
- rv = cur.fetchall()7 T' j& z$ j* D; r. b
- cur.close()/ f- O5 y# j( L0 z1 G$ E5 K
- db.close()9 n9 l: k& |' ^8 N
- maxrv = rv[0][2]
* J4 Z6 l/ { J8 L0 Q$ y - minrv = rv[0][3]
' }7 `8 ~& |$ E- B" Y - if sensorvalue > maxrv or sensorvalue < minrv:0 W* r& \2 \) Q% F" M
- return '0'
& G2 U8 b& e2 w1 p. B - else:
6 l: Y M3 X; n3 v" i$ u$ } C6 b - return '1'( K% E/ x* U9 S
3 J$ I0 Z$ H, b* _+ w# r- if __name__ == "__main__":
3 F9 f: d; M8 t6 A( E5 X* r - app.run(host="0.0.0.0", port=8080,debug=True,threaded=True)
- a) L) e% S0 x- ]1 Q0 ]
复制代码 |