52 lines
1.8 KiB
Python
52 lines
1.8 KiB
Python
import logging
|
|
from app.adapters.agent_mqtt_adapter import AgentMQTTAdapter
|
|
from app.adapters.hub_http_adapter import HubHttpAdapter
|
|
from app.adapters.hub_mqtt_adapter import HubMqttAdapter
|
|
from config import (
|
|
MQTT_BROKER_HOST,
|
|
MQTT_BROKER_PORT,
|
|
MQTT_TOPIC,
|
|
HUB_URL,
|
|
HUB_MQTT_BROKER_HOST,
|
|
HUB_MQTT_BROKER_PORT,
|
|
HUB_MQTT_TOPIC,
|
|
)
|
|
|
|
if __name__ == "__main__":
|
|
# Configure logging settings
|
|
logging.basicConfig(
|
|
level=logging.INFO, # Set the log level to INFO (you can use logging.DEBUG for more detailed logs)
|
|
format="[%(asctime)s] [%(levelname)s] [%(module)s] %(message)s",
|
|
handlers=[
|
|
logging.StreamHandler(), # Output log messages to the console
|
|
logging.FileHandler("app.log"), # Save log messages to a file
|
|
],
|
|
)
|
|
# Create an instance of the StoreApiAdapter using the configuration
|
|
hub_adapter = HubHttpAdapter(
|
|
api_base_url=HUB_URL,
|
|
)
|
|
# hub_adapter = HubMqttAdapter(
|
|
# broker=HUB_MQTT_BROKER_HOST,
|
|
# port=HUB_MQTT_BROKER_PORT,
|
|
# topic=HUB_MQTT_TOPIC,
|
|
# )
|
|
# Create an instance of the AgentMQTTAdapter using the configuration
|
|
agent_adapter = AgentMQTTAdapter(
|
|
broker_host=MQTT_BROKER_HOST,
|
|
broker_port=MQTT_BROKER_PORT,
|
|
topic=MQTT_TOPIC,
|
|
hub_gateway=hub_adapter,
|
|
)
|
|
try:
|
|
# Connect to the MQTT broker and start listening for messages
|
|
agent_adapter.connect()
|
|
agent_adapter.start()
|
|
# Keep the system running indefinitely (you can add other logic as needed)
|
|
while True:
|
|
pass
|
|
except KeyboardInterrupt:
|
|
# Stop the MQTT adapter and exit gracefully if interrupted by the user
|
|
agent_adapter.stop()
|
|
logging.info("System stopped.")
|