MQTT esp_wifi
This commit is contained in:
+19
-3
@@ -104,9 +104,17 @@ class BrokerClient:
|
||||
return self._client
|
||||
|
||||
if IS_MICROPYTHON:
|
||||
import ssl
|
||||
ssl_params = self.ssl_params
|
||||
if self.use_tls and ssl_params is None and self.cafile is not None:
|
||||
ssl_params = {"cadata": _read_file_bytes(self.cafile)}
|
||||
|
||||
if self.use_tls and ssl_params is None:
|
||||
# MicroPython uses context-less structures.
|
||||
# If your CA is self-signed, validation can fail without a valid hostname match.
|
||||
ssl_params = {
|
||||
"cert_reqs": ssl.CERT_NONE, # Temporarily change to NONE to test if validation is the culprit
|
||||
"cadata": _read_file_bytes(self.cafile)
|
||||
}
|
||||
|
||||
client = _MQTTClient(
|
||||
self.client_id or "smartWave-client",
|
||||
self.host,
|
||||
@@ -114,7 +122,7 @@ class BrokerClient:
|
||||
user=self.username,
|
||||
password=self.password,
|
||||
keepalive=self.keepalive,
|
||||
ssl=self.use_tls or ssl_params is not None,
|
||||
ssl=self.use_tls,
|
||||
ssl_params=ssl_params,
|
||||
)
|
||||
self._client = client
|
||||
@@ -155,6 +163,10 @@ class BrokerClient:
|
||||
payload_bytes = _ensure_bytes(payload)
|
||||
if IS_MICROPYTHON:
|
||||
return client.publish(topic, payload_bytes, retain=retain, qos=qos)
|
||||
|
||||
if isinstance(topic, bytes):
|
||||
topic = topic.decode('utf-8')
|
||||
|
||||
return client.publish(topic, payload_bytes, qos=qos, retain=retain)
|
||||
|
||||
def subscribe(self, topic, qos=2):
|
||||
@@ -162,6 +174,10 @@ class BrokerClient:
|
||||
if IS_MICROPYTHON:
|
||||
client.set_callback(self._on_micropython_message)
|
||||
return client.subscribe(topic, qos=qos)
|
||||
|
||||
if isinstance(topic, bytes):
|
||||
topic = topic.decode('utf-8')
|
||||
|
||||
return client.subscribe(topic, qos=qos)
|
||||
|
||||
def _on_micropython_message(self, topic, payload):
|
||||
|
||||
Reference in New Issue
Block a user