#python d:\Антоше\Универ\Гит\Software_and_hardware\Сервер.py #python d:\Антоше\Универ\Гит\Software_and_hardware\Проверка_портов.py from flask import Flask, jsonify from pymodbus.client.serial import ModbusSerialClient import serial.tools.list_ports # Определяем порт Arduino (ищем доступные порты) def find_arduino_port(): ports = serial.tools.list_ports.comports() for port in ports: if "Arduino" in port.description or "CH340" in port.description: return port.device return None # Настройки Modbus PORT = find_arduino_port() or "COM3" # Если не нашли, используем COM3 BAUDRATE = 115200 TIMEOUT = 1 # Подключение к Modbus client = ModbusSerialClient(port=PORT, baudrate=BAUDRATE, timeout=TIMEOUT, stopbits=1, bytesize=8, parity='N') client.unit = 1 app = Flask(__name__) @app.route("/modbus-status", methods=["GET"]) def get_modbus_status(): if client.connect(): print(f"Подключение успешно к {port}") # Чтение катушек (биты, например, с адреса 0) result = client.read_coils(0, 1) # Чтение одного бита (катушки) с адреса 0 if result.isError(): print("Ошибка при чтении катушек") else: print(f"Значение катушки: {result.bits}") client.close() else: print("Не удалось подключиться к порту.") if __name__ == "__main__": print(f"Сервер запущен на порту {PORT}") app.run(host="0.0.0.0", port=5000, debug=True)