commit
f8154b5bd2
@ -0,0 +1 @@
|
|||||||
|
__pycache__
|
@ -0,0 +1,2 @@
|
|||||||
|
from . import network
|
||||||
|
from . import com
|
@ -0,0 +1,9 @@
|
|||||||
|
from abc import ABCMeta, abstractmethod
|
||||||
|
|
||||||
|
class AbstractCommand(metaclass=ABCMeta):
|
||||||
|
def __init__(self, args = None):
|
||||||
|
self.args = args
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
def execute(self):
|
||||||
|
pass
|
@ -0,0 +1 @@
|
|||||||
|
from .drawer_open_request import DrawerOpenRequest
|
@ -0,0 +1,5 @@
|
|||||||
|
from command.abstract_command import AbstractCommand
|
||||||
|
|
||||||
|
class DrawerOpenRequest(AbstractCommand):
|
||||||
|
def execute(self):
|
||||||
|
print(self.args)
|
@ -0,0 +1 @@
|
|||||||
|
from .drawer_open_request import DrawerOpenRequest
|
@ -0,0 +1,5 @@
|
|||||||
|
from command.abstract_command import AbstractCommand
|
||||||
|
|
||||||
|
class DrawerOpenRequest(AbstractCommand):
|
||||||
|
def execute(self):
|
||||||
|
print(self.args)
|
@ -0,0 +1,18 @@
|
|||||||
|
cabinets:
|
||||||
|
-
|
||||||
|
id: '100'
|
||||||
|
mode: com
|
||||||
|
addr: /dev/ttyUSB0
|
||||||
|
bps: 115200
|
||||||
|
actions:
|
||||||
|
-
|
||||||
|
addr: /dev/ttyUSB1
|
||||||
|
name: DrawerOpenRequest
|
||||||
|
desc: 串口开抽屉
|
||||||
|
-
|
||||||
|
id: '101'
|
||||||
|
addr: 100.64.1.1
|
||||||
|
actions:
|
||||||
|
-
|
||||||
|
name: DrawerOpenRequest
|
||||||
|
desc: 网络开抽屉
|
@ -0,0 +1,23 @@
|
|||||||
|
from fastapi import FastAPI
|
||||||
|
import yaml
|
||||||
|
|
||||||
|
app = FastAPI()
|
||||||
|
|
||||||
|
data: dict = {}
|
||||||
|
|
||||||
|
@app.on_event('startup')
|
||||||
|
async def startup():
|
||||||
|
global data
|
||||||
|
yml = open('config.yaml', 'r', encoding='utf-8')
|
||||||
|
raw = yml.read()
|
||||||
|
yml.close()
|
||||||
|
data = yaml.load(raw, Loader=yaml.FullLoader)
|
||||||
|
|
||||||
|
@app.get('/{id}')
|
||||||
|
def endpoint(id: str):
|
||||||
|
cabinets = data.get('cabinets', [])
|
||||||
|
try:
|
||||||
|
cabinet = next(filter(lambda c: c['id'] == id, cabinets))
|
||||||
|
return cabinet
|
||||||
|
except StopIteration:
|
||||||
|
return '找不到柜体'
|
@ -0,0 +1,19 @@
|
|||||||
|
annotated-types==0.5.0
|
||||||
|
anyio==3.7.1
|
||||||
|
click==8.1.6
|
||||||
|
exceptiongroup==1.1.2
|
||||||
|
fastapi==0.100.0
|
||||||
|
h11==0.14.0
|
||||||
|
httptools==0.6.0
|
||||||
|
idna==3.4
|
||||||
|
pydantic==2.1.1
|
||||||
|
pydantic_core==2.4.0
|
||||||
|
python-dotenv==1.0.0
|
||||||
|
PyYAML==6.0.1
|
||||||
|
sniffio==1.3.0
|
||||||
|
starlette==0.27.0
|
||||||
|
typing_extensions==4.7.1
|
||||||
|
uvicorn==0.23.1
|
||||||
|
uvloop==0.17.0
|
||||||
|
watchfiles==0.19.0
|
||||||
|
websockets==11.0.3
|
Loading…
Reference in new issue