This commit is contained in:
2026-07-13 15:46:44 +02:00
commit 1df9d878ca
1729 changed files with 326867 additions and 0 deletions
+48
View File
@@ -0,0 +1,48 @@
"""Small CPython MQTT example.
Publish a QoS 2 message and then subscribe to the same topic.
Set MQTT_BROKER_HOST to the broker IP address, not localhost.
"""
import os
import time
from pathlib import Path
from shared.mqtt import BrokerClient
BROKER_HOST = os.getenv("MQTT_BROKER_HOST", "localhost")
TOPIC = "smartwave/demo"
USE_TLS = os.getenv("MQTT_CLIENT_TLS", "true").lower() in {"1", "true", "yes", "on"}
CA_FILE = os.getenv(
"MQTT_CA_FILE",
str(Path(__file__).resolve().parents[2] / "orchestrateur" / "mqtt" / "certs" / "ca.crt"),
)
def main():
client = BrokerClient(
host=BROKER_HOST,
client_id="smartwave-cpython-demo",
use_tls=USE_TLS,
cafile=CA_FILE,
keepalive=30,
)
client.connect()
client.subscribe(TOPIC, qos=2)
client.publish(TOPIC, "hello from CPython", qos=2, retain=False)
deadline = time.time() + 3
while time.time() < deadline:
client.poll(0.1)
message = client.get_message()
if message is not None:
print("received:", message)
break
client.close()
if __name__ == "__main__":
main()