in sample_app/lorawan_aio/lorawan-broker/src/listen.py [0:0]
def main():
# Set up MQTT client
client = create_mqtt_client()
client.connect(broker, publishing_port)
# Set up UDP server
with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as s:
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind((HOST, PORT))
print(f"Waiting for UDP packets on port {PORT}")
while True:
try:
data, addr = s.recvfrom(1024)
print(f"Received packet from {addr}")
# Publish to original topic
client.publish(topic, data)
# Format and publish JSON data
json_payload = format_json_payload(data)
if json_payload:
client.publish(json_topic, json_payload)
print(f"Published JSON payload: {json_payload}")
except Exception as e:
print(f"Error: {e}")