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)