This commit is contained in:
2026-03-30 19:55:04 +02:00
parent 4e7a41d7aa
commit 9a109c49e6

View File

@@ -1,25 +1,51 @@
from fastapi import FastAPI
from pydantic import BaseModel
import os import os
import sys import sys
from fastapi import FastAPI
app = FastAPI(title="Loustiques API - Pi 2")
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
composants = os.path.join(BASE_DIR, "composants", "byPanda") composants = os.path.join(BASE_DIR, "composants", "byPanda")
sys.path.insert(0, composants) sys.path.insert(0, composants)
from lumieres import SystemeLumieres from lumieres import SystemeLumieres
from thermostat import SystemeThermostat
from volets import SystemeVolets
app = FastAPI(title="Loustiques API - Pi 2")
class CommandeLumiere(BaseModel): controleur_lumieres = SystemeLumieres()
action: str controleur_thermostat = SystemeThermostat()
#controleur_volet = SystemeVolets()
@app.post("/Lumière") @app.get("/up_led")
async def action_pi2(commande: CommandeLumiere): async def allumer_led():
if commande.action == "allumer_lumiere": controleur_lumieres.allumerLumieres()
return {"success": True, "message": "Lumière allumée par le Pi 2"} controleur_lumieres.modeManuel = True
return {"success": True, "message": "Lumière allumée par le Pi 2"}
return {"success": False, "message": "Action inconnue"} @app.get("/down_led")
async def eteindre_led():
controleur_lumieres.eteindreLumieres()
controleur_lumieres.modeManuel = True
return {"success": True, "message": "Lumière éteinte par le Pi 2"}
@app.get("/temperature")
async def read_temp():
temp = controleur_thermostat.lireTemperature()
if temp is None:
return {"success": False, "message": "Impossible de lire le capteur DHT11"}
return {"success": True, "temperature": temp}
"""
@app.get("/open_volet")
async def open_volet():
volet = controleur_volet.ouvrirVolets()
if volet is None:
return {"success": False, "message": "Impossible de lire le capteur DHT11"}
return {"success": True, "message" :"Volet ouvert par le raspberry 2"}
"""
if __name__ == "__main__":
import uvicorn
uvicorn.run("main:app", host="0.0.0.0", port=8000, reload=True)