28 lines
662 B
Python
28 lines
662 B
Python
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)
|