From 27c224e79218a1444a84224dbc6dc945b4b3e287 Mon Sep 17 00:00:00 2001 From: Evan Feenstra Date: Tue, 2 May 2023 22:16:02 +0100 Subject: [PATCH 1/2] connect to mqtts broker --- sphinx-key/src/conn/mqtt.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sphinx-key/src/conn/mqtt.rs b/sphinx-key/src/conn/mqtt.rs index 4268f15..ac3181d 100644 --- a/sphinx-key/src/conn/mqtt.rs +++ b/sphinx-key/src/conn/mqtt.rs @@ -30,7 +30,7 @@ pub fn make_client( username: Some(username), password: Some(password), // FIXME - mqtts - // crt_bundle_attach: Some(esp_idf_sys::esp_crt_bundle_attach), + crt_bundle_attach: Some(esp_idf_sys::esp_crt_bundle_attach), ..Default::default() }; From 0314e2512154bab3341175f631728fd5c2842d83 Mon Sep 17 00:00:00 2001 From: Evan Feenstra Date: Wed, 3 May 2023 21:01:55 +0100 Subject: [PATCH 2/2] choose mqtt or mqtts auto based on broker addr --- sphinx-key/src/conn/mqtt.rs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/sphinx-key/src/conn/mqtt.rs b/sphinx-key/src/conn/mqtt.rs index ac3181d..c0a3855 100644 --- a/sphinx-key/src/conn/mqtt.rs +++ b/sphinx-key/src/conn/mqtt.rs @@ -34,8 +34,17 @@ pub fn make_client( ..Default::default() }; - let b = format!("mqtt://{}", broker); - let (client, mut connection) = EspMqttClient::new_with_conn(b, &conf)?; + let mut mqtturl = broker.to_string(); + if !(mqtturl.starts_with("mqtt://") || mqtturl.starts_with("mqtts://")) { + let scheme = if mqtturl.contains("8883") { + "mqtts" + } else { + "mqtt" + }; + mqtturl = format!("{}://{}", scheme, mqtturl); + } + info!("=> connect to MQTT at {}", mqtturl); + let (client, mut connection) = EspMqttClient::new_with_conn(&mqtturl, &conf)?; // let cc = EspMqttClient::new_with_conn(b, &conf)?; info!("MQTT client started");