import os from dotenv import load_dotenv from controllers.mqtt_forwarder import MQTTForwarder from services.mqtt_service import MQTTService load_dotenv() client_id = "pi-1" local_broker_address = os.environ.get("LOCAL_BROKER_ADDRESS", "127.0.0.1") local_broker_port = int(os.environ.get("LOCAL_BROKER_PORT", 1883)) local_username = os.environ.get("LOCAL_USERNAME") local_password = os.environ.get("LOCAL_PASSWORD") api_broker_address = os.environ.get("API_BROKER_ADDRESS", "127.0.0.1") api_broker_port = int(os.environ.get("API_BROKER_PORT", 1883)) api_username = os.environ.get("API_USERNAME") api_password = os.environ.get("API_PASSWORD") local_broker = MQTTService( local_broker_address, local_broker_port, client_id="system", username=local_username, password=local_password, ) api_broker = MQTTService( api_broker_address, api_broker_port, client_id=client_id, username=api_username, password=api_password, ) def start(): forwarder = MQTTForwarder(client_id, local_broker, api_broker) forwarder.start(f"/system/sensor/rfid", f"/customer/telemetry/rfid") forwarder = MQTTForwarder(client_id, local_broker, api_broker) forwarder.start(f"/system/sensor/light", f"/customer/telemetry/light") forwarder = MQTTForwarder(client_id, local_broker, api_broker) forwarder.start(f"/system/sensor/gps", f"/customer/telemetry/gps") def stop(): local_broker.disconnect() api_broker.disconnect()