from fastapi import FastAPI
import serial

app = FastAPI()

# Открываем последовательный порт
ser = serial.Serial('COM4', 9600)
count = 0

@app.get("/count")
async def get_count():
    global count
    count += 1
    return {"count": count}

@app.get("/")
async def root():
    if ser.is_open:
        # Читаем данные с порта, если порт открыт
        sensor_val = ser.readline().strip().decode()  
        return {"sensor_value": sensor_val}
    else:
        return {"error": "Serial port is not open"}

if __name__ == "__main__":
    import uvicorn
    uvicorn.run(app, host="0.0.0.0", port=12345)