31 lines
914 B
Python
31 lines
914 B
Python
import logging
|
|
import sys
|
|
import os
|
|
|
|
from adapters.postgres import connect, PgDeviceRepository, PgReadingRepository
|
|
from adapters.mqtt import PahoMqttBroker
|
|
from services.uplink_service import UplinkService
|
|
|
|
MQTT_HOST = os.getenv("MQTT_HOST", "mosquitto")
|
|
MQTT_PORT = int(os.getenv("MQTT_PORT", 1883))
|
|
MQTT_TOPIC = os.getenv("MQTT_TOPIC", "application/+/device/+/event/up")
|
|
DB_URI = os.getenv("DATABASE_URL", "postgresql://simugaz:simugaz@db/simugaz")
|
|
|
|
logging.basicConfig(
|
|
level=logging.INFO,
|
|
format="%(asctime)s [%(levelname)s] %(message)s",
|
|
datefmt="%Y-%m-%dT%H:%M:%S",
|
|
stream=sys.stdout,
|
|
force=True,
|
|
)
|
|
|
|
if __name__ == "__main__":
|
|
conn = connect(DB_URI)
|
|
broker = PahoMqttBroker(MQTT_HOST, MQTT_PORT, MQTT_TOPIC)
|
|
|
|
devices = PgDeviceRepository(conn)
|
|
readings = PgReadingRepository(conn)
|
|
|
|
uplink = UplinkService(devices, readings)
|
|
|
|
broker.start(on_uplink=uplink.handle)
|