From b2c1eadbf35cc0d795bc034b149144f6a886b345 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A2=9C=E8=B6=85?= <7631990@qq.com> Date: Mon, 12 May 2025 15:32:50 +0800 Subject: [PATCH] first commit --- led.py | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 led.py diff --git a/led.py b/led.py new file mode 100644 index 0000000..469192a --- /dev/null +++ b/led.py @@ -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) +