Ik probeer een ESP32-S3+micropython te laten verbinden met een versleutelde verbinding. Tot nu toe helaas zonder resultaat: Een verbinding komt nooit tot stand. Ik heb o.a. deze howto geprobeerd maar ergens gaat het nog steeds mis (OSError: -202)
Ik probeer in principe te verbinden met mijn eigen broker, maar om uit te sluiten dat het daar fout gaat verbind ik met test.mosquitto.org op poort 8884. Ik heb een server certificate, private certificate en een private key. Als ik de laatste twee toevoeg in een 'normale' client (MQTT Explorer) dan werkt dit zonder problemen.
Hier de relevante snippets:
clientcert.crt en privatekey.key staan op de aangegeven plaats. De rest van de code is het uitlezen van een temperatuur sensor, verbinden met wifi en wat variabelen (mqtt_ enzovoorts). Zonder SSL werkt MQTT verder prima (met en zonder user/password login). Ik heb het vermoeden dat het fout gaat in ssl_params maar ik kom er niet uit waar dat in zit. Iemand een idee?
Ik probeer in principe te verbinden met mijn eigen broker, maar om uit te sluiten dat het daar fout gaat verbind ik met test.mosquitto.org op poort 8884. Ik heb een server certificate, private certificate en een private key. Als ik de laatste twee toevoeg in een 'normale' client (MQTT Explorer) dan werkt dit zonder problemen.
Hier de relevante snippets:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| from mqtt.robust import MQTTClient def read_text_file(fname): print('Reading file', fname) with open(fname) as f: output = f.read() return output ssl_params = {"cert":read_text_file("/clientcert.crt"), "key":read_text_file("/privatekey.key")} mqttclient = MQTTClient(server=mqtt_server, port=mqtt_port, client_id=client_id, ssl=True, ssl_params=ssl_params, keepalive=20) mqttclient.connect() |
clientcert.crt en privatekey.key staan op de aangegeven plaats. De rest van de code is het uitlezen van een temperatuur sensor, verbinden met wifi en wat variabelen (mqtt_ enzovoorts). Zonder SSL werkt MQTT verder prima (met en zonder user/password login). Ik heb het vermoeden dat het fout gaat in ssl_params maar ik kom er niet uit waar dat in zit. Iemand een idee?
Ik heb een betaalde 2025 WinRAR licentie (geen leugen)