From 12c5b9e1b792921dc63564b056f37aee290d5482 Mon Sep 17 00:00:00 2001 From: Mathieu Maret Date: Thu, 15 Sep 2016 22:43:00 +0200 Subject: [PATCH] Enable MQTTS using port 8883 --- WifiControlSensor/MQTT.ino | 9 ++++++--- WifiControlSensor/WebServer.ino | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/WifiControlSensor/MQTT.ino b/WifiControlSensor/MQTT.ino index 2191aff..6f6d6e7 100644 --- a/WifiControlSensor/MQTT.ino +++ b/WifiControlSensor/MQTT.ino @@ -1,8 +1,6 @@ #include #include "MQTT.h" -// Create an ESP8266 WiFiClient class to connect to the MQTT server. -WiFiClient client; Adafruit_MQTT_Client *mqtt; Adafruit_MQTT_Publish *mqtt_temp; Adafruit_MQTT_Publish *mqtt_pressure; @@ -37,16 +35,21 @@ char GPIO_SET_FEED[MAXSUBSCRIPTIONS][FEED_MAX_SIZE] = {}; Adafruit_MQTT_Publish * mqttGpio[MAXSUBSCRIPTIONS] = {}; bool isMqttConfigured = false; +bool useMqtts = false; int MqttSetup(char *server, char *user, char *passwd, int port, char * hostname) { mqttId = hostname; + useMqtts = (port == 8883); isMqttConfigured = server[0] != '\0'; if(!isMqttConfigured) return 0; - mqtt = new Adafruit_MQTT_Client(&client, server, port, user, passwd); + if(useMqtts) + mqtt = new Adafruit_MQTT_Client(new WiFiClientSecure(), server, port, user, passwd); + else + mqtt = new Adafruit_MQTT_Client(new WiFiClient(), server, port, user, passwd); mqtt_dht_temp = MqttCreatePublisher(TEMPERATURE_DHT_FEED_FORMAT, user, mqttId); mqtt_dht_humidity = MqttCreatePublisher(HUMIDITY_DHT_FEED_FORMAT, user, mqttId); mqtt_temp = MqttCreatePublisher(TEMPERATURE_FEED_FORMAT, user, mqttId); diff --git a/WifiControlSensor/WebServer.ino b/WifiControlSensor/WebServer.ino index e278922..6134958 100644 --- a/WifiControlSensor/WebServer.ino +++ b/WifiControlSensor/WebServer.ino @@ -109,7 +109,7 @@ void WebHandleSetup() { "

" "

" "

" - "

" + "

(8883 for secure Mqtts)
" "" "
" "");