-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcontrol_serv1.py
More file actions
101 lines (81 loc) ยท 2.28 KB
/
control_serv1.py
File metadata and controls
101 lines (81 loc) ยท 2.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#์๋ฆฌ์ผ ํต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
import json
import serial.tools.list_ports
import serial
import time
import threading
import requests
import numpy as np
from matplotlib import pyplot as plt
from matplotlib import animation
import matplotlib
from flask import Flask, render_template, Response
from flask import Flask, render_template, Response
import cam_python
app = Flask(__name__)
#10๋ฒ ํฌํธ์ ์ฐ๊ฒฐ๋ serial์ s๋ก ์ง์ (์ฑ๋:9600)
s = serial.Serial('COM3', 9600)
@app.route('/')
def index():
return f'{cam_python.msg_card}'
def send_signal_to_sfarm(msg):
while True:
z = s.readline()
# print(z)
# ๋ด์ฉ์ด ๋น์ด์์ง ์์ผ๋ฉด ํ๋ฆฐํธ
if not z.decode().startswith("#"):
z = z.decode()[:len(z) - 1]
print("๋ด์ฉ์ถ๋ ฅ:", end="")
print(z)
if z.startswith("{ \"temp"):
data = json.loads(z)
temp = int(data["temp"])
else:
break
if (s.readable()):
s.write("{}\n".format(msg).encode())
# def random_sinegraph():
# matplotlib.use('TkAgg')
# plt.rcParams["figure.figsize"] = [7.50, 3.50]
# plt.rcParams["figure.autolayout"] = True
#
# temp_threshold = 28
#
# fig = plt.figure()
# ax = plt.axes(xlim=(0, 2), ylim=(18, 32))
# ax.set_ylabel("Indoor temperature (degrees C)")
# ax.set_xlabel("time line")
# line, = ax.plot([], [], lw=2)
#
# plt.axhline(y=temp_threshold, ls="--")
# line_color = "b"
# stage = -1
@app.route('/fan-on')
def fan_on():
send_signal_to_sfarm("C_F-1")
return "Order Fan On"
@app.route('/fan-off')
def fan_off():
send_signal_to_sfarm("C_F-0")
return "Order Fan Off"
@app.route('/light-on/<level>')
def light_on(level):
send_signal_to_sfarm("C_L-{}".format(level))
return f"Order Light {level}"
# @app.route('/light-on')
# def light_on():
# send_signal_to_sfarm("C_L-10")
# return "Order Light 10"
@app.route('/light-off')
def light_off():
send_signal_to_sfarm("C_L-0")
return "Order Light 0"
@app.route('/window-open')
def window_open():
send_signal_to_sfarm("C_S-1")
return "Order window open"
@app.route('/window-close')
def window_close():
send_signal_to_sfarm("C_S-0")
return "Order window close"
app.run(host="0.0.0.0")