1lab/ard.py
2024-05-20 19:48:54 +03:00

31 lines
581 B
Python

import uvicorn
from serial import Serial
import threading
from fastapi import FastAPI
import json
ser = Serial('COM6', 9600)
data = {"value": 0}
def read_data():
global data
while True:
incoming_data = ser.read(1) # read up to one byte
try:
data["value"] = int(incoming_data)
except ValueError:
pass
app = FastAPI()
def get_data():
return json.dumps(data)
th = threading.Thread(target=read_data)
th.start()
@app.get("/")
async def root():
return data
if __name__ == "__main__":
uvicorn.run(app, port=10000)