我们从Python开源项目中,提取了以下8个代码示例,用于说明如何使用paho.mqtt.client.MQTTv31()。
def pass_message(meg): import paho.mqtt.client as mqtt #????????????? def on_connect(client, userdata, flags, rc): #print("Connected with result code "+str(rc)) #??on_connect?????? #?????????????? client.subscribe("topic/sub") #??????????????? def on_message(client, userdata, msg): print("??:"+msg.topic+" ??:"+str(msg.payload)) client = mqtt.Client() #??? #client(clean_session=True,userdata=='1',protocol=mqtt.MQTTv31) client.on_connect = on_connect #???????????? client.on_message = on_message #?????????????? client.connect("10.66.15.222", 1883, 60) #?????,???1883,?????60? client.loop_start() client.publish("movement",meg)
def __init__(self, jsonfile, logfile, sipcallfile): """ Init for the Worker class """ print("{0}------------ INIT FOR DOOR SENSOR CLASS! ----------------{1}" .format(bcolors.HEADER, bcolors.ENDC)) # Global Variables self.jsonfile = jsonfile self.logfile = logfile self.sipcallfile = sipcallfile self.settings = self.ReadSettings() self.mqttclient = mqtt.Client("", True, None, mqtt.MQTTv31) self.limit = 10 self.logtypes = 'all' # Stop execution on exit self.alarmTriggered = False self.kill_now = False # Init Alarm self.writeLog("system", "Alarm Booted") threadTrimLogFile = threading.Thread(target=self.trimLogFile) threadTrimLogFile.daemon = True threadTrimLogFile.start() # Event Listeners self.sensors = Sensor() self.sensors.on_alert(self.sensorAlert) self.sensors.on_alert_stop(self.sensorStopAlert) self.sensors.on_error(self.sensorError) self.sensors.on_error_stop(self.sensorStopError) self.sensors.add_sensors(self.settings) self.mqttclient.on_connect_mqtt = self.on_connect_mqtt self.mqttclient.on_message_mqtt = self.on_message_mqtt # Init MQTT Messages self.startstopMQTT() self.sendStateMQTT()
def __init__(self, sensorName): # Global Required Variables self.sensorName = sensorName self.online = None self.alert = False self._event_alert = [] self._event_alert_stop = [] self._event_error = [] self._event_error_stop = [] # Other Variables self.mqttclient = mqtt.Client("", True, None, mqtt.MQTTv31) self.sensor = None
def single(topic, payload=None, qos=0, retain=False, hostname="localhost", port=1883, client_id="", keepalive=60, will=None, auth=None, tls=None, protocol=mqtt.MQTTv31): """Publish a single message to a broker, then disconnect cleanly. This function creates an MQTT client, connects to a broker and publishes a single message. Once the message has been delivered, it disconnects cleanly from the broker. topic : the only required argument must be the topic string to which the payload will be published. payload : the payload to be published. If "" or None, a zero length payload will be published. qos : the qos to use when publishing, default to 0. retain : set the message to be retained (True) or not (False). hostname : a string containing the address of the broker to connect to. Defaults to localhost. port : the port to connect to the broker on. Defaults to 1883. client_id : the MQTT client id to use. If "" or None, the Paho library will generate a client id automatically. keepalive : the keepalive timeout value for the client. Defaults to 60 seconds. will : a dict containing will parameters for the client: will = {'topic': "<topic>", 'payload':"<payload">, 'qos':<qos>, 'retain':<retain>}. Topic is required, all other parameters are optional and will default to None, 0 and False respectively. Defaults to None, which indicates no will should be used. auth : a dict containing authentication parameters for the client: auth = {'username':"<username>", 'password':"<password>"} Username is required, password is optional and will default to None if not provided. Defaults to None, which indicates no authentication is to be used. tls : a dict containing TLS configuration parameters for the client: dict = {'ca_certs':"<ca_certs>", 'certfile':"<certfile>", 'keyfile':"<keyfile>", 'tls_version':"<tls_version>", 'ciphers':"<ciphers">} ca_certs is required, all other parameters are optional and will default to None if not provided, which results in the client using the default behaviour - see the paho.mqtt.client documentation. Defaults to None, which indicates that TLS should not be used. """ msg = {'topic':topic, 'payload':payload, 'qos':qos, 'retain':retain} multiple([msg], hostname, port, client_id, keepalive, will, auth, tls, protocol)
def single(topic, payload=None, qos=0, retain=False, hostname="localhost", port=1883, client_id="", keepalive=60, will=None, auth=None, tls=None, protocol=mqtt.MQTTv31): """Publish a single message to a broker, then disconnect cleanly. This function creates an MQTT client, connects to a broker and publishes a single message. Once the message has been delivered, it disconnects cleanly from the broker. topic : the only required argument must be the topic string to which the payload will be published. payload : the payload to be published. If "" or None, a zero length payload will be published. qos : the qos to use when publishing, default to 0. retain : set the message to be retained (True) or not (False). hostname : a string containing the address of the broker to connect to. Defaults to localhost. port : the port to connect to the broker on. Defaults to 1883. client_id : the MQTT client id to use. If "" or None, the Paho library will generate a client id automatically. keepalive : the keepalive timeout value for the client. Defaults to 60 seconds. will : a dict containing will parameters for the client: will = {'topic': "<topic>", 'payload':"<payload">, 'qos':<qos>, 'retain':<retain>}. Topic is required, all other parameters are optional and will default to None, 0 and False respectively. Defaults to None, which indicates no will should be used. auth : a dict containing authentication parameters for the client: auth = {'username':"<username>", 'password':"<password>"} Username is required, password is optional and will default to None if not provided. Defaults to None, which indicates no authentication is to be used. tls : a dict containing TLS configuration parameters for the client: dict = {'ca_certs':"<ca_certs>", 'certfile':"<certfile>", 'keyfile':"<keyfile>", 'tls_version':"<tls_version>", 'ciphers':"<ciphers">} ca_certs is required, all other parameters are optional and will default to None if not provided, which results in the client using the default behaviour - see the paho.mqtt.client documentation. Defaults to None, which indicates that TLS should not be used. """ msg = {'topic':topic, 'payload':payload, 'qos':qos, 'retain':retain} multiple([msg], hostname, port, client_id, keepalive, will, auth, tls)
def __init__(self, hass, broker, port, client_id, keepalive, username, password, certificate, client_key, client_cert, tls_insecure, protocol, will_message, birth_message): """Initialize Home Assistant MQTT client.""" import paho.mqtt.client as mqtt self.hass = hass self.topics = {} self.progress = {} self.birth_message = birth_message if protocol == PROTOCOL_31: proto = mqtt.MQTTv31 else: proto = mqtt.MQTTv311 if client_id is None: self._mqttc = mqtt.Client(protocol=proto) else: self._mqttc = mqtt.Client(client_id, protocol=proto) if username is not None: self._mqttc.username_pw_set(username, password) if certificate is not None: self._mqttc.tls_set(certificate, certfile=client_cert, keyfile=client_key) if tls_insecure is not None: self._mqttc.tls_insecure_set(tls_insecure) self._mqttc.on_subscribe = self._mqtt_on_subscribe self._mqttc.on_unsubscribe = self._mqtt_on_unsubscribe self._mqttc.on_connect = self._mqtt_on_connect self._mqttc.on_disconnect = self._mqtt_on_disconnect self._mqttc.on_message = self._mqtt_on_message if will_message: self._mqttc.will_set(will_message.get(ATTR_TOPIC), will_message.get(ATTR_PAYLOAD), will_message.get(ATTR_QOS), will_message.get(ATTR_RETAIN)) self._mqttc.connect(broker, port, keepalive)