Set up forwarding
This commit is contained in:
17
rpi/main.py
17
rpi/main.py
@@ -1,19 +1,14 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
import os
|
import os
|
||||||
|
|
||||||
import cv2
|
|
||||||
import requests
|
|
||||||
from dotenv import load_dotenv
|
from dotenv import load_dotenv
|
||||||
from flask import Flask, jsonify, request
|
from flask import Flask
|
||||||
|
|
||||||
from controllers.GameController import GameController
|
from controllers.GameController import GameController
|
||||||
from hardware.light.lora_light_sensor_reader import LoraLightSensorReader
|
from hardware.light.lora_light_sensor_reader import LoraLightSensorReader
|
||||||
from hardware.rfid.reader import RfidReader
|
from hardware.rfid.reader import RfidReader
|
||||||
from hardware.sound.sound import SoundReader
|
from hardware.sound.sound import SoundReader
|
||||||
from services.clock_service import ClockService
|
|
||||||
from services.detection_service import DetectionService
|
|
||||||
from services.forwarder_service import ForwarderService
|
from services.forwarder_service import ForwarderService
|
||||||
from services.game_service import GameService
|
|
||||||
from services.mqtt_service import MQTTService
|
from services.mqtt_service import MQTTService
|
||||||
|
|
||||||
load_dotenv()
|
load_dotenv()
|
||||||
@@ -59,14 +54,14 @@ if __name__ == "__main__":
|
|||||||
forwarder_service = ForwarderService(local_broker, api_broker)
|
forwarder_service = ForwarderService(local_broker, api_broker)
|
||||||
game_controller = GameController(app)
|
game_controller = GameController(app)
|
||||||
|
|
||||||
forwarder_service.register_forwarder(client_id, "/system/sensor/rfid", f"/customer/telemetry/rfid")
|
forwarder_service.register_forwarder(client_id, "/system/sensor/rfid", f"/customer/telemetry/rfid", 2)
|
||||||
forwarder_service.register_forwarder(client_id, "/system/sensor/light", f"/customer/telemetry/light")
|
forwarder_service.register_forwarder(client_id, "/system/sensor/light", f"/customer/telemetry/light", 1)
|
||||||
forwarder_service.register_forwarder(client_id, "/system/sensor/sound", f"/customer/telemetry/sound")
|
forwarder_service.register_forwarder(client_id, "/system/sensor/sound", f"/customer/telemetry/sound", 1)
|
||||||
forwarder_service.register_forwarder(client_id, "/system/sensor/gps", f"/customer/telemetry/gps")
|
forwarder_service.register_forwarder(client_id, "/system/sensor/gps", f"/customer/telemetry/gps", 2)
|
||||||
|
|
||||||
rfid_reader.subscribe(lambda uid: local_broker.publish("/system/sensor/rfid", str(uid), 2))
|
rfid_reader.subscribe(lambda uid: local_broker.publish("/system/sensor/rfid", str(uid), 2))
|
||||||
light_sensor_reader.subscribe(lambda light_value: local_broker.publish("/system/sensor/light", str(light_value), 1))
|
light_sensor_reader.subscribe(lambda light_value: local_broker.publish("/system/sensor/light", str(light_value), 1))
|
||||||
sound_reader.subscribe(lambda light_value: local_broker.publish("/system/sensor/sound", str(light_value), 1))
|
sound_reader.subscribe(lambda sound_value: local_broker.publish("/system/sensor/sound", str(sound_value), 1))
|
||||||
|
|
||||||
forwarder_service.start_all()
|
forwarder_service.start_all()
|
||||||
|
|
||||||
|
|||||||
@@ -17,11 +17,12 @@ class ForwarderService:
|
|||||||
self.dst_broker_service = dst_broker
|
self.dst_broker_service = dst_broker
|
||||||
self.forwards = {}
|
self.forwards = {}
|
||||||
|
|
||||||
def register_forwarder(self, client_id: str, src_topic: str, dst_topic: str) -> None:
|
def register_forwarder(self, client_id: str, src_topic: str, dst_topic: str, qos : int) -> None:
|
||||||
forwarder = MQTTForwarder(
|
forwarder = MQTTForwarder(
|
||||||
client_id,
|
client_id,
|
||||||
self.src_broker_service,
|
self.src_broker_service,
|
||||||
self.dst_broker_service
|
self.dst_broker_service,
|
||||||
|
qos
|
||||||
)
|
)
|
||||||
self.forwards[forwarder] = (src_topic, dst_topic)
|
self.forwards[forwarder] = (src_topic, dst_topic)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user