diff --git a/backend_control/main.py b/backend_control/main.py index deceb63..ac7ee90 100644 --- a/backend_control/main.py +++ b/backend_control/main.py @@ -7,7 +7,10 @@ MQTT_BROKER = "192.168.31.225" # Адрес MQTT брокера MQTT_PORT = 1883 # Порт MQTT MQTT_USER = "test" # Имя пользователя MQTT_PASSWORD = "1234" # Пароль -MQTT_TOPIC = "motor/control" # Топик для управления двигателем +MQTT_CONTROL_TOPIC = "motor/control/command" # Топик для управления двигателем +MQTT_DRIVER_TOPIC = "motor/control/driver" # Топик для управления драйвером +MQTT_SPEED_TOPIC = "motor/control/step_per_sec" # Топик для установки скорости шагов в секунду +MQTT_RPM_TOPIC = "motor/control/rpm" # Топик для установки скорости оборотов в минуту def on_connect(client, userdata, flags, rc): if rc == 0: @@ -15,10 +18,10 @@ def on_connect(client, userdata, flags, rc): else: print(f"Failed to connect, return code {rc}") -def send_command(command): +def send_command(topic, command): """Отправка команды в MQTT топик""" - client.publish(MQTT_TOPIC, command) - print(f"Sent command: {command}") + client.publish(topic, command) + print(f"Sent command: {command} to topic {topic}") def main(): # Создание клиента MQTT @@ -42,7 +45,8 @@ def main(): print(" stop - остановить двигатель") print(" turnon - включить управление двигателем") print(" turnoff - выключить управление двигателем") - print(" speed - установить скорость (например: speed 2000)") + print(" rpm - установить скорость оборотов (например: rpm 200)") + print(" speed - установить скорость шагов в секунду (например: speed 2000)") print(" exit - выход") while True: @@ -51,17 +55,23 @@ def main(): if command == "exit": break elif command == "start": - send_command("start") + send_command(MQTT_CONTROL_TOPIC, "start") elif command == "stop": - send_command("stop") + send_command(MQTT_CONTROL_TOPIC, "stop") elif command == "turnon": - send_command("turnon") + send_command(MQTT_DRIVER_TOPIC, "turnon") elif command == "turnoff": - send_command("turnoff") + send_command(MQTT_DRIVER_TOPIC, "turnoff") elif command.startswith("speed "): try: speed = int(command.split()[1]) - send_command(f"speed:{speed}") + send_command(MQTT_SPEED_TOPIC, str(speed)) + except ValueError: + print("Invalid speed value. Please enter a number.") + elif command.startswith("rpm "): + try: + rpm = int(command.split()[1]) + send_command(MQTT_RPM_TOPIC, str(rpm)) except ValueError: print("Invalid speed value. Please enter a number.") else: