Files
loustique-home/fastapi/main.py

48 lines
1.4 KiB
Python
Raw Normal View History

2026-03-30 17:49:18 +02:00
import os
import sys
2026-03-30 19:55:04 +02:00
from fastapi import FastAPI
2026-03-30 23:21:57 +02:00
import RPi.GPIO as GPIO
2026-03-30 23:17:08 +02:00
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
2026-03-30 17:49:18 +02:00
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
composants = os.path.join(BASE_DIR, "composants", "byPanda")
sys.path.insert(0, composants)
2026-03-30 19:55:04 +02:00
2026-03-30 23:21:28 +02:00
#from lumieres import SystemeLumieres
2026-03-30 19:55:04 +02:00
from thermostat import SystemeThermostat
2026-03-30 23:21:28 +02:00
#from volets import SystemeVolets
2026-03-30 23:21:57 +02:00
from septsegments import afficher_temperature
2026-03-30 17:49:18 +02:00
2026-03-30 19:55:04 +02:00
app = FastAPI(title="Loustiques API - Pi 2")
2026-03-30 17:49:18 +02:00
2026-03-30 23:21:28 +02:00
#controleur_lumieres = SystemeLumieres()
2026-03-30 19:55:04 +02:00
controleur_thermostat = SystemeThermostat()
#controleur_volet = SystemeVolets()
2026-03-30 23:21:28 +02:00
"""
2026-03-30 19:55:04 +02:00
@app.get("/up_led")
async def allumer_led():
controleur_lumieres.allumerLumieres()
controleur_lumieres.modeManuel = True
return {"success": True, "message": "Lumière allumée par le Pi 2"}
2026-03-30 17:49:18 +02:00
2026-03-30 19:55:04 +02:00
@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"}
2026-03-30 23:21:28 +02:00
"""
2026-03-30 19:55:04 +02:00
@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"}
2026-03-30 23:17:08 +02:00
afficher_temperature(temp)
2026-03-30 19:55:04 +02:00
return {"success": True, "temperature": temp}
2026-03-30 21:46:43 +02:00
2026-03-30 19:55:04 +02:00
if __name__ == "__main__":
import uvicorn
2026-03-30 23:21:28 +02:00
uvicorn.run("main:app", host="0.0.0.0", port=8000, reload=True)