#python d:\Антоше\Универ\Гит\Software_and_hardware\Версия_3.0\Server.py import serial import serial.tools.list_ports import minimalmodbus import time from flask import Flask, jsonify, render_template app = Flask(__name__) def find_arduino_port(): ports = list(serial.tools.list_ports.comports()) for port in ports: if "Arduino" in port.description or "CH340" in port.description: return port.device return None # Настройки порта port = find_arduino_port() # Укажите порт, к которому подключен Arduino slave_id = 1 # ID устройства (адрес Arduino) baudrate = 9600 timeout = 1 # Время ожидания в секундах @app.route('/') def index(): return render_template('index.html') # Отдача HTML файла # Настроим модбас клиента client = minimalmodbus.Instrument(port, slave_id) # Создаем объект клиента Modbus client.serial.baudrate = baudrate # Устанавливаем скорость client.serial.timeout = timeout # Время ожидания ответа client.mode = minimalmodbus.MODE_RTU # Используем RTU @app.route('/status', methods=['GET']) def get_status(): try: # Чтение 4 регистров с адреса 0 result = client.read_registers(0, 1, functioncode=3) pin_state = result[0] # Состояние пина return jsonify({ 'port': port, 'pinState': pin_state }) except minimalmodbus.NoResponseError: return jsonify({'error': 'Нет ответа от устройства'}) except Exception as e: return jsonify({'error': str(e)}) if __name__ == '__main__': app.run(host='0.0.0.0', port=5000)