Outils pour utilisateurs

Outils du site


netadmin:protocoles:mqtt:mqttv5_user_properties

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
netadmin:protocoles:mqtt:mqttv5_user_properties [2022/12/20 23:51] yoannnetadmin:protocoles:mqtt:mqttv5_user_properties [2022/12/25 16:32] (Version actuelle) yoann
Ligne 25: Ligne 25:
 ===== User properties à publier ===== ===== User properties à publier =====
  
- +Le client du module Python Paho depuis sa version 1.5.1 supporte MQTTv5 
 + 
 +==== Client Python Paho ==== 
 + 
 +Pour utiliser le protocole MQTTv5, il faut bien spécifier la version du protocole à utiliser lors de l'instanciation du client: 
 + 
 +<code python> 
 +from paho.mqtt.client import Client as MqttClient                                                                                                             
 +from paho.mqtt.client import MQTTv5 as MQTTv5 
 + 
 +aClient = MqttClient("mqtt5_client", protocol=MQTTv5)  
 +</code> 
 + 
 +<code python> 
 +from paho.mqtt.properties import Properties 
 +from paho.mqtt.packettypes import PacketTypes  
 + 
 +properties=Properties(PacketTypes.CONNECT) 
 +properties.MaximumPacketSize=20 
 + 
 +aClient.connect(host,port,properties=properties) 
 +</code> 
 + 
 +<code python> 
 +from paho.mqtt.properties import Properties                               
 +from paho.mqtt.packettypes import PacketTypes                             
 + 
 +aProp = Properties(PacketTypes.PUBLISH) 
 + 
 +from datetime import datetime 
 + 
 +aDateString = "25/12/2022 09:00:00"                                        
 +aDateTime = datetime.strptime(aDateString, '%d/%m/%Y %H:%M:%S'           
 +ts = int(aDateTime.timestamp())  
 + 
 +aProp.UserProperty = [("timestamp", str(ts))]   
 + 
 +# vérifier les user properties sont des paires clés/valeurs de type chaines UTF-8                           
 +aProp.json()                                                              
 +{'UserProperty': [('timestamp', '1671955200')]} 
 + 
 + 
 +aClient.connect("192.168.1.94", port=1883) 
 +aClient.publish(topic="synop/7630",payload='{"t":12.3,"u":72}',qos=1,properties=aProp) 
 + 
 +</code>
 ===== Références ===== ===== Références =====
  
   * http://www.steves-internet-guide.com/examining-mqttv5-user-properties/   * http://www.steves-internet-guide.com/examining-mqttv5-user-properties/
 +  * http://www.steves-internet-guide.com/mqttv5-properties/
 +  * http://www.steves-internet-guide.com/python-mqtt-client-changes/
   * https://stackoverflow.com/questions/39523837/mqtt-message-timestamp   * https://stackoverflow.com/questions/39523837/mqtt-message-timestamp
netadmin/protocoles/mqtt/mqttv5_user_properties.1671580315.txt.gz · Dernière modification : 2022/12/20 23:51 de yoann