feat: added stop command, updated command processing, created .env.example

This commit is contained in:
Arduinum628
2025-09-16 09:50:07 +03:00
parent e5646407a2
commit 7318343acc
4 changed files with 42 additions and 25 deletions

View File

@@ -18,6 +18,7 @@ class CommandsRobot(ModelConfig):
backward: str
left: str
right: str
stop: str
def get_list_commands(self):
"""Метод вернёт список всех команд"""

View File

@@ -70,26 +70,23 @@ async def websocket_endpoint(websocket: WebSocket) -> None:
while True:
# Получение команды от клиента (с веб-сокета)
command = await websocket.receive_text()
response = await websocket.receive_text()
data = loads(response)
command = data.get('command')
if previous_command != command:
previous_command = command
valid_commands = settings.commands_robot.get_list_commands()
data = loads(command)
name_command = next(iter(data), None)
if name_command in valid_commands:
print(command)
if command in valid_commands:
# оптравка команды роботу
robot_answer = await command_to_robot(command=command)
robot_answer = await command_to_robot(command=response)
if robot_answer:
# отправка ответа робота на вебсокет фронтенда
await websocket.send_text(f'Получена команда: {command}, ответ робота: {robot_answer}')
print(f'Ответ робота: {robot_answer}')
except WebSocketDisconnect:
print('WebSocket отключен') # Todo: для вывода ошибок будет настроен logger
# Todo: для каждой ошибки написать своё сообщение
print('WebSocket отключен')
except (WebSocketException, exceptions.InvalidMessage) as err:
print(f'{err.__class__.__name__}: {err}')
except JSONDecodeError: