import os from dotenv import load_dotenv from flask import Flask from src.controllers.AuthController import AuthController from src.controllers.ClientController import ClientController from src.controllers.message_controller import MessageController from src.controllers.mqtt_forwarder import MQTTForwarder from src.models.AuthData import AuthData from src.services.mqtt_service import MQTTService client_id = "3b12678d-8d6f-444b-b1a7-671a2c92eabf" load_dotenv() app = Flask(__name__) local_broker_address = os.environ.get("LOCAL_BROKER_ADDRESS", "127.0.0.1") local_broker_port = int(os.environ.get("LOCAL_BROKER_PORT", 1883)) api_broker_address = os.environ.get("API_BROKER_ADDRESS", "127.0.0.1") api_broker_port = int(os.environ.get("API_BROKER_PORT", 1883)) local_broker = MQTTService( local_broker_address, local_broker_port, client_id="customer-api", username="main", password="hepl", ) api_broker = MQTTService( api_broker_address, api_broker_port, client_id="customer-api", username="customer", password="hepl", ) auth_data = AuthData() auth_controller = AuthController(app, auth_data, "https://192.168.15.120:8000") client_controller = ClientController(app, auth_data, "https://192.168.15.120:8000") message_controller = MessageController(app, auth_data, "https://192.168.15.120:8000") if __name__ == '__main__': forwarder = MQTTForwarder(client_id, local_broker, api_broker) forwarder.start(f"/customer/telemetry/#", f"/board-mate/{client_id}/telemetry") app.run(host="0.0.0.0", port=5000, debug=True)