-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path14-4.py
More file actions
59 lines (48 loc) · 1.41 KB
/
14-4.py
File metadata and controls
59 lines (48 loc) · 1.41 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
from flask import Flask
from flask import render_template
from flask import jsonify
from flask import request
from flask import Response
import random
import rcpy.button as rc_button
import rcpy.led as rc_led
import cv2
app = Flask(__name__)
@app.route('/')
def hello_world() :
return 'Hello World!'
@app.route("/page")
def page() :
return render_template("var.html", value = "value from flask")
@app.route("/button")
def button() :
return jsonify(
btn1 = rc_button.mode.is_pressed(),
btn2 = rc_button.pause.is_pressed()
)
@app.route("/led", methods=["POST"])
def led() :
print(request.form['led'])
led_num = request.form['led']
if led_num == '1' :
rc_led.red.toggle()
elif led_num == '2' :
rc_led.green.toggle()
return led_num
def get_frame() :
cap = cv2.VideoCapture("/dev/video2")
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 320)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 240)
while True :
_, frame = cap.read()
imgencode = cv2.imencode('.jpg', frame)[1]
stringData = imgencode.tostring()
yield (b'--frame\r\n'
b'Content-Type: text/plain\r\n\r\n' + stringData + b'\r\n')
cap.release()
@app.route('/frame')
def frame() :
return Response(get_frame(),
mimetype='multipart/x-mixed-replace; boundary=frame')
if __name__ == "__main__" :
app.run(host = "0.0.0.0")