programowanie:python:mqtt

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Poprzednia rewizja po obu stronach Poprzednia wersja
Nowa wersja
Poprzednia wersja
programowanie:python:mqtt [2024/08/29 08:36] sasesprogramowanie:python:mqtt [2024/10/18 15:58] (aktualna) – [Publikacja] sases
Linia 3: Linia 3:
  
 Instalacja biblioteki: ''pip install paho-mqtt''\\ Instalacja biblioteki: ''pip install paho-mqtt''\\
 +\\
 \\ \\
  
-=== Połączenie ===+===== Połączenie =====
 <code python> <code python>
 import random import random
 +import logging
 from paho.mqtt import client as mqtt_client from paho.mqtt import client as mqtt_client
 +
 +logging.basicConfig(level=logging.INFO)
  
 broker = '127.0.0.1' broker = '127.0.0.1'
Linia 20: Linia 24:
     def on_connect(client, userdata, flags, rc):     def on_connect(client, userdata, flags, rc):
         if rc == 0:         if rc == 0:
-            print("Connected to MQTT Broker!")+            logging.info("Connected to MQTT Broker!")
         else:         else:
-            print("Failed to connect, return code %d\n", rc)+            logging.error(f"Failed to connect, return code {rc}") 
 +            # Attempt to reconnect 
 +            client.reconnect()
  
     client = mqtt_client.Client(client_id)     client = mqtt_client.Client(client_id)
Linia 30: Linia 36:
     return client     return client
 </code> </code>
 +\\
 \\ \\
  
-=== Subskrypcja ===+===== Subskrypcja =====
 <code python> <code python>
-def subscribe(client: mqtt_client):+def subscribe(client: mqtt_client, topics):
     def on_message(client, userdata, msg):     def on_message(client, userdata, msg):
-        print(f"Received `{msg.payload.decode()}` from `{msg.topic}` topic")+        logging.info(f"Received `{msg.payload.decode()}` from `{msg.topic}` topic")
  
-    client.subscribe('topic/topic')+    for topic in topics: 
 +        client.subscribe(topic)
     client.on_message = on_message     client.on_message = on_message
 </code> </code>
 +\\
 \\ \\
  
-=== Publikacja ===+===== Publikacja =====
 <code python>  <code python> 
 msg = f"message" msg = f"message"
Linia 50: Linia 59:
 status = result[0] status = result[0]
 if status == 0: if status == 0:
-   print(f"Send `{msg}` to topic `{topic}`")+   logging.info(f"Send `{msg}` to topic `{topic}`")
 else: else:
-   print(f"Failed to send message to topic {topic}")+   logging.error(f"Failed to send message to topic {topic}")
 </code> </code>
 \\ \\
 +\\
 +
 +===== Pętla obsługująca MQTT =====
  
-=== Pętla obsługująca MQTT === +== Przykład 1: ==
-Przykład 1:+
 <code python> <code python>
 client.loop_start() client.loop_start()
Linia 67: Linia 78:
 </code> </code>
  
-Przykład 2:+== Przykład 2: ==
 <code python> <code python>
 while True: while True:
  • programowanie/python/mqtt.1724913369.txt.gz
  • ostatnio zmienione: 2024/08/29 08:36
  • przez sases