31 lines
581 B
Python
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) |