commit
b2c1eadbf3
@ -0,0 +1,64 @@
|
||||
from flask import Flask, request, jsonify
|
||||
from gpiozero import LED
|
||||
import time
|
||||
|
||||
# 初始化 LED 对象
|
||||
cpu_red = LED(16)
|
||||
cpu_green = LED(20)
|
||||
|
||||
memory_red = LED(13)
|
||||
memory_green = LED(19)
|
||||
|
||||
disk_red = LED(18)
|
||||
disk_green = LED(15)
|
||||
|
||||
# 创建 Flask 应用
|
||||
app = Flask(__name__)
|
||||
|
||||
@app.route('/led', methods=['GET'])
|
||||
def control_led():
|
||||
# 获取请求参数
|
||||
led_type = request.args.get('type')
|
||||
color = request.args.get('color')
|
||||
|
||||
# 根据 type 和 color 控制不同的 LED
|
||||
if led_type == 'cpu':
|
||||
if color == 'red':
|
||||
cpu_red.on()
|
||||
cpu_green.off()
|
||||
elif color == 'green':
|
||||
cpu_red.off()
|
||||
cpu_green.on()
|
||||
else:
|
||||
return jsonify({'status': 'error', 'message': 'Invalid color'}), 400
|
||||
|
||||
elif led_type == 'memory':
|
||||
if color == 'red':
|
||||
memory_red.on()
|
||||
memory_green.off()
|
||||
elif color == 'green':
|
||||
memory_red.off()
|
||||
memory_green.on()
|
||||
else:
|
||||
return jsonify({'status': 'error', 'message': 'Invalid color'}), 400
|
||||
|
||||
elif led_type == 'disk':
|
||||
if color == 'red':
|
||||
disk_red.on()
|
||||
disk_green.off()
|
||||
elif color == 'green':
|
||||
disk_red.off()
|
||||
disk_green.on()
|
||||
else:
|
||||
return jsonify({'status': 'error', 'message': 'Invalid color'}), 400
|
||||
|
||||
else:
|
||||
return jsonify({'status': 'error', 'message': 'Invalid type'}), 400
|
||||
|
||||
# 返回成功的 JSON 响应
|
||||
return jsonify({'status': 'success', 'message': f'{led_type} light turned {color}'}), 200
|
||||
|
||||
if __name__ == '__main__':
|
||||
# 启动 Flask 服务
|
||||
app.run(host='0.0.0.0', port=8080)
|
||||
|
Loading…
Reference in new issue