From 04ee11ee531cce839a9a5a58b00a58d6979f5e7d Mon Sep 17 00:00:00 2001
From: dongheng <Dong Heng>
Date: Mon, 18 Mar 2019 14:43:28 +0800
Subject: [PATCH 1/2] feat(mqtt): Add esp-mqtt

Commit ID: 13018449

Add global "mqtt" to manage both "ESP-MQTT" and "IBM-MQTT". Using select the target MQTT to using like selecting SSL.
---
 components/mqtt/CMakeLists.txt                |  12 +
 components/mqtt/Kconfig                       | 127 ++-
 components/mqtt/Makefile.projbuild            |   2 +
 components/mqtt/component.mk                  |  26 +-
 components/mqtt/esp-mqtt/.editorconfig        |  34 +
 components/mqtt/esp-mqtt/.gitignore           |  36 +
 components/mqtt/esp-mqtt/.travis.yml          |  59 ++
 components/mqtt/esp-mqtt/LICENSE              | 202 ++++
 components/mqtt/esp-mqtt/README.md            |  27 +
 .../examples/emitter-client/CMakeLists.txt    |  19 +
 .../esp-mqtt/examples/emitter-client/Makefile |  13 +
 .../examples/emitter-client/README.md         |  10 +
 .../emitter-client/generate-key-0.png         | Bin 0 -> 239854 bytes
 .../emitter-client/generate-key-1.png         | Bin 0 -> 62056 bytes
 .../emitter-client/main/Kconfig.projbuild     |  22 +
 .../examples/emitter-client/main/app_main.c   | 143 +++
 .../examples/emitter-client/main/component.mk |   0
 .../mqtt/esp-mqtt/include/mqtt_client.h       | 121 +++
 .../mqtt/esp-mqtt/include/mqtt_config.h       |  81 ++
 .../mqtt/esp-mqtt/lib/include/mqtt_msg.h      | 135 +++
 .../mqtt/esp-mqtt/lib/include/mqtt_outbox.h   |  36 +
 .../mqtt/esp-mqtt/lib/include/platform.h      |  14 +
 .../esp-mqtt/lib/include/platform_esp32_idf.h |  35 +
 components/mqtt/esp-mqtt/lib/mqtt_msg.c       | 472 +++++++++
 components/mqtt/esp-mqtt/lib/mqtt_outbox.c    | 170 ++++
 components/mqtt/esp-mqtt/lib/platform_idf.c   |  41 +
 .../mqtt/esp-mqtt/modify_for_legacy_idf.sh    |  27 +
 components/mqtt/esp-mqtt/mqtt_client.c        | 892 ++++++++++++++++++
 .../MQTTClient-C/src/FreeRTOS/MQTTFreeRTOS.c  |   0
 .../MQTTClient-C/src/FreeRTOS/MQTTFreeRTOS.h  |   0
 .../MQTTClient-C/src/MQTTClient.c             |   0
 .../MQTTClient-C/src/MQTTClient.h             |   0
 .../MQTTPacket/src/MQTTConnect.h              |   0
 .../MQTTPacket/src/MQTTConnectClient.c        |   0
 .../MQTTPacket/src/MQTTConnectServer.c        |   0
 .../MQTTPacket/src/MQTTDeserializePublish.c   |   0
 .../MQTTPacket/src/MQTTFormat.c               |   0
 .../MQTTPacket/src/MQTTFormat.h               |   0
 .../MQTTPacket/src/MQTTPacket.c               |   0
 .../MQTTPacket/src/MQTTPacket.h               |   0
 .../MQTTPacket/src/MQTTPublish.h              |   0
 .../MQTTPacket/src/MQTTSerializePublish.c     |   0
 .../MQTTPacket/src/MQTTSubscribe.h            |   0
 .../MQTTPacket/src/MQTTSubscribeClient.c      |   0
 .../MQTTPacket/src/MQTTSubscribeServer.c      |   0
 .../MQTTPacket/src/MQTTUnsubscribe.h          |   0
 .../MQTTPacket/src/MQTTUnsubscribeClient.c    |   0
 .../MQTTPacket/src/MQTTUnsubscribeServer.c    |   0
 .../MQTTPacket/src/StackTrace.h               |   0
 49 files changed, 2745 insertions(+), 11 deletions(-)
 create mode 100644 components/mqtt/esp-mqtt/.editorconfig
 create mode 100644 components/mqtt/esp-mqtt/.gitignore
 create mode 100644 components/mqtt/esp-mqtt/.travis.yml
 create mode 100644 components/mqtt/esp-mqtt/LICENSE
 create mode 100644 components/mqtt/esp-mqtt/README.md
 create mode 100644 components/mqtt/esp-mqtt/examples/emitter-client/CMakeLists.txt
 create mode 100644 components/mqtt/esp-mqtt/examples/emitter-client/Makefile
 create mode 100644 components/mqtt/esp-mqtt/examples/emitter-client/README.md
 create mode 100644 components/mqtt/esp-mqtt/examples/emitter-client/generate-key-0.png
 create mode 100644 components/mqtt/esp-mqtt/examples/emitter-client/generate-key-1.png
 create mode 100644 components/mqtt/esp-mqtt/examples/emitter-client/main/Kconfig.projbuild
 create mode 100755 components/mqtt/esp-mqtt/examples/emitter-client/main/app_main.c
 create mode 100644 components/mqtt/esp-mqtt/examples/emitter-client/main/component.mk
 create mode 100755 components/mqtt/esp-mqtt/include/mqtt_client.h
 create mode 100644 components/mqtt/esp-mqtt/include/mqtt_config.h
 create mode 100644 components/mqtt/esp-mqtt/lib/include/mqtt_msg.h
 create mode 100644 components/mqtt/esp-mqtt/lib/include/mqtt_outbox.h
 create mode 100644 components/mqtt/esp-mqtt/lib/include/platform.h
 create mode 100644 components/mqtt/esp-mqtt/lib/include/platform_esp32_idf.h
 create mode 100644 components/mqtt/esp-mqtt/lib/mqtt_msg.c
 create mode 100644 components/mqtt/esp-mqtt/lib/mqtt_outbox.c
 create mode 100644 components/mqtt/esp-mqtt/lib/platform_idf.c
 create mode 100755 components/mqtt/esp-mqtt/modify_for_legacy_idf.sh
 create mode 100644 components/mqtt/esp-mqtt/mqtt_client.c
 rename components/mqtt/{paho => ibm-mqtt}/MQTTClient-C/src/FreeRTOS/MQTTFreeRTOS.c (100%)
 rename components/mqtt/{paho => ibm-mqtt}/MQTTClient-C/src/FreeRTOS/MQTTFreeRTOS.h (100%)
 rename components/mqtt/{paho => ibm-mqtt}/MQTTClient-C/src/MQTTClient.c (100%)
 rename components/mqtt/{paho => ibm-mqtt}/MQTTClient-C/src/MQTTClient.h (100%)
 rename components/mqtt/{paho => ibm-mqtt}/MQTTPacket/src/MQTTConnect.h (100%)
 rename components/mqtt/{paho => ibm-mqtt}/MQTTPacket/src/MQTTConnectClient.c (100%)
 rename components/mqtt/{paho => ibm-mqtt}/MQTTPacket/src/MQTTConnectServer.c (100%)
 rename components/mqtt/{paho => ibm-mqtt}/MQTTPacket/src/MQTTDeserializePublish.c (100%)
 rename components/mqtt/{paho => ibm-mqtt}/MQTTPacket/src/MQTTFormat.c (100%)
 rename components/mqtt/{paho => ibm-mqtt}/MQTTPacket/src/MQTTFormat.h (100%)
 rename components/mqtt/{paho => ibm-mqtt}/MQTTPacket/src/MQTTPacket.c (100%)
 rename components/mqtt/{paho => ibm-mqtt}/MQTTPacket/src/MQTTPacket.h (100%)
 rename components/mqtt/{paho => ibm-mqtt}/MQTTPacket/src/MQTTPublish.h (100%)
 rename components/mqtt/{paho => ibm-mqtt}/MQTTPacket/src/MQTTSerializePublish.c (100%)
 rename components/mqtt/{paho => ibm-mqtt}/MQTTPacket/src/MQTTSubscribe.h (100%)
 rename components/mqtt/{paho => ibm-mqtt}/MQTTPacket/src/MQTTSubscribeClient.c (100%)
 rename components/mqtt/{paho => ibm-mqtt}/MQTTPacket/src/MQTTSubscribeServer.c (100%)
 rename components/mqtt/{paho => ibm-mqtt}/MQTTPacket/src/MQTTUnsubscribe.h (100%)
 rename components/mqtt/{paho => ibm-mqtt}/MQTTPacket/src/MQTTUnsubscribeClient.c (100%)
 rename components/mqtt/{paho => ibm-mqtt}/MQTTPacket/src/MQTTUnsubscribeServer.c (100%)
 rename components/mqtt/{paho => ibm-mqtt}/MQTTPacket/src/StackTrace.h (100%)

diff --git a/components/mqtt/CMakeLists.txt b/components/mqtt/CMakeLists.txt
index 659b15b1..aac0c123 100644
--- a/components/mqtt/CMakeLists.txt
+++ b/components/mqtt/CMakeLists.txt
@@ -1,3 +1,4 @@
+if(CONFIG_MQTT_USING_IBM)
 set(COMPONENT_ADD_INCLUDEDIRS
     paho/MQTTClient-C/src
     paho/MQTTClient-C/src/FreeRTOS
@@ -9,7 +10,18 @@ set(COMPONENT_SRCDIRS
     paho/MQTTPacket/src)
 
 set(COMPONENT_REQUIRES freertos lwip ssl)
+elif (CONFIG_MQTT_USING_ESP)
+set(COMPONENT_ADD_INCLUDEDIRS esp-mqtt/include)
+set(COMPONENT_PRIV_INCLUDEDIRS "esp-mqtt/lib/include")
+set(COMPONENT_SRCS "esp-mqtt/mqtt_client.c"
+                   "esp-mqtt/lib/mqtt_msg.c"
+                   "esp-mqtt/lib/mqtt_outbox.c"
+                   "esp-mqtt/lib/platform_esp32_idf.c")
+
+set(COMPONENT_REQUIRES lwip http_parser mbedtls tcp_transport)
+endif()
 
 register_component()
 
 target_compile_options(${COMPONENT_NAME} PUBLIC -DMQTT_TASK)
+
diff --git a/components/mqtt/Kconfig b/components/mqtt/Kconfig
index 0b32f64c..b06ad54f 100644
--- a/components/mqtt/Kconfig
+++ b/components/mqtt/Kconfig
@@ -1,4 +1,21 @@
-menu "MQTT(Paho)"
+menu "MQTT"
+
+choice MQTT_LIBRARY_CHOOSE
+    prompt "Choose MQTT library"
+    default MQTT_USING_IBM
+    help
+        Choose the MQTT library which you want to use.
+
+        Currently we support ESP-MQTT and IBM-MQTT(paho).
+
+config MQTT_USING_ESP
+    bool "ESP-MQTT"
+config MQTT_USING_IBM
+    bool "IBM-MQTT(paho)"
+endchoice
+
+menu "IBM-MQTT(paho)"
+    depends on MQTT_USING_IBM
 
 choice MQTT_VERSION
     prompt "MQTT version"
@@ -133,4 +150,110 @@ config MQTT_PING_TIMEOUT
         If the ESP device does not receive any ping response within MQTT_PING_TIMEOUT,
         it will terminate the MQTT connection.
 
-endmenu
\ No newline at end of file
+endmenu  # IBM-MQTT(paho)
+
+menu "ESP-MQTT"
+    depends on MQTT_USING_ESP
+
+config MQTT_PROTOCOL_311
+    bool "Enable MQTT protocol 3.1.1"
+    default y
+    help
+        If not, this library will use MQTT protocol 3.1
+
+config MQTT_TRANSPORT_SSL
+    bool "Enable MQTT over SSL"
+    default y
+    help
+        Enable MQTT transport over SSL with mbedtls
+
+config MQTT_TRANSPORT_WEBSOCKET
+    bool "Enable MQTT over Websocket"
+    default y
+    help
+        Enable MQTT transport over Websocket.
+
+config MQTT_TRANSPORT_WEBSOCKET_SECURE
+    bool "Enable MQTT over Websocket Secure"
+    default y
+    depends on MQTT_TRANSPORT_WEBSOCKET
+    depends on MQTT_TRANSPORT_SSL
+    help
+        Enable MQTT transport over Websocket Secure.
+
+config MQTT_USE_CUSTOM_CONFIG
+    bool "MQTT Using custom configurations"
+    default n
+    help
+        Custom MQTT configurations.
+
+config MQTT_TCP_DEFAULT_PORT
+    int "Default MQTT over TCP port"
+    default 1883
+    depends on MQTT_USE_CUSTOM_CONFIG
+    help
+        Default MQTT over TCP port
+
+config MQTT_SSL_DEFAULT_PORT
+    int "Default MQTT over SSL port"
+    default 8883
+    depends on MQTT_USE_CUSTOM_CONFIG
+    depends on MQTT_TRANSPORT_SSL
+    help
+        Default MQTT over SSL port
+        
+config MQTT_WS_DEFAULT_PORT
+    int "Default MQTT over Websocket port"
+    default 80
+    depends on MQTT_USE_CUSTOM_CONFIG
+    depends on MQTT_TRANSPORT_WEBSOCKET
+    help
+        Default MQTT over Websocket port
+
+config MQTT_WSS_DEFAULT_PORT
+    int "Default MQTT over Websocket Secure port"
+    default 443
+    depends on MQTT_USE_CUSTOM_CONFIG
+    depends on MQTT_TRANSPORT_WEBSOCKET
+    depends on MQTT_TRANSPORT_WEBSOCKET_SECURE
+    help
+        Default MQTT over Websocket Secure port
+
+config MQTT_BUFFER_SIZE
+    int "Default MQTT Buffer Size"
+    default 1024
+    depends on MQTT_USE_CUSTOM_CONFIG
+    help
+        This buffer size using for both transmit and receive
+
+config MQTT_TASK_STACK_SIZE
+    int "MQTT task stack size"
+    default 6144
+    depends on MQTT_USE_CUSTOM_CONFIG
+    help
+        MQTT task stack size
+
+config MQTT_TASK_CORE_SELECTION_ENABLED
+    bool "Enable MQTT task core selection"
+    default false
+    help
+        This will enable core selection
+
+choice MQTT_TASK_CORE_SELECTION
+    depends on MQTT_TASK_CORE_SELECTION_ENABLED
+    prompt "Core to use ?"
+    config MQTT_USE_CORE_0
+          bool "Core 0"
+    config MQTT_USE_CORE_1
+          bool "Core 1"
+ endchoice
+
+config MQTT_CUSTOM_OUTBOX
+    bool "Enable custom outbox implementation"
+    default n
+    help
+        Set to true if a specific implementation of message outbox is needed (e.g. persistant outbox in NVM or similar).
+
+endmenu # ESP-MQTT
+
+endmenu
diff --git a/components/mqtt/Makefile.projbuild b/components/mqtt/Makefile.projbuild
index 03de0cd5..5923a649 100644
--- a/components/mqtt/Makefile.projbuild
+++ b/components/mqtt/Makefile.projbuild
@@ -1 +1,3 @@
+ifdef CONFIG_MQTT_USING_IBM
 CPPFLAGS += -DMQTT_TASK -DMQTTCLIENT_PLATFORM_HEADER=MQTTFreeRTOS.h
+endif
diff --git a/components/mqtt/component.mk b/components/mqtt/component.mk
index 7b0104a3..df82dbfe 100644
--- a/components/mqtt/component.mk
+++ b/components/mqtt/component.mk
@@ -1,12 +1,20 @@
-#
-# Component Makefile
-#
-COMPONENT_ADD_INCLUDEDIRS += paho/MQTTClient-C/src \
-                             paho/MQTTClient-C/src/FreeRTOS \
-                             paho/MQTTPacket/src
 
-COMPONENT_SRCDIRS += paho/MQTTClient-C/src \
-                     paho/MQTTClient-C/src/FreeRTOS \
-                     paho/MQTTPacket/src
+ifdef CONFIG_MQTT_USING_IBM
+COMPONENT_ADD_INCLUDEDIRS += ibm-mqtt/MQTTClient-C/src \
+                             ibm-mqtt/MQTTClient-C/src/FreeRTOS \
+                             ibm-mqtt/MQTTPacket/src
+
+COMPONENT_SRCDIRS += ibm-mqtt/MQTTClient-C/src \
+                     ibm-mqtt/MQTTClient-C/src/FreeRTOS \
+                     ibm-mqtt/MQTTPacket/src
 
 CFLAGS += -DMQTT_TASK
+else
+ifdef CONFIG_MQTT_USING_ESP
+COMPONENT_SUBMODULES += esp-mqtt
+COMPONENT_ADD_INCLUDEDIRS := esp-mqtt/include
+COMPONENT_SRCDIRS :=  esp-mqtt esp-mqtt/lib
+COMPONENT_PRIV_INCLUDEDIRS := esp-mqtt/lib/include
+endif
+endif
+
diff --git a/components/mqtt/esp-mqtt/.editorconfig b/components/mqtt/esp-mqtt/.editorconfig
new file mode 100644
index 00000000..15977c64
--- /dev/null
+++ b/components/mqtt/esp-mqtt/.editorconfig
@@ -0,0 +1,34 @@
+# EditorConfig helps developers define and maintain consistent
+# coding styles between different editors and IDEs
+# http://editorconfig.org
+
+root = true
+
+[*]
+indent_style = space
+indent_size = 4
+end_of_line = lf
+charset = utf-8
+trim_trailing_whitespace = true
+insert_final_newline = true
+
+[{*.md,*.rst}]
+trim_trailing_whitespace = false
+
+[{Makefile,*.mk,*.bat}]
+indent_style = tab
+indent_size = 2
+
+[*/freertos/**]
+indent_style = tab
+indent_size = 4
+
+[{*/freertos/**.S,**/FreeRTOSConfig.h}]
+indent_style = space
+indent_size = 4
+
+[*.pem]
+insert_final_newline = false
+
+[*.py]
+max_line_length = 119
diff --git a/components/mqtt/esp-mqtt/.gitignore b/components/mqtt/esp-mqtt/.gitignore
new file mode 100644
index 00000000..2c4b72c7
--- /dev/null
+++ b/components/mqtt/esp-mqtt/.gitignore
@@ -0,0 +1,36 @@
+# Object files
+*.o
+*.ko
+*.obj
+*.elf
+
+# Precompiled Headers
+*.gch
+*.pch
+
+# Libraries
+*.lib
+*.a
+*.la
+*.lo
+
+# Shared objects (inc. Windows DLLs)
+*.dll
+*.so
+*.so.*
+*.dylib
+
+# Executables
+*.exe
+*.out
+*.app
+*.i*86
+*.x86_64
+*.hex
+
+# Debug files
+*.dSYM/
+*.su
+build
+examples/**/build
+examples/**/sdkconfig*
diff --git a/components/mqtt/esp-mqtt/.travis.yml b/components/mqtt/esp-mqtt/.travis.yml
new file mode 100644
index 00000000..0b8a4599
--- /dev/null
+++ b/components/mqtt/esp-mqtt/.travis.yml
@@ -0,0 +1,59 @@
+sudo: false
+language: bash
+os:
+  - linux
+
+addons:
+  apt:
+    packages:
+      - gperf
+      - python
+      - python-serial
+
+before_install:
+  # Save path to the git respository
+  - PROJECT_PATH=$(pwd)
+  - CI_COMMIT_SHA=$(git rev-parse HEAD)
+
+install:
+  # Install ESP32 toochain following steps as desribed
+  # in http://esp-idf.readthedocs.io/en/latest/linux-setup.html
+  #
+  # Get required packages - already done above, see addons: apt: packages:
+  # - sudo apt-get install git wget make libncurses-dev flex bison gperf python python-serial
+  # Prepare directory for the toolchain
+  - mkdir -p ~/esp
+  - cd ~/esp
+  # Download binary toolchain for the ESP32
+  - wget https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz
+  - tar -xzf xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz
+  # Get ESP-IDF from github
+  - git clone --recursive https://github.com/espressif/esp-idf.git
+  # Set the path to ESP-IDF directory
+  - export IDF_PATH=~/esp/esp-idf
+  - python -m pip install --user -r $IDF_PATH/requirements.txt
+  # Setup build tool: xtensa-esp32-elf and idf.py
+  - export PATH=$PATH:$HOME/esp/xtensa-esp32-elf/bin:$IDF_PATH/tools
+
+script:
+  # Legacy build with IDF < 3.2
+  - cd $IDF_PATH && git checkout --recurse-submodules v3.1
+  - cd $PROJECT_PATH
+  - ./modify_for_legacy_idf.sh || true
+  - cd $PROJECT_PATH/examples/tcp
+  - make defconfig
+  - make -j4
+  # Master build with latest IDF
+  - cd $IDF_PATH && git checkout --recurse-submodules master
+  - cd $IDF_PATH/components/mqtt/esp-mqtt
+  - git remote add local $PROJECT_PATH/.git
+  - git fetch local
+  - git checkout $CI_COMMIT_SHA
+  - cd $IDF_PATH/examples/protocols/mqtt/tcp
+  - idf.py build
+  - cd $IDF_PATH/examples/protocols/mqtt/ssl
+  - idf.py build
+  - cd $IDF_PATH/examples/protocols/mqtt/ws
+  - idf.py build
+  - cd $IDF_PATH/examples/protocols/mqtt/wss
+  - idf.py build
\ No newline at end of file
diff --git a/components/mqtt/esp-mqtt/LICENSE b/components/mqtt/esp-mqtt/LICENSE
new file mode 100644
index 00000000..a623b53f
--- /dev/null
+++ b/components/mqtt/esp-mqtt/LICENSE
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+    Copyright 2016 Tuan PM
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/components/mqtt/esp-mqtt/README.md b/components/mqtt/esp-mqtt/README.md
new file mode 100644
index 00000000..abe48220
--- /dev/null
+++ b/components/mqtt/esp-mqtt/README.md
@@ -0,0 +1,27 @@
+[![](https://travis-ci.org/tuanpmt/espmqtt.svg?branch=master)](https://travis-ci.org/tuanpmt/espmqtt)
+[![](http://hits.dwyl.io/tuanpmt/espmqtt.svg)](http://hits.dwyl.io/tuanpmt/espmqtt)
+[![Twitter Follow](https://img.shields.io/twitter/follow/tuanpmt.svg?style=social&label=Follow)](https://twitter.com/tuanpmt)
+![GitHub contributors](https://img.shields.io/github/contributors/tuanpmt/espmqtt.svg)
+
+# ESP32 MQTT Library
+
+## Features
+
+- Based on: https://github.com/tuanpmt/esp_mqtt 
+- Support MQTT over TCP, SSL with mbedtls, MQTT over Websocket, MQTT over Websocket Secure
+- Easy to setup with URI 
+- Multiple instances (Multiple clients in one application)
+- Support subscribing, publishing, authentication, will messages, keep alive pings and all 3 QoS levels (it should be a fully functional client).
+
+## How to use
+
+[ESP-MQTT](https://github.com/espressif/esp-mqtt) is a standard [ESP-IDF](https://github.com/espressif/esp-idf) component.
+Please refer to instructions in [ESP-IDF](https://github.com/espressif/esp-idf)
+
+## Documentation
+Please refer to the standard [ESP-IDF](https://github.com/espressif/esp-idf) documentation here https://github.com/espressif/esp-idf/blob/master/docs/en/api-reference/protocols/mqtt.rst
+
+## License
+- MQTT Package - [Stephen Robinson - contiki-mqtt](https://github.com/esar/contiki-mqtt)
+- Others [@tuanpmt](https://twitter.com/tuanpmt)
+Apache License
diff --git a/components/mqtt/esp-mqtt/examples/emitter-client/CMakeLists.txt b/components/mqtt/esp-mqtt/examples/emitter-client/CMakeLists.txt
new file mode 100644
index 00000000..0dd1242c
--- /dev/null
+++ b/components/mqtt/esp-mqtt/examples/emitter-client/CMakeLists.txt
@@ -0,0 +1,19 @@
+cmake_minimum_required(VERSION 3.5)
+
+get_filename_component(DEV_ROOT "${CMAKE_CURRENT_SOURCE_DIR}" ABSOLUTE)
+
+set(PROJECT_ROOT "${DEV_ROOT}/")
+
+set(SUBMODULE_ROOT "${DEV_ROOT}/../../../")
+
+set(PROJECT_NAME "mqtt_ssl")
+
+include($ENV{IDF_PATH}/tools/cmake/project.cmake)
+
+set(MAIN_SRCS ${PROJECT_ROOT}/main/app_main.c)
+
+set(EXTRA_COMPONENT_DIRS "${EXTRA_COMPONENT_DIRS} ${SUBMODULE_ROOT}")
+set(BUILD_COMPONENTS "${BUILD_COMPONENTS} espmqtt")
+
+project(${PROJECT_NAME})
+
diff --git a/components/mqtt/esp-mqtt/examples/emitter-client/Makefile b/components/mqtt/esp-mqtt/examples/emitter-client/Makefile
new file mode 100644
index 00000000..5b1d2977
--- /dev/null
+++ b/components/mqtt/esp-mqtt/examples/emitter-client/Makefile
@@ -0,0 +1,13 @@
+#
+# This is a project Makefile. It is assumed the directory this Makefile resides in is a
+# project subdirectory.
+#
+#
+# This is a project Makefile. It is assumed the directory this Makefile resides in is a
+# project subdirectory.
+#
+PROJECT_NAME := emitter_client
+EXTRA_COMPONENT_DIRS += $(PROJECT_PATH)/../../../
+
+include $(IDF_PATH)/make/project.mk
+
diff --git a/components/mqtt/esp-mqtt/examples/emitter-client/README.md b/components/mqtt/esp-mqtt/examples/emitter-client/README.md
new file mode 100644
index 00000000..a9aabae7
--- /dev/null
+++ b/components/mqtt/esp-mqtt/examples/emitter-client/README.md
@@ -0,0 +1,10 @@
+# ESPMQTT Emitter client
+
+## Before you run this Example
+- Register an account from https://emitter.io/
+- Login and create channel key, grant access for the channel `/topic/` as the images bellow
+- `make menuconfig` provide Wi-Fi information and CHANNEL_KEY to `MQTT Application example`
+- `make flash monitor`
+
+![](generate-key-0.png)
+![](generate-key-1.png)
diff --git a/components/mqtt/esp-mqtt/examples/emitter-client/generate-key-0.png b/components/mqtt/esp-mqtt/examples/emitter-client/generate-key-0.png
new file mode 100644
index 0000000000000000000000000000000000000000..b43b5edec96101176219a227205e74aabb9fa0a1
GIT binary patch
literal 239854
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

literal 0
HcmV?d00001

diff --git a/components/mqtt/esp-mqtt/examples/emitter-client/generate-key-1.png b/components/mqtt/esp-mqtt/examples/emitter-client/generate-key-1.png
new file mode 100644
index 0000000000000000000000000000000000000000..c05bdb187b6b6833da86160800f9a184d94d3306
GIT binary patch
literal 62056
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
JMBlJ|_#b<rn&bcg

literal 0
HcmV?d00001

diff --git a/components/mqtt/esp-mqtt/examples/emitter-client/main/Kconfig.projbuild b/components/mqtt/esp-mqtt/examples/emitter-client/main/Kconfig.projbuild
new file mode 100644
index 00000000..50f4951f
--- /dev/null
+++ b/components/mqtt/esp-mqtt/examples/emitter-client/main/Kconfig.projbuild
@@ -0,0 +1,22 @@
+menu "MQTT Application example"
+
+config WIFI_SSID
+    string "WiFi SSID"
+    default "myssid"
+    help
+        SSID (network name) for the example to connect to.
+
+config WIFI_PASSWORD
+    string "WiFi Password"
+    default "mypassword"
+    help
+        WiFi password (WPA or WPA2) for the example to use.
+
+config EMITTER_CHANNEL_KEY
+    string "Emitter channel key"
+    default ""
+    help
+        The Emitter channel key using to pub/sub
+
+
+endmenu
diff --git a/components/mqtt/esp-mqtt/examples/emitter-client/main/app_main.c b/components/mqtt/esp-mqtt/examples/emitter-client/main/app_main.c
new file mode 100755
index 00000000..756e8985
--- /dev/null
+++ b/components/mqtt/esp-mqtt/examples/emitter-client/main/app_main.c
@@ -0,0 +1,143 @@
+#include <stdio.h>
+#include <stdint.h>
+#include <stddef.h>
+#include <string.h>
+#include "esp_wifi.h"
+#include "esp_system.h"
+#include "nvs_flash.h"
+#include "esp_event_loop.h"
+
+#include "freertos/FreeRTOS.h"
+#include "freertos/task.h"
+#include "freertos/semphr.h"
+#include "freertos/queue.h"
+#include "freertos/event_groups.h"
+
+#include "lwip/sockets.h"
+#include "lwip/dns.h"
+#include "lwip/netdb.h"
+
+#include "esp_log.h"
+#include "mqtt_client.h"
+
+static const char *TAG = "MQTTS_SAMPLE";
+
+static EventGroupHandle_t wifi_event_group;
+const static int CONNECTED_BIT = BIT0;
+
+
+
+static esp_err_t wifi_event_handler(void *ctx, system_event_t *event)
+{
+    switch (event->event_id) {
+        case SYSTEM_EVENT_STA_START:
+            esp_wifi_connect();
+            break;
+        case SYSTEM_EVENT_STA_GOT_IP:
+            xEventGroupSetBits(wifi_event_group, CONNECTED_BIT);
+
+            break;
+        case SYSTEM_EVENT_STA_DISCONNECTED:
+            esp_wifi_connect();
+            xEventGroupClearBits(wifi_event_group, CONNECTED_BIT);
+            break;
+        default:
+            break;
+    }
+    return ESP_OK;
+}
+
+static void wifi_init(void)
+{
+    tcpip_adapter_init();
+    wifi_event_group = xEventGroupCreate();
+    ESP_ERROR_CHECK(esp_event_loop_init(wifi_event_handler, NULL));
+    wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
+    ESP_ERROR_CHECK(esp_wifi_init(&cfg));
+    ESP_ERROR_CHECK(esp_wifi_set_storage(WIFI_STORAGE_RAM));
+    wifi_config_t wifi_config = {
+        .sta = {
+            .ssid = CONFIG_WIFI_SSID,
+            .password = CONFIG_WIFI_PASSWORD,
+        },
+    };
+    ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA));
+    ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_STA, &wifi_config));
+    ESP_LOGI(TAG, "start the WIFI SSID:[%s] password:[%s]", CONFIG_WIFI_SSID, "******");
+    ESP_ERROR_CHECK(esp_wifi_start());
+    ESP_LOGI(TAG, "Waiting for wifi");
+    xEventGroupWaitBits(wifi_event_group, CONNECTED_BIT, false, true, portMAX_DELAY);
+}
+
+static esp_err_t mqtt_event_handler(esp_mqtt_event_handle_t event)
+{
+    esp_mqtt_client_handle_t client = event->client;
+    int msg_id;
+    // your_context_t *context = event->context;
+    switch (event->event_id) {
+        case MQTT_EVENT_CONNECTED:
+            ESP_LOGI(TAG, "MQTT_EVENT_CONNECTED");
+            msg_id = esp_mqtt_client_subscribe(client, CONFIG_EMITTER_CHANNEL_KEY"/topic/", 0);
+            ESP_LOGI(TAG, "sent subscribe successful, msg_id=%d", msg_id);
+
+            break;
+        case MQTT_EVENT_DISCONNECTED:
+            ESP_LOGI(TAG, "MQTT_EVENT_DISCONNECTED");
+            break;
+
+        case MQTT_EVENT_SUBSCRIBED:
+            ESP_LOGI(TAG, "MQTT_EVENT_SUBSCRIBED, msg_id=%d", event->msg_id);
+            msg_id = esp_mqtt_client_publish(client, CONFIG_EMITTER_CHANNEL_KEY"/topic/", "data", 0, 0, 0);
+            ESP_LOGI(TAG, "sent publish successful, msg_id=%d", msg_id);
+            break;
+        case MQTT_EVENT_UNSUBSCRIBED:
+            ESP_LOGI(TAG, "MQTT_EVENT_UNSUBSCRIBED, msg_id=%d", event->msg_id);
+            break;
+        case MQTT_EVENT_PUBLISHED:
+            ESP_LOGI(TAG, "MQTT_EVENT_PUBLISHED, msg_id=%d", event->msg_id);
+            break;
+        case MQTT_EVENT_DATA:
+            ESP_LOGI(TAG, "MQTT_EVENT_DATA");
+            printf("TOPIC=%.*s\r\n", event->topic_len, event->topic);
+            printf("DATA=%.*s\r\n", event->data_len, event->data);
+            break;
+        case MQTT_EVENT_ERROR:
+            ESP_LOGI(TAG, "MQTT_EVENT_ERROR");
+            break;
+    }
+    return ESP_OK;
+}
+
+static void mqtt_app_start(void)
+{
+    const esp_mqtt_client_config_t mqtt_cfg = {
+        .uri = "mqtts://api.emitter.io:443",    // for mqtt over ssl
+        // .uri = "mqtt://api.emitter.io:8080", //for mqtt over tcp
+        // .uri = "ws://api.emitter.io:8080", //for mqtt over websocket
+        // .uri = "wss://api.emitter.io:443", //for mqtt over websocket secure
+        .event_handle = mqtt_event_handler,
+    };
+
+    ESP_LOGI(TAG, "[APP] Free memory: %d bytes", esp_get_free_heap_size());
+    esp_mqtt_client_handle_t client = esp_mqtt_client_init(&mqtt_cfg);
+    esp_mqtt_client_start(client);
+}
+
+void app_main()
+{
+    ESP_LOGI(TAG, "[APP] Startup..");
+    ESP_LOGI(TAG, "[APP] Free memory: %d bytes", esp_get_free_heap_size());
+    ESP_LOGI(TAG, "[APP] IDF version: %s", esp_get_idf_version());
+
+    esp_log_level_set("*", ESP_LOG_INFO);
+    esp_log_level_set("MQTT_CLIENT", ESP_LOG_VERBOSE);
+    esp_log_level_set("TRANSPORT_TCP", ESP_LOG_VERBOSE);
+    esp_log_level_set("TRANSPORT_SSL", ESP_LOG_VERBOSE);
+    esp_log_level_set("TRANSPORT", ESP_LOG_VERBOSE);
+    esp_log_level_set("OUTBOX", ESP_LOG_VERBOSE);
+
+    nvs_flash_init();
+    wifi_init();
+    mqtt_app_start();
+
+}
diff --git a/components/mqtt/esp-mqtt/examples/emitter-client/main/component.mk b/components/mqtt/esp-mqtt/examples/emitter-client/main/component.mk
new file mode 100644
index 00000000..e69de29b
diff --git a/components/mqtt/esp-mqtt/include/mqtt_client.h b/components/mqtt/esp-mqtt/include/mqtt_client.h
new file mode 100755
index 00000000..630ba172
--- /dev/null
+++ b/components/mqtt/esp-mqtt/include/mqtt_client.h
@@ -0,0 +1,121 @@
+/*
+ * This file is subject to the terms and conditions defined in
+ * file 'LICENSE', which is part of this source code package.
+ * Tuan PM <tuanpm at live dot com>
+ */
+
+#ifndef _MQTT_CLIENT_H_
+#define _MQTT_CLIENT_H_
+
+#include <stdint.h>
+#include <stdbool.h>
+#include <string.h>
+#include "esp_err.h"
+
+#include "mqtt_config.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct esp_mqtt_client* esp_mqtt_client_handle_t;
+
+/**
+ * @brief MQTT event types.
+ *
+ * User event handler receives context data in `esp_mqtt_event_t` structure with
+ *  - `user_context` - user data from `esp_mqtt_client_config_t`
+ *  - `client` - mqtt client handle
+ *  - various other data depending on event type
+ *
+ */
+typedef enum {
+    MQTT_EVENT_ERROR = 0,
+    MQTT_EVENT_CONNECTED,          /*!< connected event, additional context: session_present flag */
+    MQTT_EVENT_DISCONNECTED,       /*!< disconnected event */
+    MQTT_EVENT_SUBSCRIBED,         /*!< subscribed event, additional context: msg_id */
+    MQTT_EVENT_UNSUBSCRIBED,       /*!< unsubscribed event */
+    MQTT_EVENT_PUBLISHED,          /*!< published event, additional context:  msg_id */
+    MQTT_EVENT_DATA,               /*!< data event, additional context:
+                                        - msg_id               message id
+                                        - topic                pointer to the received topic
+                                        - topic_len            length of the topic
+                                        - data                 pointer to the received data
+                                        - data_len             length of the data for this event
+                                        - current_data_offset  offset of the current data for this event
+                                        - total_data_len       total length of the data received
+                                         */
+} esp_mqtt_event_id_t;
+
+typedef enum {
+    MQTT_TRANSPORT_UNKNOWN = 0x0,
+    MQTT_TRANSPORT_OVER_TCP,      /*!< MQTT over TCP, using scheme: ``mqtt`` */
+    MQTT_TRANSPORT_OVER_SSL,      /*!< MQTT over SSL, using scheme: ``mqtts`` */
+    MQTT_TRANSPORT_OVER_WS,       /*!< MQTT over Websocket, using scheme:: ``ws`` */
+    MQTT_TRANSPORT_OVER_WSS       /*!< MQTT over Websocket Secure, using scheme: ``wss`` */
+} esp_mqtt_transport_t;
+
+/**
+ * MQTT event configuration structure
+ */
+typedef struct {
+    esp_mqtt_event_id_t event_id;       /*!< MQTT event type */
+    esp_mqtt_client_handle_t client;    /*!< MQTT client handle for this event */
+    void *user_context;                 /*!< User context passed from MQTT client config */
+    char *data;                         /*!< Data asociated with this event */
+    int data_len;                       /*!< Lenght of the data for this event */
+    int total_data_len;                 /*!< Total length of the data (longer data are supplied with multiple events) */
+    int current_data_offset;            /*!< Actual offset for the data asociated with this event */
+    char *topic;                        /*!< Topic asociated with this event */
+    int topic_len;                      /*!< Length of the topic for this event asociated with this event */
+    int msg_id;                         /*!< MQTT messaged id of message */
+    int session_present;                /*!< MQTT session_present flag for connection event */
+} esp_mqtt_event_t;
+
+typedef esp_mqtt_event_t* esp_mqtt_event_handle_t;
+
+typedef esp_err_t (* mqtt_event_callback_t)(esp_mqtt_event_handle_t event);
+
+/**
+ * MQTT client configuration structure
+ */
+typedef struct {
+    mqtt_event_callback_t event_handle;     /*!< handle for MQTT events */
+    const char *host;                       /*!< MQTT server domain (ipv4 as string) */
+    const char *uri;                        /*!< Complete MQTT broker URI */
+    uint32_t port;                          /*!< MQTT server port */
+    const char *client_id;                  /*!< default client id is ``ESP32_%CHIPID%`` where %CHIPID% are last 3 bytes of MAC address in hex format */
+    const char *username;                   /*!< MQTT username */
+    const char *password;                   /*!< MQTT password */
+    const char *lwt_topic;                  /*!< LWT (Last Will and Testament) message topic (NULL by default) */
+    const char *lwt_msg;                    /*!< LWT message (NULL by default) */
+    int lwt_qos;                            /*!< LWT message qos */
+    int lwt_retain;                         /*!< LWT retained message flag */
+    int lwt_msg_len;                        /*!< LWT message length */
+    int disable_clean_session;              /*!< mqtt clean session, default clean_session is true */
+    int keepalive;                          /*!< mqtt keepalive, default is 120 seconds */
+    bool disable_auto_reconnect;            /*!< this mqtt client will reconnect to server (when errors/disconnect). Set disable_auto_reconnect=true to disable */
+    void *user_context;                     /*!< pass user context to this option, then can receive that context in ``event->user_context`` */
+    int task_prio;                          /*!< MQTT task priority, default is 5, can be changed in ``make menuconfig`` */
+    int task_stack;                         /*!< MQTT task stack size, default is 6144 bytes, can be changed in ``make menuconfig`` */
+    int buffer_size;                        /*!< size of MQTT send/receive buffer, default is 1024 */
+    const char *cert_pem;                   /*!< Pointer to certificate data in PEM format for server verify (with SSL), default is NULL, not required to verify the server */
+    const char *client_cert_pem;            /*!< Pointer to certificate data in PEM format for SSL mutual authentication, default is NULL, not required if mutual authentication is not needed. If it is not NULL, also `client_key_pem` has to be provided. */
+    const char *client_key_pem;             /*!< Pointer to private key data in PEM format for SSL mutual authentication, default is NULL, not required if mutual authentication is not needed. If it is not NULL, also `client_cert_pem` has to be provided. */
+    esp_mqtt_transport_t transport;         /*!< overrides URI transport */
+} esp_mqtt_client_config_t;
+
+esp_mqtt_client_handle_t esp_mqtt_client_init(const esp_mqtt_client_config_t *config);
+esp_err_t esp_mqtt_client_set_uri(esp_mqtt_client_handle_t client, const char *uri);
+esp_err_t esp_mqtt_client_start(esp_mqtt_client_handle_t client);
+esp_err_t esp_mqtt_client_stop(esp_mqtt_client_handle_t client);
+esp_err_t esp_mqtt_client_subscribe(esp_mqtt_client_handle_t client, const char *topic, int qos);
+esp_err_t esp_mqtt_client_unsubscribe(esp_mqtt_client_handle_t client, const char *topic);
+int esp_mqtt_client_publish(esp_mqtt_client_handle_t client, const char *topic, const char *data, int len, int qos, int retain);
+esp_err_t esp_mqtt_client_destroy(esp_mqtt_client_handle_t client);
+
+#ifdef __cplusplus
+}
+#endif //__cplusplus
+
+#endif
diff --git a/components/mqtt/esp-mqtt/include/mqtt_config.h b/components/mqtt/esp-mqtt/include/mqtt_config.h
new file mode 100644
index 00000000..c0b4ab75
--- /dev/null
+++ b/components/mqtt/esp-mqtt/include/mqtt_config.h
@@ -0,0 +1,81 @@
+/*
+ * This file is subject to the terms and conditions defined in
+ * file 'LICENSE', which is part of this source code package.
+ * Tuan PM <tuanpm at live dot com>
+ */
+#ifndef _MQTT_CONFIG_H_
+#define _MQTT_CONFIG_H_
+
+#include "sdkconfig.h"
+
+#define MQTT_PROTOCOL_311           CONFIG_MQTT_PROTOCOL_311
+#define MQTT_RECONNECT_TIMEOUT_MS   (10*1000)
+
+#if CONFIG_MQTT_BUFFER_SIZE
+#define MQTT_BUFFER_SIZE_BYTE       CONFIG_MQTT_BUFFER_SIZE
+#else
+#define MQTT_BUFFER_SIZE_BYTE       1024
+#endif
+
+#define MQTT_MAX_HOST_LEN           64
+#define MQTT_MAX_CLIENT_LEN         32
+#define MQTT_MAX_USERNAME_LEN       32
+#define MQTT_MAX_PASSWORD_LEN       65
+#define MQTT_MAX_LWT_TOPIC          32
+#define MQTT_MAX_LWT_MSG            128
+#define MQTT_TASK_PRIORITY          5
+
+#if CONFIG_MQTT_TASK_STACK_SIZE
+#define MQTT_TASK_STACK             CONFIG_MQTT_TASK_STACK_SIZE
+#else
+#define MQTT_TASK_STACK             (6*1024)
+#endif
+
+#define MQTT_KEEPALIVE_TICK         (120)
+#define MQTT_CMD_QUEUE_SIZE         (10)
+#define MQTT_NETWORK_TIMEOUT_MS     (10000)
+
+#ifdef CONFIG_MQTT_TCP_DEFAULT_PORT
+#define MQTT_TCP_DEFAULT_PORT       CONFIG_MQTT_TCP_DEFAULT_PORT
+#else
+#define MQTT_TCP_DEFAULT_PORT       1883
+#endif
+
+#ifdef CONFIG_MQTT_SSL_DEFAULT_PORT
+#define MQTT_SSL_DEFAULT_PORT       CONFIG_MQTT_SSL_DEFAULT_PORT
+#else
+#define MQTT_SSL_DEFAULT_PORT       8883
+#endif
+
+#ifdef CONFIG_MQTT_WS_DEFAULT_PORT
+#define MQTT_WS_DEFAULT_PORT        CONFIG_MQTT_WS_DEFAULT_PORT
+#else
+#define MQTT_WS_DEFAULT_PORT        80
+#endif
+
+#ifdef MQTT_WSS_DEFAULT_PORT
+#define MQTT_WSS_DEFAULT_PORT       CONFIG_MQTT_WSS_DEFAULT_PORT
+#else
+#define MQTT_WSS_DEFAULT_PORT       443
+#endif
+
+#define MQTT_CORE_SELECTION_ENABLED CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED
+
+#ifdef CONFIG_MQTT_USE_CORE_0
+	#define MQTT_TASK_CORE	0
+#else
+	#ifdef CONFIG_MQTT_USE_CORE_1
+		#define MQTT_TASK_CORE 1
+	#else
+		#define MQTT_TASK_CORE 0
+	#endif
+#endif
+
+
+#define MQTT_ENABLE_SSL             CONFIG_MQTT_TRANSPORT_SSL
+#define MQTT_ENABLE_WS              CONFIG_MQTT_TRANSPORT_WEBSOCKET
+#define MQTT_ENABLE_WSS             CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE
+
+#define OUTBOX_EXPIRED_TIMEOUT_MS   (30*1000)
+#define OUTBOX_MAX_SIZE             (4*1024)
+#endif
diff --git a/components/mqtt/esp-mqtt/lib/include/mqtt_msg.h b/components/mqtt/esp-mqtt/lib/include/mqtt_msg.h
new file mode 100644
index 00000000..049c738c
--- /dev/null
+++ b/components/mqtt/esp-mqtt/lib/include/mqtt_msg.h
@@ -0,0 +1,135 @@
+#ifndef MQTT_MSG_H
+#define MQTT_MSG_H
+#include "mqtt_config.h"
+#ifdef  __cplusplus
+extern "C" {
+#endif
+
+/*
+* Copyright (c) 2014, Stephen Robinson
+* All rights reserved.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
+*
+* 1. Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* 2. Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* 3. Neither the name of the copyright holder nor the names of its
+* contributors may be used to endorse or promote products derived
+* from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+* POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+/* 7      6     5     4     3     2     1     0 */
+/*|      --- Message Type----     |  DUP Flag |    QoS Level    | Retain  | */
+/*                    Remaining Length                 */
+
+
+enum mqtt_message_type
+{
+    MQTT_MSG_TYPE_CONNECT = 1,
+    MQTT_MSG_TYPE_CONNACK = 2,
+    MQTT_MSG_TYPE_PUBLISH = 3,
+    MQTT_MSG_TYPE_PUBACK = 4,
+    MQTT_MSG_TYPE_PUBREC = 5,
+    MQTT_MSG_TYPE_PUBREL = 6,
+    MQTT_MSG_TYPE_PUBCOMP = 7,
+    MQTT_MSG_TYPE_SUBSCRIBE = 8,
+    MQTT_MSG_TYPE_SUBACK = 9,
+    MQTT_MSG_TYPE_UNSUBSCRIBE = 10,
+    MQTT_MSG_TYPE_UNSUBACK = 11,
+    MQTT_MSG_TYPE_PINGREQ = 12,
+    MQTT_MSG_TYPE_PINGRESP = 13,
+    MQTT_MSG_TYPE_DISCONNECT = 14
+};
+
+enum mqtt_connect_return_code
+{
+    CONNECTION_ACCEPTED = 0,
+    CONNECTION_REFUSE_PROTOCOL,
+    CONNECTION_REFUSE_ID_REJECTED,
+    CONNECTION_REFUSE_SERVER_UNAVAILABLE,
+    CONNECTION_REFUSE_BAD_USERNAME,
+    CONNECTION_REFUSE_NOT_AUTHORIZED
+};
+
+typedef struct mqtt_message
+{
+    uint8_t* data;
+    uint32_t length;
+
+} mqtt_message_t;
+
+typedef struct mqtt_connection
+{
+    mqtt_message_t message;
+
+    uint16_t message_id;
+    uint8_t* buffer;
+    uint16_t buffer_length;
+
+} mqtt_connection_t;
+
+typedef struct mqtt_connect_info
+{
+    char* client_id;
+    char* username;
+    char* password;
+    char* will_topic;
+    char* will_message;
+    int keepalive;
+    int will_length;
+    int will_qos;
+    int will_retain;
+    int clean_session;
+
+} mqtt_connect_info_t;
+
+
+static inline int mqtt_get_type(uint8_t* buffer) { return (buffer[0] & 0xf0) >> 4; }
+static inline int mqtt_get_connect_session_present(uint8_t* buffer) { return buffer[2] & 0x01; }
+static inline int mqtt_get_connect_return_code(uint8_t* buffer) { return buffer[3]; }
+static inline int mqtt_get_dup(uint8_t* buffer) { return (buffer[0] & 0x08) >> 3; }
+static inline int mqtt_get_qos(uint8_t* buffer) { return (buffer[0] & 0x06) >> 1; }
+static inline int mqtt_get_retain(uint8_t* buffer) { return (buffer[0] & 0x01); }
+
+void mqtt_msg_init(mqtt_connection_t* connection, uint8_t* buffer, uint16_t buffer_length);
+uint32_t mqtt_get_total_length(uint8_t* buffer, uint16_t length);
+const char* mqtt_get_publish_topic(uint8_t* buffer, uint32_t* length);
+const char* mqtt_get_publish_data(uint8_t* buffer, uint32_t* length);
+uint16_t mqtt_get_id(uint8_t* buffer, uint16_t length);
+
+mqtt_message_t* mqtt_msg_connect(mqtt_connection_t* connection, mqtt_connect_info_t* info);
+mqtt_message_t* mqtt_msg_publish(mqtt_connection_t* connection, const char* topic, const char* data, int data_length, int qos, int retain, uint16_t* message_id);
+mqtt_message_t* mqtt_msg_puback(mqtt_connection_t* connection, uint16_t message_id);
+mqtt_message_t* mqtt_msg_pubrec(mqtt_connection_t* connection, uint16_t message_id);
+mqtt_message_t* mqtt_msg_pubrel(mqtt_connection_t* connection, uint16_t message_id);
+mqtt_message_t* mqtt_msg_pubcomp(mqtt_connection_t* connection, uint16_t message_id);
+mqtt_message_t* mqtt_msg_subscribe(mqtt_connection_t* connection, const char* topic, int qos, uint16_t* message_id);
+mqtt_message_t* mqtt_msg_unsubscribe(mqtt_connection_t* connection, const char* topic, uint16_t* message_id);
+mqtt_message_t* mqtt_msg_pingreq(mqtt_connection_t* connection);
+mqtt_message_t* mqtt_msg_pingresp(mqtt_connection_t* connection);
+mqtt_message_t* mqtt_msg_disconnect(mqtt_connection_t* connection);
+
+
+#ifdef  __cplusplus
+}
+#endif
+
+#endif  /* MQTT_MSG_H */
+
diff --git a/components/mqtt/esp-mqtt/lib/include/mqtt_outbox.h b/components/mqtt/esp-mqtt/lib/include/mqtt_outbox.h
new file mode 100644
index 00000000..a87b4662
--- /dev/null
+++ b/components/mqtt/esp-mqtt/lib/include/mqtt_outbox.h
@@ -0,0 +1,36 @@
+/*
+ * This file is subject to the terms and conditions defined in
+ * file 'LICENSE', which is part of this source code package.
+ * Tuan PM <tuanpm at live dot com>
+ */
+#ifndef _MQTT_OUTOBX_H_
+#define _MQTT_OUTOBX_H_
+#include "platform.h"
+
+#ifdef  __cplusplus
+extern "C" {
+#endif
+
+struct outbox_item;
+
+typedef struct outbox_list_t * outbox_handle_t;
+typedef struct outbox_item * outbox_item_handle_t;
+
+outbox_handle_t outbox_init();
+outbox_item_handle_t outbox_enqueue(outbox_handle_t outbox, uint8_t *data, int len, int msg_id, int msg_type, int tick);
+outbox_item_handle_t outbox_dequeue(outbox_handle_t outbox);
+outbox_item_handle_t outbox_get(outbox_handle_t outbox, int msg_id);
+esp_err_t outbox_delete(outbox_handle_t outbox, int msg_id, int msg_type);
+esp_err_t outbox_delete_msgid(outbox_handle_t outbox, int msg_id);
+esp_err_t outbox_delete_msgtype(outbox_handle_t outbox, int msg_type);
+esp_err_t outbox_delete_expired(outbox_handle_t outbox, int current_tick, int timeout);
+
+esp_err_t outbox_set_pending(outbox_handle_t outbox, int msg_id);
+int outbox_get_size(outbox_handle_t outbox);
+esp_err_t outbox_cleanup(outbox_handle_t outbox, int max_size);
+void outbox_destroy(outbox_handle_t outbox);
+
+#ifdef  __cplusplus
+}
+#endif
+#endif
diff --git a/components/mqtt/esp-mqtt/lib/include/platform.h b/components/mqtt/esp-mqtt/lib/include/platform.h
new file mode 100644
index 00000000..b3358b9f
--- /dev/null
+++ b/components/mqtt/esp-mqtt/lib/include/platform.h
@@ -0,0 +1,14 @@
+/*
+ * This file is subject to the terms and conditions defined in
+ * file 'LICENSE', which is part of this source code package.
+ * Tuan PM <tuanpm at live dot com>
+ */
+#ifndef _PLATFORM_H__
+#define _PLATFORM_H__
+
+//Support ESP32
+#ifdef ESP_PLATFORM
+#include "platform_esp32_idf.h"
+#endif
+
+#endif
diff --git a/components/mqtt/esp-mqtt/lib/include/platform_esp32_idf.h b/components/mqtt/esp-mqtt/lib/include/platform_esp32_idf.h
new file mode 100644
index 00000000..553a57d7
--- /dev/null
+++ b/components/mqtt/esp-mqtt/lib/include/platform_esp32_idf.h
@@ -0,0 +1,35 @@
+/*
+ * This file is subject to the terms and conditions defined in
+ * file 'LICENSE', which is part of this source code package.
+ * Tuan PM <tuanpm at live dot com>
+ */
+#ifndef _ESP_PLATFORM_H__
+#define _ESP_PLATFORM_H__
+
+#include "freertos/FreeRTOS.h"
+#include "freertos/task.h"
+#include "freertos/semphr.h"
+#include "freertos/queue.h"
+#include "freertos/event_groups.h"
+
+#include "lwip/err.h"
+#include "lwip/sockets.h"
+#include "lwip/sys.h"
+#include "lwip/netdb.h"
+#include "lwip/dns.h"
+
+#include "rom/queue.h"
+#include "esp_err.h"
+#include "esp_log.h"
+#include "esp_system.h"
+
+char *platform_create_id_string();
+int platform_random(int max);
+long long platform_tick_get_ms();
+void ms_to_timeval(int timeout_ms, struct timeval *tv);
+
+#define ESP_MEM_CHECK(TAG, a, action) if (!(a)) {                                                      \
+        ESP_LOGE(TAG,"%s:%d (%s): %s", __FILE__, __LINE__, __FUNCTION__, "Memory exhausted");       \
+        action;                                                                                         \
+        }
+#endif
diff --git a/components/mqtt/esp-mqtt/lib/mqtt_msg.c b/components/mqtt/esp-mqtt/lib/mqtt_msg.c
new file mode 100644
index 00000000..eb978472
--- /dev/null
+++ b/components/mqtt/esp-mqtt/lib/mqtt_msg.c
@@ -0,0 +1,472 @@
+/*
+* Copyright (c) 2014, Stephen Robinson
+* All rights reserved.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
+*
+* 1. Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* 2. Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* 3. Neither the name of the copyright holder nor the names of its
+* contributors may be used to endorse or promote products derived
+* from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+* POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+#include <stdint.h>
+#include <string.h>
+#include "mqtt_msg.h"
+#include "mqtt_config.h"
+#include "platform.h"
+
+#define MQTT_MAX_FIXED_HEADER_SIZE 3
+
+enum mqtt_connect_flag
+{
+    MQTT_CONNECT_FLAG_USERNAME = 1 << 7,
+    MQTT_CONNECT_FLAG_PASSWORD = 1 << 6,
+    MQTT_CONNECT_FLAG_WILL_RETAIN = 1 << 5,
+    MQTT_CONNECT_FLAG_WILL = 1 << 2,
+    MQTT_CONNECT_FLAG_CLEAN_SESSION = 1 << 1
+};
+
+struct __attribute((__packed__)) mqtt_connect_variable_header
+{
+    uint8_t lengthMsb;
+    uint8_t lengthLsb;
+#if defined(MQTT_PROTOCOL_311)
+    uint8_t magic[4];
+#else
+    uint8_t magic[6];
+#endif
+    uint8_t version;
+    uint8_t flags;
+    uint8_t keepaliveMsb;
+    uint8_t keepaliveLsb;
+};
+
+static int append_string(mqtt_connection_t* connection, const char* string, int len)
+{
+    if (connection->message.length + len + 2 > connection->buffer_length)
+        return -1;
+
+    connection->buffer[connection->message.length++] = len >> 8;
+    connection->buffer[connection->message.length++] = len & 0xff;
+    memcpy(connection->buffer + connection->message.length, string, len);
+    connection->message.length += len;
+
+    return len + 2;
+}
+
+static uint16_t append_message_id(mqtt_connection_t* connection, uint16_t message_id)
+{
+    // If message_id is zero then we should assign one, otherwise
+    // we'll use the one supplied by the caller
+    while (message_id == 0) {
+        message_id = platform_random(65535);
+    }
+
+    if (connection->message.length + 2 > connection->buffer_length)
+        return 0;
+
+    connection->buffer[connection->message.length++] = message_id >> 8;
+    connection->buffer[connection->message.length++] = message_id & 0xff;
+
+    return message_id;
+}
+
+static int init_message(mqtt_connection_t* connection)
+{
+    connection->message.length = MQTT_MAX_FIXED_HEADER_SIZE;
+    return MQTT_MAX_FIXED_HEADER_SIZE;
+}
+
+static mqtt_message_t* fail_message(mqtt_connection_t* connection)
+{
+    connection->message.data = connection->buffer;
+    connection->message.length = 0;
+    return &connection->message;
+}
+
+static mqtt_message_t* fini_message(mqtt_connection_t* connection, int type, int dup, int qos, int retain)
+{
+    int remaining_length = connection->message.length - MQTT_MAX_FIXED_HEADER_SIZE;
+
+    if (remaining_length > 127)
+    {
+        connection->buffer[0] = ((type & 0x0f) << 4) | ((dup & 1) << 3) | ((qos & 3) << 1) | (retain & 1);
+        connection->buffer[1] = 0x80 | (remaining_length % 128);
+        connection->buffer[2] = remaining_length / 128;
+        connection->message.length = remaining_length + 3;
+        connection->message.data = connection->buffer;
+    }
+    else
+    {
+        connection->buffer[1] = ((type & 0x0f) << 4) | ((dup & 1) << 3) | ((qos & 3) << 1) | (retain & 1);
+        connection->buffer[2] = remaining_length;
+        connection->message.length = remaining_length + 2;
+        connection->message.data = connection->buffer + 1;
+    }
+
+    return &connection->message;
+}
+
+void mqtt_msg_init(mqtt_connection_t* connection, uint8_t* buffer, uint16_t buffer_length)
+{
+    memset(connection, 0, sizeof(mqtt_connection_t));
+    connection->buffer = buffer;
+    connection->buffer_length = buffer_length;
+}
+
+uint32_t mqtt_get_total_length(uint8_t* buffer, uint16_t length)
+{
+    int i;
+    uint32_t totlen = 0;
+
+    for (i = 1; i < length; ++i)
+    {
+        totlen += (buffer[i] & 0x7f) << (7 * (i - 1));
+        if ((buffer[i] & 0x80) == 0)
+        {
+            ++i;
+            break;
+        }
+    }
+    totlen += i;
+    
+    return totlen;
+}
+
+const char* mqtt_get_publish_topic(uint8_t* buffer, uint32_t* length)
+{
+    int i;
+    int totlen = 0;
+    int topiclen;
+
+    for (i = 1; i < *length; ++i)
+    {
+        totlen += (buffer[i] & 0x7f) << (7 * (i - 1));
+        if ((buffer[i] & 0x80) == 0)
+        {
+            ++i;
+            break;
+        }
+    }
+    totlen += i;
+
+    if (i + 2 >= *length)
+        return NULL;
+    topiclen = buffer[i++] << 8;
+    topiclen |= buffer[i++];
+
+    if (i + topiclen > *length)
+        return NULL;
+
+    *length = topiclen;
+    return (const char*)(buffer + i);
+} 
+
+const char* mqtt_get_publish_data(uint8_t* buffer, uint32_t* length)
+{
+    int i;
+    int totlen = 0;
+    int topiclen;
+    int blength = *length;
+    *length = 0;
+
+    for (i = 1; i < blength; ++i)
+    {
+        totlen += (buffer[i] & 0x7f) << (7 * (i - 1));
+        if ((buffer[i] & 0x80) == 0)
+        {
+            ++i;
+            break;
+        }
+    }
+    totlen += i;
+
+    if (i + 2 >= blength)
+        return NULL;
+    topiclen = buffer[i++] << 8;
+    topiclen |= buffer[i++];
+
+    if (i + topiclen >= blength)
+        return NULL;
+
+    i += topiclen;
+
+    if (mqtt_get_qos(buffer) > 0)
+    {
+        if (i + 2 >= blength)
+            return NULL;
+        i += 2;
+    }
+
+    if (totlen < i)
+        return NULL;
+
+    if (totlen <= blength)
+        *length = totlen - i;
+    else
+        *length = blength - i;
+    return (const char*)(buffer + i);
+}
+
+uint16_t mqtt_get_id(uint8_t* buffer, uint16_t length)
+{
+    if (length < 1)
+        return 0;
+
+    switch (mqtt_get_type(buffer))
+    {
+        case MQTT_MSG_TYPE_PUBLISH:
+            {
+                int i;
+                int topiclen;
+
+                for (i = 1; i < length; ++i)
+                {
+                    if ((buffer[i] & 0x80) == 0)
+                    {
+                        ++i;
+                        break;
+                    }
+                }
+
+                if (i + 2 >= length)
+                    return 0;
+                topiclen = buffer[i++] << 8;
+                topiclen |= buffer[i++];
+
+                if (i + topiclen >= length)
+                    return 0;
+                i += topiclen;
+
+                if (mqtt_get_qos(buffer) > 0)
+                {
+                    if (i + 2 >= length)
+                        return 0;
+                    //i += 2;
+                } else {
+                    return 0;
+                }
+
+                return (buffer[i] << 8) | buffer[i + 1];
+            }
+        case MQTT_MSG_TYPE_PUBACK:
+        case MQTT_MSG_TYPE_PUBREC:
+        case MQTT_MSG_TYPE_PUBREL:
+        case MQTT_MSG_TYPE_PUBCOMP:
+        case MQTT_MSG_TYPE_SUBACK:
+        case MQTT_MSG_TYPE_UNSUBACK:
+        case MQTT_MSG_TYPE_SUBSCRIBE:
+            {
+                // This requires the remaining length to be encoded in 1 byte,
+                // which it should be.
+                if (length >= 4 && (buffer[1] & 0x80) == 0)
+                    return (buffer[2] << 8) | buffer[3];
+                else
+                    return 0;
+            }
+
+        default:
+            return 0;
+    }
+}
+
+mqtt_message_t* mqtt_msg_connect(mqtt_connection_t* connection, mqtt_connect_info_t* info)
+{
+    struct mqtt_connect_variable_header* variable_header;
+
+    init_message(connection);
+
+    if (connection->message.length + sizeof(*variable_header) > connection->buffer_length)
+        return fail_message(connection);
+    variable_header = (void*)(connection->buffer + connection->message.length);
+    connection->message.length += sizeof(*variable_header);
+
+    variable_header->lengthMsb = 0;
+#if defined(CONFIG_MQTT_PROTOCOL_311)
+    variable_header->lengthLsb = 4;
+    memcpy(variable_header->magic, "MQTT", 4);
+    variable_header->version = 4;
+#else
+    variable_header->lengthLsb = 6;
+    memcpy(variable_header->magic, "MQIsdp", 6);
+    variable_header->version = 3;
+#endif
+
+    variable_header->flags = 0;
+    variable_header->keepaliveMsb = info->keepalive >> 8;
+    variable_header->keepaliveLsb = info->keepalive & 0xff;
+
+    if (info->clean_session)
+        variable_header->flags |= MQTT_CONNECT_FLAG_CLEAN_SESSION;
+
+    if (info->client_id != NULL && info->client_id[0] != '\0')
+    {
+        if (append_string(connection, info->client_id, strlen(info->client_id)) < 0)
+            return fail_message(connection);
+    }
+    else
+        return fail_message(connection);
+
+    if (info->will_topic != NULL && info->will_topic[0] != '\0')
+    {
+        if (append_string(connection, info->will_topic, strlen(info->will_topic)) < 0)
+            return fail_message(connection);
+
+        if (append_string(connection, info->will_message, info->will_length) < 0)
+            return fail_message(connection);
+
+        variable_header->flags |= MQTT_CONNECT_FLAG_WILL;
+        if (info->will_retain)
+            variable_header->flags |= MQTT_CONNECT_FLAG_WILL_RETAIN;
+        variable_header->flags |= (info->will_qos & 3) << 3;
+    }
+
+    if (info->username != NULL && info->username[0] != '\0')
+    {
+        if (append_string(connection, info->username, strlen(info->username)) < 0)
+            return fail_message(connection);
+
+        variable_header->flags |= MQTT_CONNECT_FLAG_USERNAME;
+    }
+
+    if (info->password != NULL && info->password[0] != '\0')
+    {
+        if (append_string(connection, info->password, strlen(info->password)) < 0)
+            return fail_message(connection);
+
+        variable_header->flags |= MQTT_CONNECT_FLAG_PASSWORD;
+    }
+
+    return fini_message(connection, MQTT_MSG_TYPE_CONNECT, 0, 0, 0);
+}
+
+mqtt_message_t* mqtt_msg_publish(mqtt_connection_t* connection, const char* topic, const char* data, int data_length, int qos, int retain, uint16_t* message_id)
+{
+    init_message(connection);
+
+    if (topic == NULL || topic[0] == '\0')
+        return fail_message(connection);
+
+    if (append_string(connection, topic, strlen(topic)) < 0)
+        return fail_message(connection);
+
+    if (qos > 0)
+    {
+        if ((*message_id = append_message_id(connection, 0)) == 0)
+            return fail_message(connection);
+    }
+    else
+        *message_id = 0;
+
+    if (connection->message.length + data_length > connection->buffer_length)
+        return fail_message(connection);
+    memcpy(connection->buffer + connection->message.length, data, data_length);
+    connection->message.length += data_length;
+
+    return fini_message(connection, MQTT_MSG_TYPE_PUBLISH, 0, qos, retain);
+}
+
+mqtt_message_t* mqtt_msg_puback(mqtt_connection_t* connection, uint16_t message_id)
+{
+    init_message(connection);
+    if (append_message_id(connection, message_id) == 0)
+        return fail_message(connection);
+    return fini_message(connection, MQTT_MSG_TYPE_PUBACK, 0, 0, 0);
+}
+
+mqtt_message_t* mqtt_msg_pubrec(mqtt_connection_t* connection, uint16_t message_id)
+{
+    init_message(connection);
+    if (append_message_id(connection, message_id) == 0)
+        return fail_message(connection);
+    return fini_message(connection, MQTT_MSG_TYPE_PUBREC, 0, 0, 0);
+}
+
+mqtt_message_t* mqtt_msg_pubrel(mqtt_connection_t* connection, uint16_t message_id)
+{
+    init_message(connection);
+    if (append_message_id(connection, message_id) == 0)
+        return fail_message(connection);
+    return fini_message(connection, MQTT_MSG_TYPE_PUBREL, 0, 1, 0);
+}
+
+mqtt_message_t* mqtt_msg_pubcomp(mqtt_connection_t* connection, uint16_t message_id)
+{
+    init_message(connection);
+    if (append_message_id(connection, message_id) == 0)
+        return fail_message(connection);
+    return fini_message(connection, MQTT_MSG_TYPE_PUBCOMP, 0, 0, 0);
+}
+
+mqtt_message_t* mqtt_msg_subscribe(mqtt_connection_t* connection, const char* topic, int qos, uint16_t* message_id)
+{
+    init_message(connection);
+
+    if (topic == NULL || topic[0] == '\0')
+        return fail_message(connection);
+
+    if ((*message_id = append_message_id(connection, 0)) == 0)
+        return fail_message(connection);
+
+    if (append_string(connection, topic, strlen(topic)) < 0)
+        return fail_message(connection);
+
+    if (connection->message.length + 1 > connection->buffer_length)
+        return fail_message(connection);
+    connection->buffer[connection->message.length++] = qos;
+
+    return fini_message(connection, MQTT_MSG_TYPE_SUBSCRIBE, 0, 1, 0);
+}
+
+mqtt_message_t* mqtt_msg_unsubscribe(mqtt_connection_t* connection, const char* topic, uint16_t* message_id)
+{
+    init_message(connection);
+
+    if (topic == NULL || topic[0] == '\0')
+        return fail_message(connection);
+
+    if ((*message_id = append_message_id(connection, 0)) == 0)
+        return fail_message(connection);
+
+    if (append_string(connection, topic, strlen(topic)) < 0)
+        return fail_message(connection);
+
+    return fini_message(connection, MQTT_MSG_TYPE_UNSUBSCRIBE, 0, 1, 0);
+}
+
+mqtt_message_t* mqtt_msg_pingreq(mqtt_connection_t* connection)
+{
+    init_message(connection);
+    return fini_message(connection, MQTT_MSG_TYPE_PINGREQ, 0, 0, 0);
+}
+
+mqtt_message_t* mqtt_msg_pingresp(mqtt_connection_t* connection)
+{
+    init_message(connection);
+    return fini_message(connection, MQTT_MSG_TYPE_PINGRESP, 0, 0, 0);
+}
+
+mqtt_message_t* mqtt_msg_disconnect(mqtt_connection_t* connection)
+{
+    init_message(connection);
+    return fini_message(connection, MQTT_MSG_TYPE_DISCONNECT, 0, 0, 0);
+}
diff --git a/components/mqtt/esp-mqtt/lib/mqtt_outbox.c b/components/mqtt/esp-mqtt/lib/mqtt_outbox.c
new file mode 100644
index 00000000..300e6987
--- /dev/null
+++ b/components/mqtt/esp-mqtt/lib/mqtt_outbox.c
@@ -0,0 +1,170 @@
+#include "mqtt_outbox.h"
+#include <stdlib.h>
+#include <string.h>
+#include "rom/queue.h"
+#include "esp_log.h"
+
+#ifndef CONFIG_MQTT_CUSTOM_OUTBOX
+
+
+static const char *TAG = "OUTBOX";
+
+typedef struct outbox_item {
+    char *buffer;
+    int len;
+    int msg_id;
+    int msg_type;
+    int tick;
+    int retry_count;
+    bool pending;
+    STAILQ_ENTRY(outbox_item) next;
+} outbox_item_t;
+
+STAILQ_HEAD(outbox_list_t, outbox_item);
+
+
+outbox_handle_t outbox_init()
+{
+    outbox_handle_t outbox = calloc(1, sizeof(struct outbox_list_t));
+    ESP_MEM_CHECK(TAG, outbox, return NULL);
+    STAILQ_INIT(outbox);
+    return outbox;
+}
+
+outbox_item_handle_t outbox_enqueue(outbox_handle_t outbox, uint8_t *data, int len, int msg_id, int msg_type, int tick)
+{
+    outbox_item_handle_t item = calloc(1, sizeof(outbox_item_t));
+    ESP_MEM_CHECK(TAG, item, return NULL);
+    item->msg_id = msg_id;
+    item->msg_type = msg_type;
+    item->tick = tick;
+    item->len = len;
+    item->buffer = malloc(len);
+    ESP_MEM_CHECK(TAG, item->buffer, {
+        free(item);
+        return NULL;
+    });
+    memcpy(item->buffer, data, len);
+    STAILQ_INSERT_TAIL(outbox, item, next);
+    ESP_LOGD(TAG, "ENQUEUE msgid=%d, msg_type=%d, len=%d, size=%d", msg_id, msg_type, len, outbox_get_size(outbox));
+    return item;
+}
+
+outbox_item_handle_t outbox_get(outbox_handle_t outbox, int msg_id)
+{
+    outbox_item_handle_t item;
+    STAILQ_FOREACH(item, outbox, next) {
+        if (item->msg_id == msg_id) {
+            return item;
+        }
+    }
+    return NULL;
+}
+
+outbox_item_handle_t outbox_dequeue(outbox_handle_t outbox)
+{
+    outbox_item_handle_t item;
+    STAILQ_FOREACH(item, outbox, next) {
+        if (!item->pending) {
+            return item;
+        }
+    }
+    return NULL;
+}
+esp_err_t outbox_delete(outbox_handle_t outbox, int msg_id, int msg_type)
+{
+    outbox_item_handle_t item, tmp;
+    STAILQ_FOREACH_SAFE(item, outbox, next, tmp) {
+        if (item->msg_id == msg_id && item->msg_type == msg_type) {
+            STAILQ_REMOVE(outbox, item, outbox_item, next);
+            free(item->buffer);
+            free(item);
+            ESP_LOGD(TAG, "DELETED msgid=%d, msg_type=%d, remain size=%d", msg_id, msg_type, outbox_get_size(outbox));
+            return ESP_OK;
+        }
+
+    }
+    return ESP_FAIL;
+}
+esp_err_t outbox_delete_msgid(outbox_handle_t outbox, int msg_id)
+{
+    outbox_item_handle_t item, tmp;
+    STAILQ_FOREACH_SAFE(item, outbox, next, tmp) {
+        if (item->msg_id == msg_id) {
+            STAILQ_REMOVE(outbox, item, outbox_item, next);
+            free(item->buffer);
+            free(item);
+        }
+
+    }
+    return ESP_OK;
+}
+esp_err_t outbox_set_pending(outbox_handle_t outbox, int msg_id)
+{
+    outbox_item_handle_t item = outbox_get(outbox, msg_id);
+    if (item) {
+        item->pending = true;
+        return ESP_OK;
+    }
+    return ESP_FAIL;
+}
+
+esp_err_t outbox_delete_msgtype(outbox_handle_t outbox, int msg_type)
+{
+    outbox_item_handle_t item, tmp;
+    STAILQ_FOREACH_SAFE(item, outbox, next, tmp) {
+        if (item->msg_type == msg_type) {
+            STAILQ_REMOVE(outbox, item, outbox_item, next);
+            free(item->buffer);
+            free(item);
+        }
+
+    }
+    return ESP_OK;
+}
+
+esp_err_t outbox_delete_expired(outbox_handle_t outbox, int current_tick, int timeout)
+{
+    outbox_item_handle_t item, tmp;
+    STAILQ_FOREACH_SAFE(item, outbox, next, tmp) {
+        if (current_tick - item->tick > timeout) {
+            STAILQ_REMOVE(outbox, item, outbox_item, next);
+            free(item->buffer);
+            free(item);
+        }
+
+    }
+    return ESP_OK;
+}
+
+int outbox_get_size(outbox_handle_t outbox)
+{
+    int siz = 0;
+    outbox_item_handle_t item;
+    STAILQ_FOREACH(item, outbox, next) {
+        siz += item->len;
+    }
+    return siz;
+}
+
+esp_err_t outbox_cleanup(outbox_handle_t outbox, int max_size)
+{
+    while(outbox_get_size(outbox) > max_size) {
+        outbox_item_handle_t item = outbox_dequeue(outbox);
+        if (item == NULL) {
+            return ESP_FAIL;
+        }
+        STAILQ_REMOVE(outbox, item, outbox_item, next);
+        free(item->buffer);
+        free(item);
+    }
+    return ESP_OK;
+}
+
+void outbox_destroy(outbox_handle_t outbox)
+{
+    outbox_cleanup(outbox, 0);
+    free(outbox);
+}
+
+#endif /* CONFIG_MQTT_CUSTOM_OUTBOX */
\ No newline at end of file
diff --git a/components/mqtt/esp-mqtt/lib/platform_idf.c b/components/mqtt/esp-mqtt/lib/platform_idf.c
new file mode 100644
index 00000000..d640e023
--- /dev/null
+++ b/components/mqtt/esp-mqtt/lib/platform_idf.c
@@ -0,0 +1,41 @@
+#include "platform.h"
+
+#ifdef ESP_PLATFORM
+#include "esp_system.h"
+#include "esp_log.h"
+#include <sys/time.h>
+
+static const char *TAG = "PLATFORM";
+
+#define MAX_ID_STRING (32)
+
+char *platform_create_id_string()
+{
+    uint8_t mac[6];
+    char *id_string = calloc(1, MAX_ID_STRING);
+    ESP_MEM_CHECK(TAG, id_string, return NULL);
+    esp_read_mac(mac, ESP_MAC_WIFI_STA);
+    sprintf(id_string, "ESP32_%02x%02X%02X", mac[3], mac[4], mac[5]);
+    return id_string;
+}
+
+int platform_random(int max)
+{
+    return esp_random()%max;
+}
+
+long long platform_tick_get_ms()
+{
+    struct timeval te;
+    gettimeofday(&te, NULL); // get current time
+    long long milliseconds = te.tv_sec*1000LL + te.tv_usec/1000; // calculate milliseconds
+    // printf("milliseconds: %lld\n", milliseconds);
+    return milliseconds;
+}
+
+void ms_to_timeval(int timeout_ms, struct timeval *tv)
+{
+    tv->tv_sec = timeout_ms / 1000;
+    tv->tv_usec = (timeout_ms - (tv->tv_sec * 1000)) * 1000;
+}
+#endif
diff --git a/components/mqtt/esp-mqtt/modify_for_legacy_idf.sh b/components/mqtt/esp-mqtt/modify_for_legacy_idf.sh
new file mode 100755
index 00000000..6c430746
--- /dev/null
+++ b/components/mqtt/esp-mqtt/modify_for_legacy_idf.sh
@@ -0,0 +1,27 @@
+#!/usr/bin/env bash
+
+# This snipped prepares environment for using esp-mqtt repository separately from idf -- legacy use before IDFv3.2
+#
+esp_mqtt_path=`pwd`
+mkdir -p ${esp_mqtt_path}/examples
+pushd
+cd $IDF_PATH
+former_commit_id=`git rev-parse HEAD`
+git checkout master
+
+for example in tcp; do
+    cp -r $IDF_PATH/examples/protocols/mqtt/${example} ${esp_mqtt_path}/examples
+    echo 'EXTRA_COMPONENT_DIRS += $(PROJECT_PATH)/../../../' >   ${esp_mqtt_path}/examples/${example}/Makefile
+    cat $IDF_PATH/examples/protocols/mqtt/${example}/Makefile >> ${esp_mqtt_path}/examples/${example}/Makefile
+    echo "CONFIG_MQTT_TRANSPORT_SSL=" >> ${esp_mqtt_path}/examples/${example}/sdkconfig.defaults
+    echo "CONFIG_MQTT_TRANSPORT_WEBSOCKET=" >> ${esp_mqtt_path}/examples/${example}/sdkconfig.defaults
+done
+
+cp -r $IDF_PATH/components/tcp_transport ${esp_mqtt_path}/..
+rm    ${esp_mqtt_path}/../tcp_transport/transport_ssl.c
+echo -e "#include \"esp_transport.h\"\nvoid esp_transport_ws_set_path(esp_transport_handle_t t, const char *path) {}" > ${esp_mqtt_path}/../tcp_transport/transport_ws.c
+
+cp $IDF_PATH/components/mqtt/Kconfig  ${esp_mqtt_path}
+sed 's/esp-mqtt/\./g' $IDF_PATH/components/mqtt/component.mk  > ${esp_mqtt_path}/component.mk
+git checkout $former_commit_id
+popd
\ No newline at end of file
diff --git a/components/mqtt/esp-mqtt/mqtt_client.c b/components/mqtt/esp-mqtt/mqtt_client.c
new file mode 100644
index 00000000..7ee01261
--- /dev/null
+++ b/components/mqtt/esp-mqtt/mqtt_client.c
@@ -0,0 +1,892 @@
+#include <stdio.h>
+#include "platform.h"
+
+#include "mqtt_client.h"
+#include "mqtt_msg.h"
+#include "esp_transport.h"
+#include "esp_transport_tcp.h"
+#include "esp_transport_ssl.h"
+#include "esp_transport_ws.h"
+#include "platform.h"
+#include "mqtt_outbox.h"
+
+/* using uri parser */
+#include "http_parser.h"
+
+static const char *TAG = "MQTT_CLIENT";
+
+typedef struct mqtt_state
+{
+    mqtt_connect_info_t *connect_info;
+    uint8_t *in_buffer;
+    uint8_t *out_buffer;
+    int in_buffer_length;
+    int out_buffer_length;
+    uint32_t message_length;
+    uint32_t message_length_read;
+    mqtt_message_t *outbound_message;
+    mqtt_connection_t mqtt_connection;
+    uint16_t pending_msg_id;
+    int pending_msg_type;
+    int pending_publish_qos;
+    int pending_msg_count;
+} mqtt_state_t;
+
+typedef struct {
+    mqtt_event_callback_t event_handle;
+    int task_stack;
+    int task_prio;
+    char *uri;
+    char *host;
+    char *path;
+    char *scheme;
+    int port;
+    bool auto_reconnect;
+    void *user_context;
+    int network_timeout_ms;
+} mqtt_config_storage_t;
+
+typedef enum {
+    MQTT_STATE_ERROR = -1,
+    MQTT_STATE_UNKNOWN = 0,
+    MQTT_STATE_INIT,
+    MQTT_STATE_CONNECTED,
+    MQTT_STATE_WAIT_TIMEOUT,
+} mqtt_client_state_t;
+
+struct esp_mqtt_client {
+    esp_transport_list_handle_t transport_list;
+    esp_transport_handle_t transport;
+    mqtt_config_storage_t *config;
+    mqtt_state_t  mqtt_state;
+    mqtt_connect_info_t connect_info;
+    mqtt_client_state_t state;
+    long long keepalive_tick;
+    long long reconnect_tick;
+    int wait_timeout_ms;
+    int auto_reconnect;
+    esp_mqtt_event_t event;
+    bool run;
+    bool wait_for_ping_resp;
+    outbox_handle_t outbox;
+    EventGroupHandle_t status_bits;
+};
+
+const static int STOPPED_BIT = BIT0;
+
+static esp_err_t esp_mqtt_dispatch_event(esp_mqtt_client_handle_t client);
+static esp_err_t esp_mqtt_set_config(esp_mqtt_client_handle_t client, const esp_mqtt_client_config_t *config);
+static esp_err_t esp_mqtt_destroy_config(esp_mqtt_client_handle_t client);
+static esp_err_t esp_mqtt_connect(esp_mqtt_client_handle_t client, int timeout_ms);
+static esp_err_t esp_mqtt_abort_connection(esp_mqtt_client_handle_t client);
+static esp_err_t esp_mqtt_client_ping(esp_mqtt_client_handle_t client);
+static char *create_string(const char *ptr, int len);
+
+static esp_err_t esp_mqtt_set_config(esp_mqtt_client_handle_t client, const esp_mqtt_client_config_t *config)
+{
+    //Copy user configurations to client context
+    esp_err_t err = ESP_OK;
+    mqtt_config_storage_t *cfg = calloc(1, sizeof(mqtt_config_storage_t));
+    ESP_MEM_CHECK(TAG, cfg, return ESP_ERR_NO_MEM);
+
+    client->config = cfg;
+
+    cfg->task_prio = config->task_prio;
+    if (cfg->task_prio <= 0) {
+        cfg->task_prio = MQTT_TASK_PRIORITY;
+    }
+
+    cfg->task_stack = config->task_stack;
+    if (cfg->task_stack == 0) {
+        cfg->task_stack = MQTT_TASK_STACK;
+    }
+    err = ESP_ERR_NO_MEM;
+    if (config->host) {
+        cfg->host = strdup(config->host);
+        ESP_MEM_CHECK(TAG, cfg->host, goto _mqtt_set_config_failed);
+    }
+    cfg->port = config->port;
+
+    if (config->username) {
+        client->connect_info.username = strdup(config->username);
+        ESP_MEM_CHECK(TAG, client->connect_info.username, goto _mqtt_set_config_failed);
+    }
+
+    if (config->password) {
+        client->connect_info.password = strdup(config->password);
+        ESP_MEM_CHECK(TAG, client->connect_info.password, goto _mqtt_set_config_failed);
+    }
+
+    if (config->client_id) {
+        client->connect_info.client_id = strdup(config->client_id);
+    } else {
+        client->connect_info.client_id = platform_create_id_string();
+    }
+    ESP_MEM_CHECK(TAG, client->connect_info.client_id, goto _mqtt_set_config_failed);
+    ESP_LOGD(TAG, "MQTT client_id=%s", client->connect_info.client_id);
+
+    if (config->uri) {
+        cfg->uri = strdup(config->uri);
+        ESP_MEM_CHECK(TAG, cfg->uri, goto _mqtt_set_config_failed);
+    }
+
+    if (config->lwt_topic) {
+        client->connect_info.will_topic = strdup(config->lwt_topic);
+        ESP_MEM_CHECK(TAG, client->connect_info.will_topic, goto _mqtt_set_config_failed);
+    }
+
+    if (config->lwt_msg_len) {
+        client->connect_info.will_message = malloc(config->lwt_msg_len);
+        ESP_MEM_CHECK(TAG, client->connect_info.will_message, goto _mqtt_set_config_failed);
+        memcpy(client->connect_info.will_message, config->lwt_msg, config->lwt_msg_len);
+        client->connect_info.will_length = config->lwt_msg_len;
+    } else if (config->lwt_msg) {
+        client->connect_info.will_message = strdup(config->lwt_msg);
+        ESP_MEM_CHECK(TAG, client->connect_info.will_message, goto _mqtt_set_config_failed);
+        client->connect_info.will_length = strlen(config->lwt_msg);
+    }
+
+    client->connect_info.will_qos = config->lwt_qos;
+    client->connect_info.will_retain = config->lwt_retain;
+
+    client->connect_info.clean_session = 1;
+    if (config->disable_clean_session) {
+        client->connect_info.clean_session = false;
+    }
+    client->connect_info.keepalive = config->keepalive;
+    if (client->connect_info.keepalive == 0) {
+        client->connect_info.keepalive = MQTT_KEEPALIVE_TICK;
+    }
+    cfg->network_timeout_ms = MQTT_NETWORK_TIMEOUT_MS;
+    cfg->user_context = config->user_context;
+    cfg->event_handle = config->event_handle;
+    cfg->auto_reconnect = true;
+    if (config->disable_auto_reconnect) {
+        cfg->auto_reconnect = false;
+    }
+
+
+    return err;
+_mqtt_set_config_failed:
+    esp_mqtt_destroy_config(client);
+    return err;
+}
+
+static esp_err_t esp_mqtt_destroy_config(esp_mqtt_client_handle_t client)
+{
+    mqtt_config_storage_t *cfg = client->config;
+    free(cfg->host);
+    free(cfg->uri);
+    free(cfg->path);
+    free(cfg->scheme);
+    free(client->connect_info.will_topic);
+    free(client->connect_info.will_message);
+    free(client->connect_info.client_id);
+    free(client->connect_info.username);
+    free(client->connect_info.password);
+    free(client->config);
+    return ESP_OK;
+}
+
+static esp_err_t esp_mqtt_connect(esp_mqtt_client_handle_t client, int timeout_ms)
+{
+    int write_len, read_len, connect_rsp_code;
+    client->wait_for_ping_resp = false;
+    mqtt_msg_init(&client->mqtt_state.mqtt_connection,
+                  client->mqtt_state.out_buffer,
+                  client->mqtt_state.out_buffer_length);
+    client->mqtt_state.outbound_message = mqtt_msg_connect(&client->mqtt_state.mqtt_connection,
+                                          client->mqtt_state.connect_info);
+    client->mqtt_state.pending_msg_type = mqtt_get_type(client->mqtt_state.outbound_message->data);
+    client->mqtt_state.pending_msg_id = mqtt_get_id(client->mqtt_state.outbound_message->data,
+                                        client->mqtt_state.outbound_message->length);
+    ESP_LOGI(TAG, "Sending MQTT CONNECT message, type: %d, id: %04X",
+             client->mqtt_state.pending_msg_type,
+             client->mqtt_state.pending_msg_id);
+
+    write_len = esp_transport_write(client->transport,
+                                (char *)client->mqtt_state.outbound_message->data,
+                                client->mqtt_state.outbound_message->length,
+                                client->config->network_timeout_ms);
+    if (write_len < 0) {
+        ESP_LOGE(TAG, "Writing failed, errno= %d", errno);
+        return ESP_FAIL;
+    }
+    read_len = esp_transport_read(client->transport,
+                              (char *)client->mqtt_state.in_buffer,
+                              client->mqtt_state.in_buffer_length,
+                              client->config->network_timeout_ms);
+    if (read_len < 0) {
+        ESP_LOGE(TAG, "Error network response");
+        return ESP_FAIL;
+    }
+
+    if (mqtt_get_type(client->mqtt_state.in_buffer) != MQTT_MSG_TYPE_CONNACK) {
+        ESP_LOGE(TAG, "Invalid MSG_TYPE response: %d, read_len: %d", mqtt_get_type(client->mqtt_state.in_buffer), read_len);
+        return ESP_FAIL;
+    }
+    connect_rsp_code = mqtt_get_connect_return_code(client->mqtt_state.in_buffer);
+    switch (connect_rsp_code) {
+        case CONNECTION_ACCEPTED:
+            ESP_LOGD(TAG, "Connected");
+            return ESP_OK;
+        case CONNECTION_REFUSE_PROTOCOL:
+            ESP_LOGW(TAG, "Connection refused, bad protocol");
+            return ESP_FAIL;
+        case CONNECTION_REFUSE_SERVER_UNAVAILABLE:
+            ESP_LOGW(TAG, "Connection refused, server unavailable");
+            return ESP_FAIL;
+        case CONNECTION_REFUSE_BAD_USERNAME:
+            ESP_LOGW(TAG, "Connection refused, bad username or password");
+            return ESP_FAIL;
+        case CONNECTION_REFUSE_NOT_AUTHORIZED:
+            ESP_LOGW(TAG, "Connection refused, not authorized");
+            return ESP_FAIL;
+        default:
+            ESP_LOGW(TAG, "Connection refused, Unknow reason");
+            return ESP_FAIL;
+    }
+    return ESP_OK;
+}
+
+static esp_err_t esp_mqtt_abort_connection(esp_mqtt_client_handle_t client)
+{
+    esp_transport_close(client->transport);
+    client->wait_timeout_ms = MQTT_RECONNECT_TIMEOUT_MS;
+    client->reconnect_tick = platform_tick_get_ms();
+    client->state = MQTT_STATE_WAIT_TIMEOUT;
+    ESP_LOGI(TAG, "Reconnect after %d ms", client->wait_timeout_ms);
+    client->event.event_id = MQTT_EVENT_DISCONNECTED;
+    client->wait_for_ping_resp = false;
+    esp_mqtt_dispatch_event(client);
+    return ESP_OK;
+}
+
+esp_mqtt_client_handle_t esp_mqtt_client_init(const esp_mqtt_client_config_t *config)
+{
+    esp_mqtt_client_handle_t client = calloc(1, sizeof(struct esp_mqtt_client));
+    ESP_MEM_CHECK(TAG, client, return NULL);
+
+    esp_mqtt_set_config(client, config);
+
+    client->transport_list = esp_transport_list_init();
+    ESP_MEM_CHECK(TAG, client->transport_list, goto _mqtt_init_failed);
+
+    esp_transport_handle_t tcp = esp_transport_tcp_init();
+    ESP_MEM_CHECK(TAG, tcp, goto _mqtt_init_failed);
+    esp_transport_set_default_port(tcp, MQTT_TCP_DEFAULT_PORT);
+    esp_transport_list_add(client->transport_list, tcp, "mqtt");
+    if (config->transport == MQTT_TRANSPORT_OVER_TCP) {
+        client->config->scheme = create_string("mqtt", 4);
+        ESP_MEM_CHECK(TAG, client->config->scheme, goto _mqtt_init_failed);
+    }
+
+#if MQTT_ENABLE_WS
+    esp_transport_handle_t ws = esp_transport_ws_init(tcp);
+    ESP_MEM_CHECK(TAG, ws, goto _mqtt_init_failed);
+    esp_transport_set_default_port(ws, MQTT_WS_DEFAULT_PORT);
+    esp_transport_list_add(client->transport_list, ws, "ws");
+    if (config->transport == MQTT_TRANSPORT_OVER_WS) {
+        client->config->scheme = create_string("ws", 2);
+        ESP_MEM_CHECK(TAG, client->config->scheme, goto _mqtt_init_failed);
+    }
+#endif
+
+#if MQTT_ENABLE_SSL
+    esp_transport_handle_t ssl = esp_transport_ssl_init();
+    ESP_MEM_CHECK(TAG, ssl, goto _mqtt_init_failed);
+    esp_transport_set_default_port(ssl, MQTT_SSL_DEFAULT_PORT);
+    if (config->cert_pem) {
+        esp_transport_ssl_set_cert_data(ssl, config->cert_pem, strlen(config->cert_pem));
+    }
+    if (config->client_cert_pem) {
+        esp_transport_ssl_set_client_cert_data(ssl, config->client_cert_pem, strlen(config->client_cert_pem));
+    }
+    if (config->client_key_pem) {
+        esp_transport_ssl_set_client_key_data(ssl, config->client_key_pem, strlen(config->client_key_pem));
+    }
+    esp_transport_list_add(client->transport_list, ssl, "mqtts");
+    if (config->transport == MQTT_TRANSPORT_OVER_SSL) {
+        client->config->scheme = create_string("mqtts", 5);
+        ESP_MEM_CHECK(TAG, client->config->scheme, goto _mqtt_init_failed);
+    }
+#endif
+
+#if MQTT_ENABLE_WSS
+    esp_transport_handle_t wss = esp_transport_ws_init(ssl);
+    ESP_MEM_CHECK(TAG, wss, goto _mqtt_init_failed);
+    esp_transport_set_default_port(wss, MQTT_WSS_DEFAULT_PORT);
+    esp_transport_list_add(client->transport_list, wss, "wss");
+    if (config->transport == MQTT_TRANSPORT_OVER_WSS) {
+        client->config->scheme = create_string("wss", 3);
+        ESP_MEM_CHECK(TAG, client->config->scheme, goto _mqtt_init_failed);
+    }
+#endif
+    if (client->config->uri) {
+        if (esp_mqtt_client_set_uri(client, client->config->uri) != ESP_OK) {
+            goto _mqtt_init_failed;
+        }
+    }
+
+    if (client->config->scheme == NULL) {
+        client->config->scheme = create_string("mqtt", 4);
+        ESP_MEM_CHECK(TAG, client->config->scheme, goto _mqtt_init_failed);
+    }
+
+    client->keepalive_tick = platform_tick_get_ms();
+    client->reconnect_tick = platform_tick_get_ms();
+    client->wait_for_ping_resp = false;
+    int buffer_size = config->buffer_size;
+    if (buffer_size <= 0) {
+        buffer_size = MQTT_BUFFER_SIZE_BYTE;
+    }
+
+    client->mqtt_state.in_buffer = (uint8_t *)malloc(buffer_size);
+    ESP_MEM_CHECK(TAG, client->mqtt_state.in_buffer, goto _mqtt_init_failed);
+    client->mqtt_state.in_buffer_length = buffer_size;
+    client->mqtt_state.out_buffer = (uint8_t *)malloc(buffer_size);
+    ESP_MEM_CHECK(TAG, client->mqtt_state.out_buffer, goto _mqtt_init_failed);
+
+    client->mqtt_state.out_buffer_length = buffer_size;
+    client->mqtt_state.connect_info = &client->connect_info;
+    client->outbox = outbox_init();
+    ESP_MEM_CHECK(TAG, client->outbox, goto _mqtt_init_failed);
+    client->status_bits = xEventGroupCreate();
+    ESP_MEM_CHECK(TAG, client->status_bits, goto _mqtt_init_failed);
+    return client;
+_mqtt_init_failed:
+    esp_mqtt_client_destroy(client);
+    return NULL;
+}
+
+esp_err_t esp_mqtt_client_destroy(esp_mqtt_client_handle_t client)
+{
+    esp_mqtt_client_stop(client);
+    esp_mqtt_destroy_config(client);
+    esp_transport_list_destroy(client->transport_list);
+    outbox_destroy(client->outbox);
+    vEventGroupDelete(client->status_bits);
+    free(client->mqtt_state.in_buffer);
+    free(client->mqtt_state.out_buffer);
+    free(client);
+    return ESP_OK;
+}
+
+static char *create_string(const char *ptr, int len)
+{
+    char *ret;
+    if (len <= 0) {
+        return NULL;
+    }
+    ret = calloc(1, len + 1);
+    ESP_MEM_CHECK(TAG, ret, return NULL);
+    memcpy(ret, ptr, len);
+    return ret;
+}
+
+esp_err_t esp_mqtt_client_set_uri(esp_mqtt_client_handle_t client, const char *uri)
+{
+    struct http_parser_url puri;
+    http_parser_url_init(&puri);
+    int parser_status = http_parser_parse_url(uri, strlen(uri), 0, &puri);
+    if (parser_status != 0) {
+        ESP_LOGE(TAG, "Error parse uri = %s", uri);
+        return ESP_FAIL;
+    }
+
+    if (client->config->scheme == NULL) {
+        client->config->scheme = create_string(uri + puri.field_data[UF_SCHEMA].off, puri.field_data[UF_SCHEMA].len);
+    }
+
+    if (client->config->host == NULL) {
+        client->config->host = create_string(uri + puri.field_data[UF_HOST].off, puri.field_data[UF_HOST].len);
+    }
+
+    if (client->config->path == NULL) {
+        client->config->path = create_string(uri + puri.field_data[UF_PATH].off, puri.field_data[UF_PATH].len);
+    }
+    if (client->config->path) {
+        esp_transport_handle_t trans = esp_transport_list_get_transport(client->transport_list, "ws");
+        if (trans) {
+            esp_transport_ws_set_path(trans, client->config->path);
+        }
+        trans = esp_transport_list_get_transport(client->transport_list, "wss");
+        if (trans) {
+            esp_transport_ws_set_path(trans, client->config->path);
+        }
+    }
+
+    if (puri.field_data[UF_PORT].len) {
+        client->config->port = strtol((const char*)(uri + puri.field_data[UF_PORT].off), NULL, 10);
+    }
+
+    char *user_info = create_string(uri + puri.field_data[UF_USERINFO].off, puri.field_data[UF_USERINFO].len);
+    if (user_info) {
+        char *pass = strchr(user_info, ':');
+        if (pass) {
+            pass[0] = 0; //terminal username
+            pass ++;
+            client->connect_info.password = strdup(pass);
+        }
+        client->connect_info.username = strdup(user_info);
+
+        free(user_info);
+    }
+
+    return ESP_OK;
+}
+
+static esp_err_t mqtt_write_data(esp_mqtt_client_handle_t client)
+{
+    int write_len = esp_transport_write(client->transport,
+                                    (char *)client->mqtt_state.outbound_message->data,
+                                    client->mqtt_state.outbound_message->length,
+                                    client->config->network_timeout_ms);
+    // client->mqtt_state.pending_msg_type = mqtt_get_type(client->mqtt_state.outbound_message->data);
+    if (write_len <= 0) {
+        ESP_LOGE(TAG, "Error write data or timeout, written len = %d", write_len);
+        return ESP_FAIL;
+    }
+    /* we've just sent a mqtt control packet, update keepalive counter
+     * [MQTT-3.1.2-23]
+     */
+    client->keepalive_tick = platform_tick_get_ms();
+    return ESP_OK;
+}
+
+static esp_err_t esp_mqtt_dispatch_event(esp_mqtt_client_handle_t client)
+{
+    client->event.msg_id = mqtt_get_id(client->mqtt_state.in_buffer, client->mqtt_state.in_buffer_length);
+    client->event.user_context = client->config->user_context;
+    client->event.client = client;
+
+    if (client->config->event_handle) {
+        return client->config->event_handle(&client->event);
+    }
+    return ESP_FAIL;
+}
+
+
+typedef struct {
+    char *path;
+    char *buffer;
+    esp_transport_handle_t parent;
+} transport_ws_t;
+
+static void deliver_publish(esp_mqtt_client_handle_t client, uint8_t *message, int length)
+{
+    const char *mqtt_topic, *mqtt_data;
+    uint32_t mqtt_topic_length, mqtt_data_length;
+    uint32_t mqtt_len, mqtt_offset = 0, total_mqtt_len = 0;
+    int len_read;
+    esp_transport_handle_t transport = client->transport;
+
+    do
+    {
+        if (total_mqtt_len == 0) {
+            mqtt_topic_length = length;
+            mqtt_topic = mqtt_get_publish_topic(message, &mqtt_topic_length);
+            mqtt_data_length = length;
+            mqtt_data = mqtt_get_publish_data(message, &mqtt_data_length);
+            total_mqtt_len = client->mqtt_state.message_length - client->mqtt_state.message_length_read + mqtt_data_length;
+            mqtt_len = mqtt_data_length;
+            /* any further reading only the underlying payload */
+            transport = esp_transport_get_payload_transport_handle(transport);
+        } else {
+            mqtt_len = len_read;
+            mqtt_data = (const char*)client->mqtt_state.in_buffer;
+            mqtt_topic = NULL;
+            mqtt_topic_length = 0;
+        }
+
+        ESP_LOGD(TAG, "Get data len= %d, topic len=%d", mqtt_len, mqtt_topic_length);
+        client->event.event_id = MQTT_EVENT_DATA;
+        client->event.data = (char *)mqtt_data;
+        client->event.data_len = mqtt_len;
+        client->event.total_data_len = total_mqtt_len;
+        client->event.current_data_offset = mqtt_offset;
+        client->event.topic = (char *)mqtt_topic;
+        client->event.topic_len = mqtt_topic_length;
+        esp_mqtt_dispatch_event(client);
+
+        mqtt_offset += mqtt_len;
+        if (client->mqtt_state.message_length_read >= client->mqtt_state.message_length) {
+            break;
+        }
+
+        len_read = esp_transport_read(transport,
+                                  (char *)client->mqtt_state.in_buffer,
+                                  client->mqtt_state.message_length - client->mqtt_state.message_length_read > client->mqtt_state.in_buffer_length ?
+                                  client->mqtt_state.in_buffer_length : client->mqtt_state.message_length - client->mqtt_state.message_length_read,
+                                  client->config->network_timeout_ms);
+        if (len_read <= 0) {
+            ESP_LOGE(TAG, "Read error or timeout: %d", errno);
+            break;
+        }
+        client->mqtt_state.message_length_read += len_read;
+    } while (1);
+
+
+}
+
+static bool is_valid_mqtt_msg(esp_mqtt_client_handle_t client, int msg_type, int msg_id)
+{
+    ESP_LOGD(TAG, "pending_id=%d, pending_msg_count = %d", client->mqtt_state.pending_msg_id, client->mqtt_state.pending_msg_count);
+    if (client->mqtt_state.pending_msg_count == 0) {
+        return false;
+    }
+    if (outbox_delete(client->outbox, msg_id, msg_type) == ESP_OK) {
+        client->mqtt_state.pending_msg_count --;
+        return true;
+    }
+    if (client->mqtt_state.pending_msg_type == msg_type && client->mqtt_state.pending_msg_id == msg_id) {
+        client->mqtt_state.pending_msg_count --;
+        return true;
+    }
+
+    return false;
+}
+
+static void mqtt_enqueue(esp_mqtt_client_handle_t client)
+{
+    ESP_LOGD(TAG, "mqtt_enqueue id: %d, type=%d successful",
+             client->mqtt_state.pending_msg_id, client->mqtt_state.pending_msg_type);
+    //lock mutex
+    if (client->mqtt_state.pending_msg_count > 0) {
+        //Copy to queue buffer
+        outbox_enqueue(client->outbox,
+                       client->mqtt_state.outbound_message->data,
+                       client->mqtt_state.outbound_message->length,
+                       client->mqtt_state.pending_msg_id,
+                       client->mqtt_state.pending_msg_type,
+                       platform_tick_get_ms());
+    }
+    //unlock
+}
+
+static esp_err_t mqtt_process_receive(esp_mqtt_client_handle_t client)
+{
+    int read_len;
+    uint8_t msg_type;
+    uint8_t msg_qos;
+    uint16_t msg_id;
+
+    read_len = esp_transport_read(client->transport, (char *)client->mqtt_state.in_buffer, client->mqtt_state.in_buffer_length, 1000);
+
+    if (read_len < 0) {
+        ESP_LOGE(TAG, "Read error or end of stream");
+        return ESP_FAIL;
+    }
+
+    if (read_len == 0) {
+        return ESP_OK;
+    }
+
+    msg_type = mqtt_get_type(client->mqtt_state.in_buffer);
+    msg_qos = mqtt_get_qos(client->mqtt_state.in_buffer);
+    msg_id = mqtt_get_id(client->mqtt_state.in_buffer, client->mqtt_state.in_buffer_length);
+
+    ESP_LOGD(TAG, "msg_type=%d, msg_id=%d", msg_type, msg_id);
+    switch (msg_type)
+    {
+        case MQTT_MSG_TYPE_SUBACK:
+            if (is_valid_mqtt_msg(client, MQTT_MSG_TYPE_SUBSCRIBE, msg_id)) {
+                ESP_LOGD(TAG, "Subscribe successful");
+                client->event.event_id = MQTT_EVENT_SUBSCRIBED;
+                esp_mqtt_dispatch_event(client);
+            }
+            break;
+        case MQTT_MSG_TYPE_UNSUBACK:
+            if (is_valid_mqtt_msg(client, MQTT_MSG_TYPE_UNSUBSCRIBE, msg_id)) {
+                ESP_LOGD(TAG, "UnSubscribe successful");
+                client->event.event_id = MQTT_EVENT_UNSUBSCRIBED;
+                esp_mqtt_dispatch_event(client);
+            }
+            break;
+        case MQTT_MSG_TYPE_PUBLISH:
+            if (msg_qos == 1) {
+                client->mqtt_state.outbound_message = mqtt_msg_puback(&client->mqtt_state.mqtt_connection, msg_id);
+            }
+            else if (msg_qos == 2) {
+                client->mqtt_state.outbound_message = mqtt_msg_pubrec(&client->mqtt_state.mqtt_connection, msg_id);
+            }
+
+            if (msg_qos == 1 || msg_qos == 2) {
+                ESP_LOGD(TAG, "Queue response QoS: %d", msg_qos);
+
+                if (mqtt_write_data(client) != ESP_OK) {
+                    ESP_LOGE(TAG, "Error write qos msg repsonse, qos = %d", msg_qos);
+                    // TODO: Shoule reconnect?
+                    // return ESP_FAIL;
+                }
+            }
+            client->mqtt_state.message_length_read = read_len;
+            client->mqtt_state.message_length = mqtt_get_total_length(client->mqtt_state.in_buffer, client->mqtt_state.message_length_read);
+            ESP_LOGI(TAG, "deliver_publish, message_length_read=%d, message_length=%d", read_len, client->mqtt_state.message_length);
+
+            deliver_publish(client, client->mqtt_state.in_buffer, client->mqtt_state.message_length_read);
+            break;
+        case MQTT_MSG_TYPE_PUBACK:
+            if (is_valid_mqtt_msg(client, MQTT_MSG_TYPE_PUBLISH, msg_id)) {
+                ESP_LOGD(TAG, "received MQTT_MSG_TYPE_PUBACK, finish QoS1 publish");
+                client->event.event_id = MQTT_EVENT_PUBLISHED;
+                esp_mqtt_dispatch_event(client);
+            }
+
+            break;
+        case MQTT_MSG_TYPE_PUBREC:
+            ESP_LOGD(TAG, "received MQTT_MSG_TYPE_PUBREC");
+            client->mqtt_state.outbound_message = mqtt_msg_pubrel(&client->mqtt_state.mqtt_connection, msg_id);
+            mqtt_write_data(client);
+            break;
+        case MQTT_MSG_TYPE_PUBREL:
+            ESP_LOGD(TAG, "received MQTT_MSG_TYPE_PUBREL");
+            client->mqtt_state.outbound_message = mqtt_msg_pubcomp(&client->mqtt_state.mqtt_connection, msg_id);
+            mqtt_write_data(client);
+
+            break;
+        case MQTT_MSG_TYPE_PUBCOMP:
+            ESP_LOGD(TAG, "received MQTT_MSG_TYPE_PUBCOMP");
+            if (is_valid_mqtt_msg(client, MQTT_MSG_TYPE_PUBLISH, msg_id)) {
+                ESP_LOGD(TAG, "Receive MQTT_MSG_TYPE_PUBCOMP, finish QoS2 publish");
+                client->event.event_id = MQTT_EVENT_PUBLISHED;
+                esp_mqtt_dispatch_event(client);
+            }
+            break;
+        case MQTT_MSG_TYPE_PINGRESP:
+            ESP_LOGD(TAG, "MQTT_MSG_TYPE_PINGRESP");
+            client->wait_for_ping_resp = false;
+            break;
+    }
+
+    return ESP_OK;
+}
+
+static void esp_mqtt_task(void *pv)
+{
+    esp_mqtt_client_handle_t client = (esp_mqtt_client_handle_t) pv;
+    client->run = true;
+
+    //get transport by scheme
+    client->transport = esp_transport_list_get_transport(client->transport_list, client->config->scheme);
+
+    if (client->transport == NULL) {
+        ESP_LOGE(TAG, "There are no transports valid, stop mqtt client, config scheme = %s", client->config->scheme);
+        client->run = false;
+    }
+    //default port
+    if (client->config->port == 0) {
+        client->config->port = esp_transport_get_default_port(client->transport);
+    }
+
+    client->state = MQTT_STATE_INIT;
+    xEventGroupClearBits(client->status_bits, STOPPED_BIT);
+    while (client->run) {
+
+        switch ((int)client->state) {
+            case MQTT_STATE_INIT:
+                if (client->transport == NULL) {
+                    ESP_LOGE(TAG, "There are no transport");
+                    client->run = false;
+                }
+
+                if (esp_transport_connect(client->transport,
+                                      client->config->host,
+                                      client->config->port,
+                                      client->config->network_timeout_ms) < 0) {
+                    ESP_LOGE(TAG, "Error transport connect");
+                    esp_mqtt_abort_connection(client);
+                    break;
+                }
+                ESP_LOGD(TAG, "Transport connected to %s://%s:%d", client->config->scheme, client->config->host, client->config->port);
+                if (esp_mqtt_connect(client, client->config->network_timeout_ms) != ESP_OK) {
+                    ESP_LOGI(TAG, "Error MQTT Connected");
+                    esp_mqtt_abort_connection(client);
+                    break;
+                }
+                client->event.event_id = MQTT_EVENT_CONNECTED;
+                client->event.session_present = mqtt_get_connect_session_present(client->mqtt_state.in_buffer);
+                client->state = MQTT_STATE_CONNECTED;
+                esp_mqtt_dispatch_event(client);
+
+                break;
+            case MQTT_STATE_CONNECTED:
+                // receive and process data
+                if (mqtt_process_receive(client) == ESP_FAIL) {
+                    esp_mqtt_abort_connection(client);
+                    break;
+                }
+
+                if (platform_tick_get_ms() - client->keepalive_tick > client->connect_info.keepalive * 1000 / 2) {
+                    //No ping resp from last ping => Disconnected
+                	if(client->wait_for_ping_resp){
+                    	ESP_LOGE(TAG, "No PING_RESP, disconnected");
+                    	esp_mqtt_abort_connection(client);
+                    	client->wait_for_ping_resp = false;
+                    	break;
+                    }
+                	if (esp_mqtt_client_ping(client) == ESP_FAIL) {
+                        ESP_LOGE(TAG, "Can't send ping, disconnected");
+                        esp_mqtt_abort_connection(client);
+                        break;
+                    } else {
+                    	client->wait_for_ping_resp = true;
+                    }
+                	ESP_LOGD(TAG, "PING sent");
+                }
+
+                //Delete mesaage after 30 senconds
+                outbox_delete_expired(client->outbox, platform_tick_get_ms(), OUTBOX_EXPIRED_TIMEOUT_MS);
+                //
+                outbox_cleanup(client->outbox, OUTBOX_MAX_SIZE);
+                break;
+            case MQTT_STATE_WAIT_TIMEOUT:
+
+                if (!client->config->auto_reconnect) {
+                    client->run = false;
+                    break;
+                }
+                if (platform_tick_get_ms() - client->reconnect_tick > client->wait_timeout_ms) {
+                    client->state = MQTT_STATE_INIT;
+                    client->reconnect_tick = platform_tick_get_ms();
+                    ESP_LOGD(TAG, "Reconnecting...");
+                }
+                vTaskDelay(client->wait_timeout_ms / 2 / portTICK_RATE_MS);
+                break;
+        }
+    }
+    esp_transport_close(client->transport);
+    xEventGroupSetBits(client->status_bits, STOPPED_BIT);
+
+    vTaskDelete(NULL);
+}
+
+esp_err_t esp_mqtt_client_start(esp_mqtt_client_handle_t client)
+{
+    if (client->state >= MQTT_STATE_INIT) {
+        ESP_LOGE(TAG, "Client has started");
+        return ESP_FAIL;
+    }
+#if MQTT_CORE_SELECTION_ENABLED
+        ESP_LOGD(TAG, "Core selection enabled on %u", MQTT_TASK_CORE);
+        if (xTaskCreatePinnedToCore(esp_mqtt_task, "mqtt_task", client->config->task_stack, client, client->config->task_prio, NULL, MQTT_TASK_CORE) != pdTRUE) {
+            ESP_LOGE(TAG, "Error create mqtt task");
+            return ESP_FAIL;
+        }
+#else
+        ESP_LOGD(TAG, "Core selection disabled");
+        if (xTaskCreate(esp_mqtt_task, "mqtt_task", client->config->task_stack, client, client->config->task_prio, NULL) != pdTRUE) {
+            ESP_LOGE(TAG, "Error create mqtt task");
+            return ESP_FAIL;
+        }
+#endif
+    return ESP_OK;
+}
+
+esp_err_t esp_mqtt_client_stop(esp_mqtt_client_handle_t client)
+{
+    if (client->run) {
+        client->run = false;
+        xEventGroupWaitBits(client->status_bits, STOPPED_BIT, false, true, portMAX_DELAY);
+        client->state = MQTT_STATE_UNKNOWN;
+        return ESP_OK;
+    } else {
+        ESP_LOGW(TAG, "Client asked to stop, but was not started");
+        return ESP_FAIL;
+    }
+}
+
+static esp_err_t esp_mqtt_client_ping(esp_mqtt_client_handle_t client)
+{
+    client->mqtt_state.outbound_message = mqtt_msg_pingreq(&client->mqtt_state.mqtt_connection);
+
+    if (mqtt_write_data(client) != ESP_OK) {
+        ESP_LOGE(TAG, "Error sending ping");
+        return ESP_FAIL;
+    }
+    ESP_LOGD(TAG, "Sent PING successful");
+    return ESP_OK;
+}
+
+int esp_mqtt_client_subscribe(esp_mqtt_client_handle_t client, const char *topic, int qos)
+{
+    if (client->state != MQTT_STATE_CONNECTED) {
+        ESP_LOGE(TAG, "Client has not connected");
+        return -1;
+    }
+    mqtt_enqueue(client); //move pending msg to outbox (if have)
+    client->mqtt_state.outbound_message = mqtt_msg_subscribe(&client->mqtt_state.mqtt_connection,
+                                          topic, qos,
+                                          &client->mqtt_state.pending_msg_id);
+
+    client->mqtt_state.pending_msg_type = mqtt_get_type(client->mqtt_state.outbound_message->data);
+    client->mqtt_state.pending_msg_count ++;
+
+    if (mqtt_write_data(client) != ESP_OK) {
+        ESP_LOGE(TAG, "Error to subscribe topic=%s, qos=%d", topic, qos);
+        return -1;
+    }
+
+    ESP_LOGD(TAG, "Sent subscribe topic=%s, id: %d, type=%d successful", topic, client->mqtt_state.pending_msg_id, client->mqtt_state.pending_msg_type);
+    return client->mqtt_state.pending_msg_id;
+}
+
+int esp_mqtt_client_unsubscribe(esp_mqtt_client_handle_t client, const char *topic)
+{
+    if (client->state != MQTT_STATE_CONNECTED) {
+        ESP_LOGE(TAG, "Client has not connected");
+        return -1;
+    }
+    mqtt_enqueue(client);
+    client->mqtt_state.outbound_message = mqtt_msg_unsubscribe(&client->mqtt_state.mqtt_connection,
+                                          topic,
+                                          &client->mqtt_state.pending_msg_id);
+    ESP_LOGD(TAG, "unsubscribe, topic\"%s\", id: %d", topic, client->mqtt_state.pending_msg_id);
+
+    client->mqtt_state.pending_msg_type = mqtt_get_type(client->mqtt_state.outbound_message->data);
+    client->mqtt_state.pending_msg_count ++;
+
+    if (mqtt_write_data(client) != ESP_OK) {
+        ESP_LOGE(TAG, "Error to unsubscribe topic=%s", topic);
+        return -1;
+    }
+
+    ESP_LOGD(TAG, "Sent Unsubscribe topic=%s, id: %d, successful", topic, client->mqtt_state.pending_msg_id);
+    return client->mqtt_state.pending_msg_id;
+}
+
+int esp_mqtt_client_publish(esp_mqtt_client_handle_t client, const char *topic, const char *data, int len, int qos, int retain)
+{
+    uint16_t pending_msg_id = 0;
+    if (client->state != MQTT_STATE_CONNECTED) {
+        ESP_LOGE(TAG, "Client has not connected");
+        return -1;
+    }
+    if (len <= 0) {
+        len = strlen(data);
+    }
+
+    mqtt_message_t *publish_msg = mqtt_msg_publish(&client->mqtt_state.mqtt_connection,
+                                  topic, data, len,
+                                  qos, retain,
+                                  &pending_msg_id);
+
+    /* We have to set as pending all the qos>0 messages) */
+    if (qos > 0) {
+        mqtt_enqueue(client);
+        client->mqtt_state.outbound_message = publish_msg;
+        client->mqtt_state.pending_msg_type = mqtt_get_type(client->mqtt_state.outbound_message->data);
+        client->mqtt_state.pending_msg_id = pending_msg_id;
+        client->mqtt_state.pending_msg_count ++;
+    } else {
+        client->mqtt_state.outbound_message = publish_msg;
+    }
+
+    if (mqtt_write_data(client) != ESP_OK) {
+        ESP_LOGE(TAG, "Error to public data to topic=%s, qos=%d", topic, qos);
+        return -1;
+    }
+    return pending_msg_id;
+}
+
+
diff --git a/components/mqtt/paho/MQTTClient-C/src/FreeRTOS/MQTTFreeRTOS.c b/components/mqtt/ibm-mqtt/MQTTClient-C/src/FreeRTOS/MQTTFreeRTOS.c
similarity index 100%
rename from components/mqtt/paho/MQTTClient-C/src/FreeRTOS/MQTTFreeRTOS.c
rename to components/mqtt/ibm-mqtt/MQTTClient-C/src/FreeRTOS/MQTTFreeRTOS.c
diff --git a/components/mqtt/paho/MQTTClient-C/src/FreeRTOS/MQTTFreeRTOS.h b/components/mqtt/ibm-mqtt/MQTTClient-C/src/FreeRTOS/MQTTFreeRTOS.h
similarity index 100%
rename from components/mqtt/paho/MQTTClient-C/src/FreeRTOS/MQTTFreeRTOS.h
rename to components/mqtt/ibm-mqtt/MQTTClient-C/src/FreeRTOS/MQTTFreeRTOS.h
diff --git a/components/mqtt/paho/MQTTClient-C/src/MQTTClient.c b/components/mqtt/ibm-mqtt/MQTTClient-C/src/MQTTClient.c
similarity index 100%
rename from components/mqtt/paho/MQTTClient-C/src/MQTTClient.c
rename to components/mqtt/ibm-mqtt/MQTTClient-C/src/MQTTClient.c
diff --git a/components/mqtt/paho/MQTTClient-C/src/MQTTClient.h b/components/mqtt/ibm-mqtt/MQTTClient-C/src/MQTTClient.h
similarity index 100%
rename from components/mqtt/paho/MQTTClient-C/src/MQTTClient.h
rename to components/mqtt/ibm-mqtt/MQTTClient-C/src/MQTTClient.h
diff --git a/components/mqtt/paho/MQTTPacket/src/MQTTConnect.h b/components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTConnect.h
similarity index 100%
rename from components/mqtt/paho/MQTTPacket/src/MQTTConnect.h
rename to components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTConnect.h
diff --git a/components/mqtt/paho/MQTTPacket/src/MQTTConnectClient.c b/components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTConnectClient.c
similarity index 100%
rename from components/mqtt/paho/MQTTPacket/src/MQTTConnectClient.c
rename to components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTConnectClient.c
diff --git a/components/mqtt/paho/MQTTPacket/src/MQTTConnectServer.c b/components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTConnectServer.c
similarity index 100%
rename from components/mqtt/paho/MQTTPacket/src/MQTTConnectServer.c
rename to components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTConnectServer.c
diff --git a/components/mqtt/paho/MQTTPacket/src/MQTTDeserializePublish.c b/components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTDeserializePublish.c
similarity index 100%
rename from components/mqtt/paho/MQTTPacket/src/MQTTDeserializePublish.c
rename to components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTDeserializePublish.c
diff --git a/components/mqtt/paho/MQTTPacket/src/MQTTFormat.c b/components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTFormat.c
similarity index 100%
rename from components/mqtt/paho/MQTTPacket/src/MQTTFormat.c
rename to components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTFormat.c
diff --git a/components/mqtt/paho/MQTTPacket/src/MQTTFormat.h b/components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTFormat.h
similarity index 100%
rename from components/mqtt/paho/MQTTPacket/src/MQTTFormat.h
rename to components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTFormat.h
diff --git a/components/mqtt/paho/MQTTPacket/src/MQTTPacket.c b/components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTPacket.c
similarity index 100%
rename from components/mqtt/paho/MQTTPacket/src/MQTTPacket.c
rename to components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTPacket.c
diff --git a/components/mqtt/paho/MQTTPacket/src/MQTTPacket.h b/components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTPacket.h
similarity index 100%
rename from components/mqtt/paho/MQTTPacket/src/MQTTPacket.h
rename to components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTPacket.h
diff --git a/components/mqtt/paho/MQTTPacket/src/MQTTPublish.h b/components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTPublish.h
similarity index 100%
rename from components/mqtt/paho/MQTTPacket/src/MQTTPublish.h
rename to components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTPublish.h
diff --git a/components/mqtt/paho/MQTTPacket/src/MQTTSerializePublish.c b/components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTSerializePublish.c
similarity index 100%
rename from components/mqtt/paho/MQTTPacket/src/MQTTSerializePublish.c
rename to components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTSerializePublish.c
diff --git a/components/mqtt/paho/MQTTPacket/src/MQTTSubscribe.h b/components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTSubscribe.h
similarity index 100%
rename from components/mqtt/paho/MQTTPacket/src/MQTTSubscribe.h
rename to components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTSubscribe.h
diff --git a/components/mqtt/paho/MQTTPacket/src/MQTTSubscribeClient.c b/components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTSubscribeClient.c
similarity index 100%
rename from components/mqtt/paho/MQTTPacket/src/MQTTSubscribeClient.c
rename to components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTSubscribeClient.c
diff --git a/components/mqtt/paho/MQTTPacket/src/MQTTSubscribeServer.c b/components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTSubscribeServer.c
similarity index 100%
rename from components/mqtt/paho/MQTTPacket/src/MQTTSubscribeServer.c
rename to components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTSubscribeServer.c
diff --git a/components/mqtt/paho/MQTTPacket/src/MQTTUnsubscribe.h b/components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTUnsubscribe.h
similarity index 100%
rename from components/mqtt/paho/MQTTPacket/src/MQTTUnsubscribe.h
rename to components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTUnsubscribe.h
diff --git a/components/mqtt/paho/MQTTPacket/src/MQTTUnsubscribeClient.c b/components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTUnsubscribeClient.c
similarity index 100%
rename from components/mqtt/paho/MQTTPacket/src/MQTTUnsubscribeClient.c
rename to components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTUnsubscribeClient.c
diff --git a/components/mqtt/paho/MQTTPacket/src/MQTTUnsubscribeServer.c b/components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTUnsubscribeServer.c
similarity index 100%
rename from components/mqtt/paho/MQTTPacket/src/MQTTUnsubscribeServer.c
rename to components/mqtt/ibm-mqtt/MQTTPacket/src/MQTTUnsubscribeServer.c
diff --git a/components/mqtt/paho/MQTTPacket/src/StackTrace.h b/components/mqtt/ibm-mqtt/MQTTPacket/src/StackTrace.h
similarity index 100%
rename from components/mqtt/paho/MQTTPacket/src/StackTrace.h
rename to components/mqtt/ibm-mqtt/MQTTPacket/src/StackTrace.h

From 2d027322de040a5a4b737759fce93dde5c9403fc Mon Sep 17 00:00:00 2001
From: dongheng <Dong Heng>
Date: Mon, 18 Mar 2019 14:53:43 +0800
Subject: [PATCH 2/2] feat(esp-mqtt): Add ESP-MQTT example

---
 .../protocols/esp-mqtt/ssl/CMakeLists.txt     |   9 +
 examples/protocols/esp-mqtt/ssl/Makefile      |   7 +
 examples/protocols/esp-mqtt/ssl/README.md     |  67 +++++++
 .../esp-mqtt/ssl/main/CMakeLists.txt          |   4 +
 .../esp-mqtt/ssl/main/Kconfig.projbuild       |  31 ++++
 .../protocols/esp-mqtt/ssl/main/app_main.c    | 154 ++++++++++++++++
 .../protocols/esp-mqtt/ssl/main/component.mk  |   1 +
 .../esp-mqtt/ssl/main/iot_eclipse_org.pem     |  27 +++
 .../esp-mqtt/ssl/mqtt_ssl_example_test.py     | 121 +++++++++++++
 examples/protocols/esp-mqtt/ssl/sdkconfig.ci  |   2 +
 .../esp-mqtt/ssl_mutual_auth/CMakeLists.txt   |  10 +
 .../esp-mqtt/ssl_mutual_auth/Makefile         |   7 +
 .../esp-mqtt/ssl_mutual_auth/README.md        |  81 +++++++++
 .../ssl_mutual_auth/main/CMakeLists.txt       |   4 +
 .../ssl_mutual_auth/main/Kconfig.projbuild    |  15 ++
 .../esp-mqtt/ssl_mutual_auth/main/app_main.c  | 152 ++++++++++++++++
 .../esp-mqtt/ssl_mutual_auth/main/client.crt  |   1 +
 .../esp-mqtt/ssl_mutual_auth/main/client.key  |   1 +
 .../ssl_mutual_auth/main/component.mk         |   1 +
 .../protocols/esp-mqtt/tcp/CMakeLists.txt     |   7 +
 examples/protocols/esp-mqtt/tcp/Makefile      |   7 +
 examples/protocols/esp-mqtt/tcp/README.md     |  61 +++++++
 .../esp-mqtt/tcp/main/CMakeLists.txt          |   4 +
 .../esp-mqtt/tcp/main/Kconfig.projbuild       |  25 +++
 .../protocols/esp-mqtt/tcp/main/app_main.c    | 171 ++++++++++++++++++
 .../protocols/esp-mqtt/tcp/main/component.mk  |   0
 .../esp-mqtt/tcp/mqtt_tcp_example_test.py     | 109 +++++++++++
 examples/protocols/esp-mqtt/tcp/sdkconfig.ci  |   2 +
 examples/protocols/esp-mqtt/ws/CMakeLists.txt |   7 +
 examples/protocols/esp-mqtt/ws/Makefile       |   7 +
 examples/protocols/esp-mqtt/ws/README.md      |  62 +++++++
 .../protocols/esp-mqtt/ws/main/CMakeLists.txt |   4 +
 .../esp-mqtt/ws/main/Kconfig.projbuild        |  21 +++
 .../protocols/esp-mqtt/ws/main/app_main.c     | 144 +++++++++++++++
 .../protocols/esp-mqtt/ws/main/component.mk   |   0
 .../esp-mqtt/ws/mqtt_ws_example_test.py       | 115 ++++++++++++
 examples/protocols/esp-mqtt/ws/sdkconfig.ci   |   1 +
 .../protocols/esp-mqtt/wss/CMakeLists.txt     |   9 +
 examples/protocols/esp-mqtt/wss/Makefile      |   7 +
 examples/protocols/esp-mqtt/wss/README.md     |  69 +++++++
 .../esp-mqtt/wss/main/CMakeLists.txt          |   4 +
 .../esp-mqtt/wss/main/Kconfig.projbuild       |  31 ++++
 .../protocols/esp-mqtt/wss/main/app_main.c    | 152 ++++++++++++++++
 .../protocols/esp-mqtt/wss/main/component.mk  |   1 +
 .../esp-mqtt/wss/main/iot_eclipse_org.pem     |  27 +++
 .../esp-mqtt/wss/mqtt_wss_example_test.py     | 118 ++++++++++++
 examples/protocols/esp-mqtt/wss/sdkconfig.ci  |   3 +
 .../protocols/{mqtt => ibm-mqtt}/Makefile     |   0
 .../protocols/{mqtt => ibm-mqtt}/README.md    |   0
 .../{mqtt => ibm-mqtt}/main/Kconfig.projbuild |   0
 .../{mqtt => ibm-mqtt}/main/MQTTEcho.c        |   0
 .../{mqtt => ibm-mqtt}/main/component.mk      |   0
 .../{mqtt => ibm-mqtt}/sdkconfig.defaults     |   0
 53 files changed, 1863 insertions(+)
 create mode 100644 examples/protocols/esp-mqtt/ssl/CMakeLists.txt
 create mode 100644 examples/protocols/esp-mqtt/ssl/Makefile
 create mode 100644 examples/protocols/esp-mqtt/ssl/README.md
 create mode 100644 examples/protocols/esp-mqtt/ssl/main/CMakeLists.txt
 create mode 100644 examples/protocols/esp-mqtt/ssl/main/Kconfig.projbuild
 create mode 100644 examples/protocols/esp-mqtt/ssl/main/app_main.c
 create mode 100644 examples/protocols/esp-mqtt/ssl/main/component.mk
 create mode 100644 examples/protocols/esp-mqtt/ssl/main/iot_eclipse_org.pem
 create mode 100644 examples/protocols/esp-mqtt/ssl/mqtt_ssl_example_test.py
 create mode 100644 examples/protocols/esp-mqtt/ssl/sdkconfig.ci
 create mode 100644 examples/protocols/esp-mqtt/ssl_mutual_auth/CMakeLists.txt
 create mode 100644 examples/protocols/esp-mqtt/ssl_mutual_auth/Makefile
 create mode 100644 examples/protocols/esp-mqtt/ssl_mutual_auth/README.md
 create mode 100644 examples/protocols/esp-mqtt/ssl_mutual_auth/main/CMakeLists.txt
 create mode 100644 examples/protocols/esp-mqtt/ssl_mutual_auth/main/Kconfig.projbuild
 create mode 100644 examples/protocols/esp-mqtt/ssl_mutual_auth/main/app_main.c
 create mode 100644 examples/protocols/esp-mqtt/ssl_mutual_auth/main/client.crt
 create mode 100644 examples/protocols/esp-mqtt/ssl_mutual_auth/main/client.key
 create mode 100644 examples/protocols/esp-mqtt/ssl_mutual_auth/main/component.mk
 create mode 100644 examples/protocols/esp-mqtt/tcp/CMakeLists.txt
 create mode 100644 examples/protocols/esp-mqtt/tcp/Makefile
 create mode 100644 examples/protocols/esp-mqtt/tcp/README.md
 create mode 100644 examples/protocols/esp-mqtt/tcp/main/CMakeLists.txt
 create mode 100644 examples/protocols/esp-mqtt/tcp/main/Kconfig.projbuild
 create mode 100644 examples/protocols/esp-mqtt/tcp/main/app_main.c
 create mode 100644 examples/protocols/esp-mqtt/tcp/main/component.mk
 create mode 100644 examples/protocols/esp-mqtt/tcp/mqtt_tcp_example_test.py
 create mode 100644 examples/protocols/esp-mqtt/tcp/sdkconfig.ci
 create mode 100644 examples/protocols/esp-mqtt/ws/CMakeLists.txt
 create mode 100644 examples/protocols/esp-mqtt/ws/Makefile
 create mode 100644 examples/protocols/esp-mqtt/ws/README.md
 create mode 100644 examples/protocols/esp-mqtt/ws/main/CMakeLists.txt
 create mode 100644 examples/protocols/esp-mqtt/ws/main/Kconfig.projbuild
 create mode 100644 examples/protocols/esp-mqtt/ws/main/app_main.c
 create mode 100644 examples/protocols/esp-mqtt/ws/main/component.mk
 create mode 100644 examples/protocols/esp-mqtt/ws/mqtt_ws_example_test.py
 create mode 100644 examples/protocols/esp-mqtt/ws/sdkconfig.ci
 create mode 100644 examples/protocols/esp-mqtt/wss/CMakeLists.txt
 create mode 100644 examples/protocols/esp-mqtt/wss/Makefile
 create mode 100644 examples/protocols/esp-mqtt/wss/README.md
 create mode 100644 examples/protocols/esp-mqtt/wss/main/CMakeLists.txt
 create mode 100644 examples/protocols/esp-mqtt/wss/main/Kconfig.projbuild
 create mode 100644 examples/protocols/esp-mqtt/wss/main/app_main.c
 create mode 100644 examples/protocols/esp-mqtt/wss/main/component.mk
 create mode 100644 examples/protocols/esp-mqtt/wss/main/iot_eclipse_org.pem
 create mode 100644 examples/protocols/esp-mqtt/wss/mqtt_wss_example_test.py
 create mode 100644 examples/protocols/esp-mqtt/wss/sdkconfig.ci
 rename examples/protocols/{mqtt => ibm-mqtt}/Makefile (100%)
 rename examples/protocols/{mqtt => ibm-mqtt}/README.md (100%)
 rename examples/protocols/{mqtt => ibm-mqtt}/main/Kconfig.projbuild (100%)
 rename examples/protocols/{mqtt => ibm-mqtt}/main/MQTTEcho.c (100%)
 rename examples/protocols/{mqtt => ibm-mqtt}/main/component.mk (100%)
 rename examples/protocols/{mqtt => ibm-mqtt}/sdkconfig.defaults (100%)

diff --git a/examples/protocols/esp-mqtt/ssl/CMakeLists.txt b/examples/protocols/esp-mqtt/ssl/CMakeLists.txt
new file mode 100644
index 00000000..13bdd8c2
--- /dev/null
+++ b/examples/protocols/esp-mqtt/ssl/CMakeLists.txt
@@ -0,0 +1,9 @@
+# The following four lines of boilerplate have to be in your project's CMakeLists
+# in this exact order for cmake to work correctly
+cmake_minimum_required(VERSION 3.5)
+
+include($ENV{IDF_PATH}/tools/cmake/project.cmake)
+
+project(mqtt_ssl)
+
+target_add_binary_data(mqtt_ssl.elf "main/iot_eclipse_org.pem" TEXT)
diff --git a/examples/protocols/esp-mqtt/ssl/Makefile b/examples/protocols/esp-mqtt/ssl/Makefile
new file mode 100644
index 00000000..bae0d73b
--- /dev/null
+++ b/examples/protocols/esp-mqtt/ssl/Makefile
@@ -0,0 +1,7 @@
+#
+# This is a project Makefile. It is assumed the directory this Makefile resides in is a
+# project subdirectory.
+#
+PROJECT_NAME := mqtt_ssl
+
+include $(IDF_PATH)/make/project.mk
diff --git a/examples/protocols/esp-mqtt/ssl/README.md b/examples/protocols/esp-mqtt/ssl/README.md
new file mode 100644
index 00000000..3d369bdf
--- /dev/null
+++ b/examples/protocols/esp-mqtt/ssl/README.md
@@ -0,0 +1,67 @@
+# ESP-MQTT SSL Sample application
+
+(See the README.md file in the upper level 'examples' directory for more information about examples.)
+
+This example connects to the broker iot.eclipse.org using ssl transport and as a demonstration subscribes/unsubscribes and send a message on certain topic.
+
+It uses ESP-MQTT library which implements mqtt client to connect to mqtt broker.
+
+## How to use example
+
+### Hardware Required
+
+This example can be executed on any ESP32 board, the only required interface is WiFi and connection to internet.
+
+### Configure the project
+
+```
+make menuconfig
+```
+
+* Set serial port under Serial Flasher Options.
+
+* Set ssid and password for the board to connect to AP.
+
+Note how to create a PEM certificate for iot.eclipse.org:
+```
+openssl s_client -showcerts -connect iot.eclipse.org:8883 </dev/null 2>/dev/null|openssl x509 -outform PEM >iot_eclipse_org.pem
+```
+
+### Build and Flash
+
+Build the project and flash it to the board, then run monitor tool to view serial output:
+
+```
+make -j4 flash monitor
+```
+
+(To exit the serial monitor, type ``Ctrl-]``.)
+
+See the Getting Started Guide for full steps to configure and use ESP-IDF to build projects.
+
+## Example Output
+
+```
+I (3714) event: sta ip: 192.168.0.139, mask: 255.255.255.0, gw: 192.168.0.2
+I (3714) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
+I (3964) MQTT_CLIENT: Sending MQTT CONNECT message, type: 1, id: 0000
+I (4164) MQTTS_EXAMPLE: MQTT_EVENT_CONNECTED
+I (4174) MQTTS_EXAMPLE: sent publish successful, msg_id=41464
+I (4174) MQTTS_EXAMPLE: sent subscribe successful, msg_id=17886
+I (4174) MQTTS_EXAMPLE: sent subscribe successful, msg_id=42970
+I (4184) MQTTS_EXAMPLE: sent unsubscribe successful, msg_id=50241
+I (4314) MQTTS_EXAMPLE: MQTT_EVENT_PUBLISHED, msg_id=41464
+I (4484) MQTTS_EXAMPLE: MQTT_EVENT_SUBSCRIBED, msg_id=17886
+I (4484) MQTTS_EXAMPLE: sent publish successful, msg_id=0
+I (4684) MQTTS_EXAMPLE: MQTT_EVENT_SUBSCRIBED, msg_id=42970
+I (4684) MQTTS_EXAMPLE: sent publish successful, msg_id=0
+I (4884) MQTT_CLIENT: deliver_publish, message_length_read=19, message_length=19
+I (4884) MQTTS_EXAMPLE: MQTT_EVENT_DATA
+TOPIC=/topic/qos0
+DATA=data
+I (5194) MQTT_CLIENT: deliver_publish, message_length_read=19, message_length=19
+I (5194) MQTTS_EXAMPLE: MQTT_EVENT_DATA
+TOPIC=/topic/qos0
+DATA=data
+```
+
diff --git a/examples/protocols/esp-mqtt/ssl/main/CMakeLists.txt b/examples/protocols/esp-mqtt/ssl/main/CMakeLists.txt
new file mode 100644
index 00000000..6b035006
--- /dev/null
+++ b/examples/protocols/esp-mqtt/ssl/main/CMakeLists.txt
@@ -0,0 +1,4 @@
+set(COMPONENT_SRCS "app_main.c")
+set(COMPONENT_ADD_INCLUDEDIRS ".")
+
+register_component()
diff --git a/examples/protocols/esp-mqtt/ssl/main/Kconfig.projbuild b/examples/protocols/esp-mqtt/ssl/main/Kconfig.projbuild
new file mode 100644
index 00000000..8b4eda41
--- /dev/null
+++ b/examples/protocols/esp-mqtt/ssl/main/Kconfig.projbuild
@@ -0,0 +1,31 @@
+menu "Example Configuration"
+
+config WIFI_SSID
+    string "WiFi SSID"
+    default "myssid"
+    help
+        SSID (network name) for the example to connect to.
+
+config WIFI_PASSWORD
+    string "WiFi Password"
+    default "mypassword"
+    help
+        WiFi password (WPA or WPA2) for the example to use.
+
+config BROKER_URI
+    string "Broker URL"
+    default "mqtts://iot.eclipse.org:8883"
+    help
+        URL of an mqtt broker which this example connects to.
+
+config BROKER_CERTIFICATE_OVERRIDE
+    string "Broker certificate override"
+    default ""
+    help
+        Please leave empty if broker certificate included from a textfile; otherwise fill in a base64 part of PEM format certificate
+
+config BROKER_CERTIFICATE_OVERRIDDEN
+    bool
+    default y if BROKER_CERTIFICATE_OVERRIDE != ""
+
+endmenu
diff --git a/examples/protocols/esp-mqtt/ssl/main/app_main.c b/examples/protocols/esp-mqtt/ssl/main/app_main.c
new file mode 100644
index 00000000..913ba6cf
--- /dev/null
+++ b/examples/protocols/esp-mqtt/ssl/main/app_main.c
@@ -0,0 +1,154 @@
+#include <stdio.h>
+#include <stdint.h>
+#include <stddef.h>
+#include <string.h>
+#include "esp_wifi.h"
+#include "esp_system.h"
+#include "nvs_flash.h"
+#include "esp_event_loop.h"
+
+#include "freertos/FreeRTOS.h"
+#include "freertos/task.h"
+#include "freertos/semphr.h"
+#include "freertos/queue.h"
+#include "freertos/event_groups.h"
+
+#include "lwip/sockets.h"
+#include "lwip/dns.h"
+#include "lwip/netdb.h"
+
+#include "esp_log.h"
+#include "mqtt_client.h"
+
+static const char *TAG = "MQTTS_EXAMPLE";
+
+static EventGroupHandle_t wifi_event_group;
+const static int CONNECTED_BIT = BIT0;
+
+
+
+static esp_err_t wifi_event_handler(void *ctx, system_event_t *event)
+{
+    switch (event->event_id) {
+        case SYSTEM_EVENT_STA_START:
+            esp_wifi_connect();
+            break;
+        case SYSTEM_EVENT_STA_GOT_IP:
+            xEventGroupSetBits(wifi_event_group, CONNECTED_BIT);
+
+            break;
+        case SYSTEM_EVENT_STA_DISCONNECTED:
+            esp_wifi_connect();
+            xEventGroupClearBits(wifi_event_group, CONNECTED_BIT);
+            break;
+        default:
+            break;
+    }
+    return ESP_OK;
+}
+
+static void wifi_init(void)
+{
+    tcpip_adapter_init();
+    wifi_event_group = xEventGroupCreate();
+    ESP_ERROR_CHECK(esp_event_loop_init(wifi_event_handler, NULL));
+    wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
+    ESP_ERROR_CHECK(esp_wifi_init(&cfg));
+    ESP_ERROR_CHECK(esp_wifi_set_storage(WIFI_STORAGE_RAM));
+    wifi_config_t wifi_config = {
+        .sta = {
+            .ssid = CONFIG_WIFI_SSID,
+            .password = CONFIG_WIFI_PASSWORD,
+        },
+    };
+    ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA));
+    ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_STA, &wifi_config));
+    ESP_LOGI(TAG, "start the WIFI SSID:[%s]", CONFIG_WIFI_SSID);
+    ESP_ERROR_CHECK(esp_wifi_start());
+    ESP_LOGI(TAG, "Waiting for wifi");
+    xEventGroupWaitBits(wifi_event_group, CONNECTED_BIT, false, true, portMAX_DELAY);
+}
+
+#if CONFIG_BROKER_CERTIFICATE_OVERRIDDEN == 1
+static const uint8_t iot_eclipse_org_pem_start[]  = "-----BEGIN CERTIFICATE-----\n" CONFIG_BROKER_CERTIFICATE_OVERRIDE "\n-----END CERTIFICATE-----";
+#else
+extern const uint8_t iot_eclipse_org_pem_start[]   asm("_binary_iot_eclipse_org_pem_start");
+#endif
+extern const uint8_t iot_eclipse_org_pem_end[]   asm("_binary_iot_eclipse_org_pem_end");
+
+static esp_err_t mqtt_event_handler(esp_mqtt_event_handle_t event)
+{
+    esp_mqtt_client_handle_t client = event->client;
+    int msg_id;
+    // your_context_t *context = event->context;
+    switch (event->event_id) {
+        case MQTT_EVENT_CONNECTED:
+            ESP_LOGI(TAG, "MQTT_EVENT_CONNECTED");
+            msg_id = esp_mqtt_client_subscribe(client, "/topic/qos0", 0);
+            ESP_LOGI(TAG, "sent subscribe successful, msg_id=%d", msg_id);
+
+            msg_id = esp_mqtt_client_subscribe(client, "/topic/qos1", 1);
+            ESP_LOGI(TAG, "sent subscribe successful, msg_id=%d", msg_id);
+
+            msg_id = esp_mqtt_client_unsubscribe(client, "/topic/qos1");
+            ESP_LOGI(TAG, "sent unsubscribe successful, msg_id=%d", msg_id);
+            break;
+        case MQTT_EVENT_DISCONNECTED:
+            ESP_LOGI(TAG, "MQTT_EVENT_DISCONNECTED");
+            break;
+
+        case MQTT_EVENT_SUBSCRIBED:
+            ESP_LOGI(TAG, "MQTT_EVENT_SUBSCRIBED, msg_id=%d", event->msg_id);
+            msg_id = esp_mqtt_client_publish(client, "/topic/qos0", "data", 0, 0, 0);
+            ESP_LOGI(TAG, "sent publish successful, msg_id=%d", msg_id);
+            break;
+        case MQTT_EVENT_UNSUBSCRIBED:
+            ESP_LOGI(TAG, "MQTT_EVENT_UNSUBSCRIBED, msg_id=%d", event->msg_id);
+            break;
+        case MQTT_EVENT_PUBLISHED:
+            ESP_LOGI(TAG, "MQTT_EVENT_PUBLISHED, msg_id=%d", event->msg_id);
+            break;
+        case MQTT_EVENT_DATA:
+            ESP_LOGI(TAG, "MQTT_EVENT_DATA");
+            printf("TOPIC=%.*s\r\n", event->topic_len, event->topic);
+            printf("DATA=%.*s\r\n", event->data_len, event->data);
+            break;
+        case MQTT_EVENT_ERROR:
+            ESP_LOGI(TAG, "MQTT_EVENT_ERROR");
+            break;
+    }
+    return ESP_OK;
+}
+
+
+static void mqtt_app_start(void)
+{
+    const esp_mqtt_client_config_t mqtt_cfg = {
+        .uri = CONFIG_BROKER_URI,
+        .event_handle = mqtt_event_handler,
+        .cert_pem = (const char *)iot_eclipse_org_pem_start,
+    };
+
+    ESP_LOGI(TAG, "[APP] Free memory: %d bytes", esp_get_free_heap_size());
+    esp_mqtt_client_handle_t client = esp_mqtt_client_init(&mqtt_cfg);
+    esp_mqtt_client_start(client);
+}
+
+void app_main()
+{
+    ESP_LOGI(TAG, "[APP] Startup..");
+    ESP_LOGI(TAG, "[APP] Free memory: %d bytes", esp_get_free_heap_size());
+    ESP_LOGI(TAG, "[APP] IDF version: %s", esp_get_idf_version());
+
+    esp_log_level_set("*", ESP_LOG_INFO);
+    esp_log_level_set("MQTT_CLIENT", ESP_LOG_VERBOSE);
+    esp_log_level_set("TRANSPORT_TCP", ESP_LOG_VERBOSE);
+    esp_log_level_set("TRANSPORT_SSL", ESP_LOG_VERBOSE);
+    esp_log_level_set("TRANSPORT", ESP_LOG_VERBOSE);
+    esp_log_level_set("OUTBOX", ESP_LOG_VERBOSE);
+
+    nvs_flash_init();
+    wifi_init();
+    mqtt_app_start();
+
+}
diff --git a/examples/protocols/esp-mqtt/ssl/main/component.mk b/examples/protocols/esp-mqtt/ssl/main/component.mk
new file mode 100644
index 00000000..797c4a1f
--- /dev/null
+++ b/examples/protocols/esp-mqtt/ssl/main/component.mk
@@ -0,0 +1 @@
+COMPONENT_EMBED_TXTFILES := iot_eclipse_org.pem
diff --git a/examples/protocols/esp-mqtt/ssl/main/iot_eclipse_org.pem b/examples/protocols/esp-mqtt/ssl/main/iot_eclipse_org.pem
new file mode 100644
index 00000000..edb593bc
--- /dev/null
+++ b/examples/protocols/esp-mqtt/ssl/main/iot_eclipse_org.pem
@@ -0,0 +1,27 @@
+-----BEGIN CERTIFICATE-----
+MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/
+MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
+DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow
+SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT
+GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC
+AQ8AMIIBCgKCAQEAnNMM8FrlLke3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF
+q6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8
+SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0
+Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA
+a6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj
+/PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIDAQABo4IBfTCCAXkwEgYDVR0T
+AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG
+CCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv
+bTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k
+c3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw
+VAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC
+ARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz
+MDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu
+Y3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF
+AAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo
+uM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/
+wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu
+X4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG
+PfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6
+KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg==
+-----END CERTIFICATE-----
\ No newline at end of file
diff --git a/examples/protocols/esp-mqtt/ssl/mqtt_ssl_example_test.py b/examples/protocols/esp-mqtt/ssl/mqtt_ssl_example_test.py
new file mode 100644
index 00000000..3ea27c09
--- /dev/null
+++ b/examples/protocols/esp-mqtt/ssl/mqtt_ssl_example_test.py
@@ -0,0 +1,121 @@
+from __future__ import print_function
+from __future__ import unicode_literals
+from builtins import str
+import re
+import os
+import sys
+import ssl
+import paho.mqtt.client as mqtt
+from threading import Thread, Event
+
+
+try:
+    import IDF
+except ImportError:
+    # this is a test case write with tiny-test-fw.
+    # to run test cases outside tiny-test-fw,
+    # we need to set environment variable `TEST_FW_PATH`,
+    # then get and insert `TEST_FW_PATH` to sys path before import FW module
+    test_fw_path = os.getenv("TEST_FW_PATH")
+    if test_fw_path and test_fw_path not in sys.path:
+        sys.path.insert(0, test_fw_path)
+    import IDF
+
+import DUT
+
+
+event_client_connected = Event()
+event_stop_client = Event()
+event_client_received_correct = Event()
+message_log = ""
+
+
+# The callback for when the client receives a CONNACK response from the server.
+def on_connect(client, userdata, flags, rc):
+    print("Connected with result code " + str(rc))
+    event_client_connected.set()
+    client.subscribe("/topic/qos0")
+
+
+def mqtt_client_task(client):
+    while not event_stop_client.is_set():
+        client.loop()
+
+
+# The callback for when a PUBLISH message is received from the server.
+def on_message(client, userdata, msg):
+    global message_log
+    payload = msg.payload.decode()
+    if not event_client_received_correct.is_set() and payload == "data":
+        client.publish("/topic/qos0", "data_to_esp32")
+        if msg.topic == "/topic/qos0" and payload == "data":
+            event_client_received_correct.set()
+    message_log += "Received data:" + msg.topic + " " + payload + "\n"
+
+
+@IDF.idf_example_test(env_tag="Example_WIFI")
+def test_examples_protocol_mqtt_ssl(env, extra_data):
+    broker_url = ""
+    broker_port = 0
+    """
+    steps: |
+      1. join AP and connects to ssl broker
+      2. Test connects a client to the same broker
+      3. Test evaluates python client received correct qos0 message
+      4. Test ESP32 client received correct qos0 message
+    """
+    dut1 = env.get_dut("mqtt_ssl", "examples/protocols/mqtt/ssl")
+    # check and log bin size
+    binary_file = os.path.join(dut1.app.binary_path, "mqtt_ssl.bin")
+    bin_size = os.path.getsize(binary_file)
+    IDF.log_performance("mqtt_ssl_bin_size", "{}KB"
+                        .format(bin_size // 1024))
+    IDF.check_performance("mqtt_ssl_size", bin_size // 1024)
+    # Look for host:port in sdkconfig
+    try:
+        value = re.search(r'\:\/\/([^:]+)\:([0-9]+)', dut1.app.get_sdkconfig()["CONFIG_BROKER_URI"])
+        broker_url = value.group(1)
+        broker_port = int(value.group(2))
+    except Exception:
+        print('ENV_TEST_FAILURE: Cannot find broker url in sdkconfig')
+        raise
+    client = None
+    # 1. Test connects to a broker
+    try:
+        client = mqtt.Client()
+        client.on_connect = on_connect
+        client.on_message = on_message
+        client.tls_set(None,
+                    None,
+                    None, cert_reqs=ssl.CERT_NONE, tls_version=ssl.PROTOCOL_TLSv1, ciphers=None)
+        client.tls_insecure_set(True)
+        print("Connecting...")
+        client.connect(broker_url, broker_port, 60)
+    except Exception:
+        print("ENV_TEST_FAILURE: Unexpected error while connecting to broker {}: {}:".format(broker_url, sys.exc_info()[0]))
+        raise
+    # Starting a py-client in a separate thread
+    thread1 = Thread(target=mqtt_client_task, args=(client,))
+    thread1.start()
+    try:
+        print("Connecting py-client to broker {}:{}...".format(broker_url, broker_port))
+        if not event_client_connected.wait(timeout=30):
+            raise ValueError("ENV_TEST_FAILURE: Test script cannot connect to broker: {}".format(broker_url))
+        dut1.start_app()
+        try:
+            ip_address = dut1.expect(re.compile(r" sta ip: ([^,]+),"), timeout=30)
+            print("Connected to AP with IP: {}".format(ip_address))
+        except DUT.ExpectTimeout:
+            print('ENV_TEST_FAILURE: Cannot connect to AP')
+            raise
+        print("Checking py-client received msg published from esp...")
+        if not event_client_received_correct.wait(timeout=30):
+            raise ValueError('Wrong data received, msg log: {}'.format(message_log))
+        print("Checking esp-client received msg published from py-client...")
+        dut1.expect(re.compile(r"DATA=data_to_esp32"), timeout=30)
+    finally:
+        event_stop_client.set()
+        thread1.join()
+
+if __name__ == '__main__':
+    test_examples_protocol_mqtt_ssl()
diff --git a/examples/protocols/esp-mqtt/ssl/sdkconfig.ci b/examples/protocols/esp-mqtt/ssl/sdkconfig.ci
new file mode 100644
index 00000000..ce328a6b
--- /dev/null
+++ b/examples/protocols/esp-mqtt/ssl/sdkconfig.ci
@@ -0,0 +1,2 @@
+CONFIG_BROKER_URI="mqtts://${EXAMPLE_MQTT_BROKER_SSL}"
+CONFIG_BROKER_CERTIFICATE_OVERRIDE="${EXAMPLE_MQTT_BROKER_CERTIFICATE}"
diff --git a/examples/protocols/esp-mqtt/ssl_mutual_auth/CMakeLists.txt b/examples/protocols/esp-mqtt/ssl_mutual_auth/CMakeLists.txt
new file mode 100644
index 00000000..84bf3752
--- /dev/null
+++ b/examples/protocols/esp-mqtt/ssl_mutual_auth/CMakeLists.txt
@@ -0,0 +1,10 @@
+# The following four lines of boilerplate have to be in your project's CMakeLists
+# in this exact order for cmake to work correctly
+cmake_minimum_required(VERSION 3.5)
+
+include($ENV{IDF_PATH}/tools/cmake/project.cmake)
+
+project(mqtt_ssl_mutual_auth)
+
+target_add_binary_data(${CMAKE_PROJECT_NAME}.elf "main/client.crt" TEXT)
+target_add_binary_data(${CMAKE_PROJECT_NAME}.elf "main/client.key" TEXT)
diff --git a/examples/protocols/esp-mqtt/ssl_mutual_auth/Makefile b/examples/protocols/esp-mqtt/ssl_mutual_auth/Makefile
new file mode 100644
index 00000000..cfc04f81
--- /dev/null
+++ b/examples/protocols/esp-mqtt/ssl_mutual_auth/Makefile
@@ -0,0 +1,7 @@
+#
+# This is a project Makefile. It is assumed the directory this Makefile resides in is a
+# project subdirectory.
+#
+PROJECT_NAME := mqtt_ssl_mutual_auth
+
+include $(IDF_PATH)/make/project.mk
diff --git a/examples/protocols/esp-mqtt/ssl_mutual_auth/README.md b/examples/protocols/esp-mqtt/ssl_mutual_auth/README.md
new file mode 100644
index 00000000..7ffe5370
--- /dev/null
+++ b/examples/protocols/esp-mqtt/ssl_mutual_auth/README.md
@@ -0,0 +1,81 @@
+# ESP-MQTT SSL Sample application (mutual authentication)
+
+(See the README.md file in the upper level 'examples' directory for more information about examples.)
+
+This example connects to the broker test.mosquitto.org using ssl transport with client certificate and as a demonstration subscribes/unsubscribes and send a message on certain topic.
+
+It uses ESP-MQTT library which implements mqtt client to connect to mqtt broker.
+
+## How to use example
+
+### Hardware Required
+
+This example can be executed on any ESP32 board, the only required interface is WiFi and connection to internet.
+
+### Configure the project
+
+```
+make menuconfig
+```
+
+* Set serial port under Serial Flasher Options.
+
+* Set ssid and password for the board to connect to AP.
+
+* Generate your client keys and certificate
+
+Navigate to the main directory
+
+```
+cd main
+```
+
+Generate a client key and a CSR. When you are generating the CSR, do not use the default values. At a minimum, the CSR must include the Country, Organisation and Common Name fields.
+
+```
+openssl genrsa -out client.key
+openssl req -out client.csr -key client.key -new
+```
+
+Paste the generated CSR in the [Mosquitto test certificate signer](https://test.mosquitto.org/ssl/index.php), click Submit and copy the downloaded `client.crt` in the `main` directory.
+
+Please note, that the supplied files `client.crt` and `client.key` in the `main` directory are only placeholders for your client certificate and key (i.e. the example "as is" would compile but would not connect to the broker)
+
+### Build and Flash
+
+Build the project and flash it to the board, then run monitor tool to view serial output:
+
+```
+make -j4 flash monitor
+```
+
+(To exit the serial monitor, type ``Ctrl-]``.)
+
+See the Getting Started Guide for full steps to configure and use ESP-IDF to build projects.
+
+## Example Output
+
+```
+I (3714) event: sta ip: 192.168.0.139, mask: 255.255.255.0, gw: 192.168.0.2
+I (3714) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
+I (3964) MQTT_CLIENT: Sending MQTT CONNECT message, type: 1, id: 0000
+I (4164) MQTTS_EXAMPLE: MQTT_EVENT_CONNECTED
+I (4174) MQTTS_EXAMPLE: sent publish successful, msg_id=41464
+I (4174) MQTTS_EXAMPLE: sent subscribe successful, msg_id=17886
+I (4174) MQTTS_EXAMPLE: sent subscribe successful, msg_id=42970
+I (4184) MQTTS_EXAMPLE: sent unsubscribe successful, msg_id=50241
+I (4314) MQTTS_EXAMPLE: MQTT_EVENT_PUBLISHED, msg_id=41464
+I (4484) MQTTS_EXAMPLE: MQTT_EVENT_SUBSCRIBED, msg_id=17886
+I (4484) MQTTS_EXAMPLE: sent publish successful, msg_id=0
+I (4684) MQTTS_EXAMPLE: MQTT_EVENT_SUBSCRIBED, msg_id=42970
+I (4684) MQTTS_EXAMPLE: sent publish successful, msg_id=0
+I (4884) MQTT_CLIENT: deliver_publish, message_length_read=19, message_length=19
+I (4884) MQTTS_EXAMPLE: MQTT_EVENT_DATA
+TOPIC=/topic/qos0
+DATA=data
+I (5194) MQTT_CLIENT: deliver_publish, message_length_read=19, message_length=19
+I (5194) MQTTS_EXAMPLE: MQTT_EVENT_DATA
+TOPIC=/topic/qos0
+DATA=data
+```
+
diff --git a/examples/protocols/esp-mqtt/ssl_mutual_auth/main/CMakeLists.txt b/examples/protocols/esp-mqtt/ssl_mutual_auth/main/CMakeLists.txt
new file mode 100644
index 00000000..6b035006
--- /dev/null
+++ b/examples/protocols/esp-mqtt/ssl_mutual_auth/main/CMakeLists.txt
@@ -0,0 +1,4 @@
+set(COMPONENT_SRCS "app_main.c")
+set(COMPONENT_ADD_INCLUDEDIRS ".")
+
+register_component()
diff --git a/examples/protocols/esp-mqtt/ssl_mutual_auth/main/Kconfig.projbuild b/examples/protocols/esp-mqtt/ssl_mutual_auth/main/Kconfig.projbuild
new file mode 100644
index 00000000..176d8fb3
--- /dev/null
+++ b/examples/protocols/esp-mqtt/ssl_mutual_auth/main/Kconfig.projbuild
@@ -0,0 +1,15 @@
+menu "Example Configuration"
+
+config WIFI_SSID
+    string "WiFi SSID"
+    default "myssid"
+    help
+        SSID (network name) for the example to connect to.
+
+config WIFI_PASSWORD
+    string "WiFi Password"
+    default "mypassword"
+    help
+        WiFi password (WPA or WPA2) for the example to use.
+
+endmenu
diff --git a/examples/protocols/esp-mqtt/ssl_mutual_auth/main/app_main.c b/examples/protocols/esp-mqtt/ssl_mutual_auth/main/app_main.c
new file mode 100644
index 00000000..2ebce48b
--- /dev/null
+++ b/examples/protocols/esp-mqtt/ssl_mutual_auth/main/app_main.c
@@ -0,0 +1,152 @@
+#include <stdio.h>
+#include <stdint.h>
+#include <stddef.h>
+#include <string.h>
+#include "esp_wifi.h"
+#include "esp_system.h"
+#include "nvs_flash.h"
+#include "esp_event_loop.h"
+
+#include "freertos/FreeRTOS.h"
+#include "freertos/task.h"
+#include "freertos/semphr.h"
+#include "freertos/queue.h"
+#include "freertos/event_groups.h"
+
+#include "lwip/sockets.h"
+#include "lwip/dns.h"
+#include "lwip/netdb.h"
+
+#include "esp_log.h"
+#include "mqtt_client.h"
+
+static const char *TAG = "MQTTS_EXAMPLE";
+
+static EventGroupHandle_t wifi_event_group;
+const static int CONNECTED_BIT = BIT0;
+
+
+
+static esp_err_t wifi_event_handler(void *ctx, system_event_t *event)
+{
+    switch (event->event_id) {
+        case SYSTEM_EVENT_STA_START:
+            esp_wifi_connect();
+            break;
+        case SYSTEM_EVENT_STA_GOT_IP:
+            xEventGroupSetBits(wifi_event_group, CONNECTED_BIT);
+
+            break;
+        case SYSTEM_EVENT_STA_DISCONNECTED:
+            esp_wifi_connect();
+            xEventGroupClearBits(wifi_event_group, CONNECTED_BIT);
+            break;
+        default:
+            break;
+    }
+    return ESP_OK;
+}
+
+static void wifi_init(void)
+{
+    tcpip_adapter_init();
+    wifi_event_group = xEventGroupCreate();
+    ESP_ERROR_CHECK(esp_event_loop_init(wifi_event_handler, NULL));
+    wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
+    ESP_ERROR_CHECK(esp_wifi_init(&cfg));
+    ESP_ERROR_CHECK(esp_wifi_set_storage(WIFI_STORAGE_RAM));
+    wifi_config_t wifi_config = {
+        .sta = {
+            .ssid = CONFIG_WIFI_SSID,
+            .password = CONFIG_WIFI_PASSWORD,
+        },
+    };
+    ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA));
+    ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_STA, &wifi_config));
+    ESP_LOGI(TAG, "start the WIFI SSID:[%s]", CONFIG_WIFI_SSID);
+    ESP_ERROR_CHECK(esp_wifi_start());
+    ESP_LOGI(TAG, "Waiting for wifi");
+    xEventGroupWaitBits(wifi_event_group, CONNECTED_BIT, false, true, portMAX_DELAY);
+}
+
+extern const uint8_t client_cert_pem_start[] asm("_binary_client_crt_start");
+extern const uint8_t client_cert_pem_end[] asm("_binary_client_crt_end");
+extern const uint8_t client_key_pem_start[] asm("_binary_client_key_start");
+extern const uint8_t client_key_pem_end[] asm("_binary_client_key_end");
+
+static esp_err_t mqtt_event_handler(esp_mqtt_event_handle_t event)
+{
+    esp_mqtt_client_handle_t client = event->client;
+    int msg_id;
+    // your_context_t *context = event->context;
+    switch (event->event_id) {
+        case MQTT_EVENT_CONNECTED:
+            ESP_LOGI(TAG, "MQTT_EVENT_CONNECTED");
+            msg_id = esp_mqtt_client_subscribe(client, "/topic/qos0", 0);
+            ESP_LOGI(TAG, "sent subscribe successful, msg_id=%d", msg_id);
+
+            msg_id = esp_mqtt_client_subscribe(client, "/topic/qos1", 1);
+            ESP_LOGI(TAG, "sent subscribe successful, msg_id=%d", msg_id);
+
+            msg_id = esp_mqtt_client_unsubscribe(client, "/topic/qos1");
+            ESP_LOGI(TAG, "sent unsubscribe successful, msg_id=%d", msg_id);
+            break;
+        case MQTT_EVENT_DISCONNECTED:
+            ESP_LOGI(TAG, "MQTT_EVENT_DISCONNECTED");
+            break;
+
+        case MQTT_EVENT_SUBSCRIBED:
+            ESP_LOGI(TAG, "MQTT_EVENT_SUBSCRIBED, msg_id=%d", event->msg_id);
+            msg_id = esp_mqtt_client_publish(client, "/topic/qos0", "data", 0, 0, 0);
+            ESP_LOGI(TAG, "sent publish successful, msg_id=%d", msg_id);
+            break;
+        case MQTT_EVENT_UNSUBSCRIBED:
+            ESP_LOGI(TAG, "MQTT_EVENT_UNSUBSCRIBED, msg_id=%d", event->msg_id);
+            break;
+        case MQTT_EVENT_PUBLISHED:
+            ESP_LOGI(TAG, "MQTT_EVENT_PUBLISHED, msg_id=%d", event->msg_id);
+            break;
+        case MQTT_EVENT_DATA:
+            ESP_LOGI(TAG, "MQTT_EVENT_DATA");
+            printf("TOPIC=%.*s\r\n", event->topic_len, event->topic);
+            printf("DATA=%.*s\r\n", event->data_len, event->data);
+            break;
+        case MQTT_EVENT_ERROR:
+            ESP_LOGI(TAG, "MQTT_EVENT_ERROR");
+            break;
+    }
+    return ESP_OK;
+}
+
+static void mqtt_app_start(void)
+{
+    const esp_mqtt_client_config_t mqtt_cfg = {
+        .uri = "mqtts://test.mosquitto.org:8884",
+        .event_handle = mqtt_event_handler,
+        .client_cert_pem = (const char *)client_cert_pem_start,
+        .client_key_pem = (const char *)client_key_pem_start,
+    };
+
+    ESP_LOGI(TAG, "[APP] Free memory: %d bytes", esp_get_free_heap_size());
+    esp_mqtt_client_handle_t client = esp_mqtt_client_init(&mqtt_cfg);
+    esp_mqtt_client_start(client);
+}
+
+void app_main()
+{
+    ESP_LOGI(TAG, "[APP] Startup..");
+    ESP_LOGI(TAG, "[APP] Free memory: %d bytes", esp_get_free_heap_size());
+    ESP_LOGI(TAG, "[APP] IDF version: %s", esp_get_idf_version());
+
+    esp_log_level_set("*", ESP_LOG_INFO);
+    esp_log_level_set("MQTT_CLIENT", ESP_LOG_VERBOSE);
+    esp_log_level_set("TRANSPORT_TCP", ESP_LOG_VERBOSE);
+    esp_log_level_set("TRANSPORT_SSL", ESP_LOG_VERBOSE);
+    esp_log_level_set("TRANSPORT", ESP_LOG_VERBOSE);
+    esp_log_level_set("OUTBOX", ESP_LOG_VERBOSE);
+
+    nvs_flash_init();
+    wifi_init();
+    mqtt_app_start();
+
+}
diff --git a/examples/protocols/esp-mqtt/ssl_mutual_auth/main/client.crt b/examples/protocols/esp-mqtt/ssl_mutual_auth/main/client.crt
new file mode 100644
index 00000000..7a3074b9
--- /dev/null
+++ b/examples/protocols/esp-mqtt/ssl_mutual_auth/main/client.crt
@@ -0,0 +1 @@
+Please paste your client certificate here (follow instructions in README.md)
diff --git a/examples/protocols/esp-mqtt/ssl_mutual_auth/main/client.key b/examples/protocols/esp-mqtt/ssl_mutual_auth/main/client.key
new file mode 100644
index 00000000..a956f850
--- /dev/null
+++ b/examples/protocols/esp-mqtt/ssl_mutual_auth/main/client.key
@@ -0,0 +1 @@
+Please paste here your client key (follow instructions in README.md)
diff --git a/examples/protocols/esp-mqtt/ssl_mutual_auth/main/component.mk b/examples/protocols/esp-mqtt/ssl_mutual_auth/main/component.mk
new file mode 100644
index 00000000..01adda5c
--- /dev/null
+++ b/examples/protocols/esp-mqtt/ssl_mutual_auth/main/component.mk
@@ -0,0 +1 @@
+COMPONENT_EMBED_TXTFILES := client.crt client.key
diff --git a/examples/protocols/esp-mqtt/tcp/CMakeLists.txt b/examples/protocols/esp-mqtt/tcp/CMakeLists.txt
new file mode 100644
index 00000000..678d787a
--- /dev/null
+++ b/examples/protocols/esp-mqtt/tcp/CMakeLists.txt
@@ -0,0 +1,7 @@
+# The following four lines of boilerplate have to be in your project's CMakeLists
+# in this exact order for cmake to work correctly
+cmake_minimum_required(VERSION 3.5)
+
+include($ENV{IDF_PATH}/tools/cmake/project.cmake)
+
+project(mqtt_tcp)
\ No newline at end of file
diff --git a/examples/protocols/esp-mqtt/tcp/Makefile b/examples/protocols/esp-mqtt/tcp/Makefile
new file mode 100644
index 00000000..cd53fdbf
--- /dev/null
+++ b/examples/protocols/esp-mqtt/tcp/Makefile
@@ -0,0 +1,7 @@
+#
+# This is a project Makefile. It is assumed the directory this Makefile resides in is a
+# project subdirectory.
+#
+PROJECT_NAME := mqtt_tcp
+
+include $(IDF_PATH)/make/project.mk
diff --git a/examples/protocols/esp-mqtt/tcp/README.md b/examples/protocols/esp-mqtt/tcp/README.md
new file mode 100644
index 00000000..2fda2407
--- /dev/null
+++ b/examples/protocols/esp-mqtt/tcp/README.md
@@ -0,0 +1,61 @@
+# ESP-MQTT sample application
+(See the README.md file in the upper level 'examples' directory for more information about examples.)
+
+This example connects to the broker URI selected using `make menuconfig` (using mqtt tcp transport) and as a demonstration subscribes/unsubscribes and send a message on certain topic.
+Note: If the URI equals `FROM_STDIN` then the broker address is read from stdin upon application startup (used for testing)
+
+It uses ESP-MQTT library which implements mqtt client to connect to mqtt broker.
+
+## How to use example
+
+### Hardware Required
+
+This example can be executed on any ESP32 board, the only required interface is WiFi and connection to internet.
+
+### Configure the project
+
+```
+make menuconfig
+```
+
+* Set serial port under Serial Flasher Options.
+
+* Set ssid and password for the board to connect to AP.
+
+### Build and Flash
+
+Build the project and flash it to the board, then run monitor tool to view serial output:
+
+```
+make -j4 flash monitor
+```
+
+(To exit the serial monitor, type ``Ctrl-]``.)
+
+See the Getting Started Guide for full steps to configure and use ESP-IDF to build projects.
+
+## Example Output
+
+```
+I (3714) event: sta ip: 192.168.0.139, mask: 255.255.255.0, gw: 192.168.0.2
+I (3714) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
+I (3964) MQTT_CLIENT: Sending MQTT CONNECT message, type: 1, id: 0000
+I (4164) MQTT_EXAMPLE: MQTT_EVENT_CONNECTED
+I (4174) MQTT_EXAMPLE: sent publish successful, msg_id=41464
+I (4174) MQTT_EXAMPLE: sent subscribe successful, msg_id=17886
+I (4174) MQTT_EXAMPLE: sent subscribe successful, msg_id=42970
+I (4184) MQTT_EXAMPLE: sent unsubscribe successful, msg_id=50241
+I (4314) MQTT_EXAMPLE: MQTT_EVENT_PUBLISHED, msg_id=41464
+I (4484) MQTT_EXAMPLE: MQTT_EVENT_SUBSCRIBED, msg_id=17886
+I (4484) MQTT_EXAMPLE: sent publish successful, msg_id=0
+I (4684) MQTT_EXAMPLE: MQTT_EVENT_SUBSCRIBED, msg_id=42970
+I (4684) MQTT_EXAMPLE: sent publish successful, msg_id=0
+I (4884) MQTT_CLIENT: deliver_publish, message_length_read=19, message_length=19
+I (4884) MQTT_EXAMPLE: MQTT_EVENT_DATA
+TOPIC=/topic/qos0
+DATA=data
+I (5194) MQTT_CLIENT: deliver_publish, message_length_read=19, message_length=19
+I (5194) MQTT_EXAMPLE: MQTT_EVENT_DATA
+TOPIC=/topic/qos0
+DATA=data
+```
diff --git a/examples/protocols/esp-mqtt/tcp/main/CMakeLists.txt b/examples/protocols/esp-mqtt/tcp/main/CMakeLists.txt
new file mode 100644
index 00000000..6b035006
--- /dev/null
+++ b/examples/protocols/esp-mqtt/tcp/main/CMakeLists.txt
@@ -0,0 +1,4 @@
+set(COMPONENT_SRCS "app_main.c")
+set(COMPONENT_ADD_INCLUDEDIRS ".")
+
+register_component()
diff --git a/examples/protocols/esp-mqtt/tcp/main/Kconfig.projbuild b/examples/protocols/esp-mqtt/tcp/main/Kconfig.projbuild
new file mode 100644
index 00000000..71f95ea8
--- /dev/null
+++ b/examples/protocols/esp-mqtt/tcp/main/Kconfig.projbuild
@@ -0,0 +1,25 @@
+menu "Example Configuration"
+
+config WIFI_SSID
+    string "WiFi SSID"
+    default "myssid"
+    help
+        SSID (network name) for the example to connect to.
+
+config WIFI_PASSWORD
+    string "WiFi Password"
+    default "mypassword"
+    help
+        WiFi password (WPA or WPA2) for the example to use.
+
+config BROKER_URL
+    string "Broker URL"
+    default "mqtt://iot.eclipse.org"
+    help
+        URL of the broker to connect to
+
+config BROKER_URL_FROM_STDIN
+    bool
+    default y if BROKER_URL = "FROM_STDIN"
+
+endmenu
diff --git a/examples/protocols/esp-mqtt/tcp/main/app_main.c b/examples/protocols/esp-mqtt/tcp/main/app_main.c
new file mode 100644
index 00000000..0d294bd4
--- /dev/null
+++ b/examples/protocols/esp-mqtt/tcp/main/app_main.c
@@ -0,0 +1,171 @@
+#include <stdio.h>
+#include <stdint.h>
+#include <stddef.h>
+#include <string.h>
+#include "esp_wifi.h"
+#include "esp_system.h"
+#include "nvs_flash.h"
+#include "esp_event_loop.h"
+
+#include "freertos/FreeRTOS.h"
+#include "freertos/task.h"
+#include "freertos/semphr.h"
+#include "freertos/queue.h"
+#include "freertos/event_groups.h"
+
+#include "lwip/sockets.h"
+#include "lwip/dns.h"
+#include "lwip/netdb.h"
+
+#include "esp_log.h"
+#include "mqtt_client.h"
+
+static const char *TAG = "MQTT_EXAMPLE";
+
+static EventGroupHandle_t wifi_event_group;
+const static int CONNECTED_BIT = BIT0;
+
+
+static esp_err_t mqtt_event_handler(esp_mqtt_event_handle_t event)
+{
+    esp_mqtt_client_handle_t client = event->client;
+    int msg_id;
+    // your_context_t *context = event->context;
+    switch (event->event_id) {
+        case MQTT_EVENT_CONNECTED:
+            ESP_LOGI(TAG, "MQTT_EVENT_CONNECTED");
+            msg_id = esp_mqtt_client_publish(client, "/topic/qos1", "data_3", 0, 1, 0);
+            ESP_LOGI(TAG, "sent publish successful, msg_id=%d", msg_id);
+
+            msg_id = esp_mqtt_client_subscribe(client, "/topic/qos0", 0);
+            ESP_LOGI(TAG, "sent subscribe successful, msg_id=%d", msg_id);
+
+            msg_id = esp_mqtt_client_subscribe(client, "/topic/qos1", 1);
+            ESP_LOGI(TAG, "sent subscribe successful, msg_id=%d", msg_id);
+
+            msg_id = esp_mqtt_client_unsubscribe(client, "/topic/qos1");
+            ESP_LOGI(TAG, "sent unsubscribe successful, msg_id=%d", msg_id);
+            break;
+        case MQTT_EVENT_DISCONNECTED:
+            ESP_LOGI(TAG, "MQTT_EVENT_DISCONNECTED");
+            break;
+
+        case MQTT_EVENT_SUBSCRIBED:
+            ESP_LOGI(TAG, "MQTT_EVENT_SUBSCRIBED, msg_id=%d", event->msg_id);
+            msg_id = esp_mqtt_client_publish(client, "/topic/qos0", "data", 0, 0, 0);
+            ESP_LOGI(TAG, "sent publish successful, msg_id=%d", msg_id);
+            break;
+        case MQTT_EVENT_UNSUBSCRIBED:
+            ESP_LOGI(TAG, "MQTT_EVENT_UNSUBSCRIBED, msg_id=%d", event->msg_id);
+            break;
+        case MQTT_EVENT_PUBLISHED:
+            ESP_LOGI(TAG, "MQTT_EVENT_PUBLISHED, msg_id=%d", event->msg_id);
+            break;
+        case MQTT_EVENT_DATA:
+            ESP_LOGI(TAG, "MQTT_EVENT_DATA");
+            printf("TOPIC=%.*s\r\n", event->topic_len, event->topic);
+            printf("DATA=%.*s\r\n", event->data_len, event->data);
+            break;
+        case MQTT_EVENT_ERROR:
+            ESP_LOGI(TAG, "MQTT_EVENT_ERROR");
+            break;
+    }
+    return ESP_OK;
+}
+
+static esp_err_t wifi_event_handler(void *ctx, system_event_t *event)
+{
+    switch (event->event_id) {
+        case SYSTEM_EVENT_STA_START:
+            esp_wifi_connect();
+            break;
+        case SYSTEM_EVENT_STA_GOT_IP:
+            xEventGroupSetBits(wifi_event_group, CONNECTED_BIT);
+
+            break;
+        case SYSTEM_EVENT_STA_DISCONNECTED:
+            esp_wifi_connect();
+            xEventGroupClearBits(wifi_event_group, CONNECTED_BIT);
+            break;
+        default:
+            break;
+    }
+    return ESP_OK;
+}
+
+static void wifi_init(void)
+{
+    tcpip_adapter_init();
+    wifi_event_group = xEventGroupCreate();
+    ESP_ERROR_CHECK(esp_event_loop_init(wifi_event_handler, NULL));
+    wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
+    ESP_ERROR_CHECK(esp_wifi_init(&cfg));
+    ESP_ERROR_CHECK(esp_wifi_set_storage(WIFI_STORAGE_RAM));
+    wifi_config_t wifi_config = {
+        .sta = {
+            .ssid = CONFIG_WIFI_SSID,
+            .password = CONFIG_WIFI_PASSWORD,
+        },
+    };
+    ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA));
+    ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_STA, &wifi_config));
+    ESP_LOGI(TAG, "start the WIFI SSID:[%s]", CONFIG_WIFI_SSID);
+    ESP_ERROR_CHECK(esp_wifi_start());
+    ESP_LOGI(TAG, "Waiting for wifi");
+    xEventGroupWaitBits(wifi_event_group, CONNECTED_BIT, false, true, portMAX_DELAY);
+}
+
+static void mqtt_app_start(void)
+{
+    esp_mqtt_client_config_t mqtt_cfg = {
+        .uri = CONFIG_BROKER_URL,
+        .event_handle = mqtt_event_handler,
+        // .user_context = (void *)your_context
+    };
+
+#if CONFIG_BROKER_URL_FROM_STDIN
+    char line[128];
+
+    if (strcmp(mqtt_cfg.uri, "FROM_STDIN") == 0) {
+        int count = 0;
+        printf("Please enter url of mqtt broker\n");
+        while (count < 128) {
+            int c = fgetc(stdin);
+            if (c == '\n') {
+                line[count] = '\0';
+                break;
+            } else if (c > 0 && c < 127) {
+                line[count] = c;
+                ++count;
+            }
+            vTaskDelay(10 / portTICK_PERIOD_MS);
+        }
+        mqtt_cfg.uri = line;
+        printf("Broker url: %s\n", line);
+    } else {
+        ESP_LOGE(TAG, "Configuration mismatch: wrong broker url");
+        abort();
+    }
+#endif /* CONFIG_BROKER_URL_FROM_STDIN */
+
+    esp_mqtt_client_handle_t client = esp_mqtt_client_init(&mqtt_cfg);
+    esp_mqtt_client_start(client);
+}
+
+void app_main()
+{
+    ESP_LOGI(TAG, "[APP] Startup..");
+    ESP_LOGI(TAG, "[APP] Free memory: %d bytes", esp_get_free_heap_size());
+    ESP_LOGI(TAG, "[APP] IDF version: %s", esp_get_idf_version());
+
+    esp_log_level_set("*", ESP_LOG_INFO);
+    esp_log_level_set("MQTT_CLIENT", ESP_LOG_VERBOSE);
+    esp_log_level_set("TRANSPORT_TCP", ESP_LOG_VERBOSE);
+    esp_log_level_set("TRANSPORT_SSL", ESP_LOG_VERBOSE);
+    esp_log_level_set("TRANSPORT", ESP_LOG_VERBOSE);
+    esp_log_level_set("OUTBOX", ESP_LOG_VERBOSE);
+
+    nvs_flash_init();
+    wifi_init();
+    mqtt_app_start();
+}
diff --git a/examples/protocols/esp-mqtt/tcp/main/component.mk b/examples/protocols/esp-mqtt/tcp/main/component.mk
new file mode 100644
index 00000000..e69de29b
diff --git a/examples/protocols/esp-mqtt/tcp/mqtt_tcp_example_test.py b/examples/protocols/esp-mqtt/tcp/mqtt_tcp_example_test.py
new file mode 100644
index 00000000..e2568d52
--- /dev/null
+++ b/examples/protocols/esp-mqtt/tcp/mqtt_tcp_example_test.py
@@ -0,0 +1,109 @@
+import re
+import os
+import sys
+from socket import *
+from threading import Thread
+import struct
+import time
+
+msgid=-1
+
+def get_my_ip():
+    s1 = socket(AF_INET, SOCK_DGRAM)
+    s1.connect(("8.8.8.8", 80))
+    my_ip = s1.getsockname()[0]
+    s1.close()
+    return my_ip
+
+def mqqt_server_sketch(my_ip, port):
+    global msgid
+    print("Starting the server on {}".format(my_ip))
+    s = None
+    try:
+        s=socket(AF_INET, SOCK_STREAM)
+        s.settimeout(60)
+        s.bind((my_ip, port))
+        s.listen(1)
+        q,addr=s.accept()
+        q.settimeout(30)
+        print("connection accepted")
+    except:
+        print("Local server on {}:{} listening/accepting failure: {}"
+                "Possibly check permissions or firewall settings"
+                "to accept connections on this address".format(my_ip, port, sys.exc_info()[0]))
+        raise
+    data = q.recv(1024)
+    # check if received initial empty message
+    print("received from client {}".format(data))
+    data = bytearray([0x20, 0x02, 0x00, 0x00])
+    q.send(data)
+    # try to receive qos1
+    data = q.recv(1024)
+    msgid = struct.unpack(">H", data[15:17])[0]
+    print("received from client {}, msgid: {}".format(data, msgid))
+    data = bytearray([0x40, 0x02, data[15], data[16]])
+    q.send(data)
+    time.sleep(5)
+    s.close()
+    print("server closed")
+
+# this is a test case write with tiny-test-fw.
+# to run test cases outside tiny-test-fw,
+# we need to set environment variable `TEST_FW_PATH`,
+# then get and insert `TEST_FW_PATH` to sys path before import FW module
+test_fw_path = os.getenv("TEST_FW_PATH")
+if test_fw_path and test_fw_path not in sys.path:
+    sys.path.insert(0, test_fw_path)
+
+import TinyFW
+import IDF
+import DUT
+
+
+
+
+@IDF.idf_example_test(env_tag="Example_WIFI")
+def test_examples_protocol_mqtt_qos1(env, extra_data):
+    global msgid
+    """
+    steps: (QoS1: Happy flow)
+      1. start the broker broker (with correctly sending ACK)
+      2. DUT client connects to a broker and publishes qos1 message
+      3. Test evaluates that qos1 message is queued and removed from queued after ACK received
+      4. Test the broker received the same message id evaluated in step 3
+    """
+    dut1 = env.get_dut("mqtt_tcp", "examples/protocols/mqtt/tcp")
+    # check and log bin size
+    binary_file = os.path.join(dut1.app.binary_path, "mqtt_tcp.bin")
+    bin_size = os.path.getsize(binary_file)
+    IDF.log_performance("mqtt_tcp_bin_size", "{}KB".format(bin_size//1024))
+    IDF.check_performance("mqtt_tcp_size", bin_size//1024)
+    # 1. start mqtt broker sketch
+    host_ip = get_my_ip()
+    thread1 = Thread(target = mqqt_server_sketch, args = (host_ip,1883))
+    thread1.start()
+    # 2. start the dut test and wait till client gets IP address
+    dut1.start_app()    
+    # waiting for getting the IP address
+    try:
+        ip_address = dut1.expect(re.compile(r" sta ip: ([^,]+),"), timeout=30)
+        print("Connected to AP with IP: {}".format(ip_address))
+    except DUT.ExpectTimeout:
+        raise ValueError('ENV_TEST_FAILURE: Cannot connect to AP')
+
+    print ("writing to device: {}".format("mqtt://" + host_ip + "\n"))
+    dut1.write("mqtt://" + host_ip + "\n")
+    thread1.join()
+    print ("Message id received from server: {}".format(msgid))
+    # 3. check the message id was enqueued and then deleted
+    msgid_enqueued = dut1.expect(re.compile(r"OUTBOX: ENQUEUE msgid=([0-9]+)"), timeout=30)
+    msgid_deleted = dut1.expect(re.compile(r"OUTBOX: DELETED msgid=([0-9]+)"), timeout=30)
+    # 4. check the msgid of received data are the same as that of enqueued and deleted from outbox
+    if (msgid_enqueued[0] == str(msgid) and msgid_deleted[0] == str(msgid)):
+        print("PASS: Received correct msg id")
+    else:
+        print("Failure!")
+        raise ValueError('Mismatch of msgid: received: {}, enqueued {}, deleted {}'.format(msgid, msgid_enqueued, msgid_deleted))
+
+if __name__ == '__main__':
+    test_examples_protocol_mqtt_qos1()
diff --git a/examples/protocols/esp-mqtt/tcp/sdkconfig.ci b/examples/protocols/esp-mqtt/tcp/sdkconfig.ci
new file mode 100644
index 00000000..09ca8f37
--- /dev/null
+++ b/examples/protocols/esp-mqtt/tcp/sdkconfig.ci
@@ -0,0 +1,2 @@
+CONFIG_LOG_DEFAULT_LEVEL_DEBUG=y
+CONFIG_BROKER_URL="FROM_STDIN"
diff --git a/examples/protocols/esp-mqtt/ws/CMakeLists.txt b/examples/protocols/esp-mqtt/ws/CMakeLists.txt
new file mode 100644
index 00000000..58a2135d
--- /dev/null
+++ b/examples/protocols/esp-mqtt/ws/CMakeLists.txt
@@ -0,0 +1,7 @@
+# The following four lines of boilerplate have to be in your project's CMakeLists
+# in this exact order for cmake to work correctly
+cmake_minimum_required(VERSION 3.5)
+
+include($ENV{IDF_PATH}/tools/cmake/project.cmake)
+
+project(mqtt_websocket)
\ No newline at end of file
diff --git a/examples/protocols/esp-mqtt/ws/Makefile b/examples/protocols/esp-mqtt/ws/Makefile
new file mode 100644
index 00000000..668719bf
--- /dev/null
+++ b/examples/protocols/esp-mqtt/ws/Makefile
@@ -0,0 +1,7 @@
+#
+# This is a project Makefile. It is assumed the directory this Makefile resides in is a
+# project subdirectory.
+#
+PROJECT_NAME := mqtt_websocket
+
+include $(IDF_PATH)/make/project.mk
diff --git a/examples/protocols/esp-mqtt/ws/README.md b/examples/protocols/esp-mqtt/ws/README.md
new file mode 100644
index 00000000..619519d9
--- /dev/null
+++ b/examples/protocols/esp-mqtt/ws/README.md
@@ -0,0 +1,62 @@
+# ESP-MQTT MQTT over Websocket
+
+(See the README.md file in the upper level 'examples' directory for more information about examples.)
+
+This example connects to the broker iot.eclipse.org over web sockets as a demonstration subscribes/unsubscribes and send a message on certain topic.
+
+It uses ESP-MQTT library which implements mqtt client to connect to mqtt broker.
+
+## How to use example
+
+### Hardware Required
+
+This example can be executed on any ESP32 board, the only required interface is WiFi and connection to internet.
+
+### Configure the project
+
+```
+make menuconfig
+```
+
+* Set serial port under Serial Flasher Options.
+
+* Set ssid and password for the board to connect to AP.
+
+### Build and Flash
+
+Build the project and flash it to the board, then run monitor tool to view serial output:
+
+```
+make -j4 flash monitor
+```
+
+(To exit the serial monitor, type ``Ctrl-]``.)
+
+See the Getting Started Guide for full steps to configure and use ESP-IDF to build projects.
+
+## Example Output
+
+```
+I (3714) event: sta ip: 192.168.0.139, mask: 255.255.255.0, gw: 192.168.0.2
+I (3714) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
+I (3964) MQTT_CLIENT: Sending MQTT CONNECT message, type: 1, id: 0000
+I (4164) MQTTWS_EXAMPLE: MQTT_EVENT_CONNECTED
+I (4174) MQTTWS_EXAMPLE: sent publish successful, msg_id=41464
+I (4174) MQTTWS_EXAMPLE: sent subscribe successful, msg_id=17886
+I (4174) MQTTWS_EXAMPLE: sent subscribe successful, msg_id=42970
+I (4184) MQTTWS_EXAMPLE: sent unsubscribe successful, msg_id=50241
+I (4314) MQTTWS_EXAMPLE: MQTT_EVENT_PUBLISHED, msg_id=41464
+I (4484) MQTTWS_EXAMPLE: MQTT_EVENT_SUBSCRIBED, msg_id=17886
+I (4484) MQTTWS_EXAMPLE: sent publish successful, msg_id=0
+I (4684) MQTTWS_EXAMPLE: MQTT_EVENT_SUBSCRIBED, msg_id=42970
+I (4684) MQTTWS_EXAMPLE: sent publish successful, msg_id=0
+I (4884) MQTT_CLIENT: deliver_publish, message_length_read=19, message_length=19
+I (4884) MQTTWS_EXAMPLE: MQTT_EVENT_DATA
+TOPIC=/topic/qos0
+DATA=data
+I (5194) MQTT_CLIENT: deliver_publish, message_length_read=19, message_length=19
+I (5194) MQTTWS_EXAMPLE: MQTT_EVENT_DATA
+TOPIC=/topic/qos0
+DATA=data
+```
+
diff --git a/examples/protocols/esp-mqtt/ws/main/CMakeLists.txt b/examples/protocols/esp-mqtt/ws/main/CMakeLists.txt
new file mode 100644
index 00000000..6b035006
--- /dev/null
+++ b/examples/protocols/esp-mqtt/ws/main/CMakeLists.txt
@@ -0,0 +1,4 @@
+set(COMPONENT_SRCS "app_main.c")
+set(COMPONENT_ADD_INCLUDEDIRS ".")
+
+register_component()
diff --git a/examples/protocols/esp-mqtt/ws/main/Kconfig.projbuild b/examples/protocols/esp-mqtt/ws/main/Kconfig.projbuild
new file mode 100644
index 00000000..5223e885
--- /dev/null
+++ b/examples/protocols/esp-mqtt/ws/main/Kconfig.projbuild
@@ -0,0 +1,21 @@
+menu "Example Configuration"
+
+config WIFI_SSID
+    string "WiFi SSID"
+    default "myssid"
+    help
+        SSID (network name) for the example to connect to.
+
+config WIFI_PASSWORD
+    string "WiFi Password"
+    default "mypassword"
+    help
+        WiFi password (WPA or WPA2) for the example to use.
+
+config BROKER_URI
+    string "Broker URL"
+    default "ws://iot.eclipse.org:80/ws"
+    help
+        URL of an mqtt broker which this example connects to.
+
+endmenu
diff --git a/examples/protocols/esp-mqtt/ws/main/app_main.c b/examples/protocols/esp-mqtt/ws/main/app_main.c
new file mode 100644
index 00000000..1db33278
--- /dev/null
+++ b/examples/protocols/esp-mqtt/ws/main/app_main.c
@@ -0,0 +1,144 @@
+#include <stdio.h>
+#include <stdint.h>
+#include <stddef.h>
+#include <string.h>
+#include "esp_wifi.h"
+#include "esp_system.h"
+#include "nvs_flash.h"
+#include "esp_event_loop.h"
+
+#include "freertos/FreeRTOS.h"
+#include "freertos/task.h"
+#include "freertos/semphr.h"
+#include "freertos/queue.h"
+#include "freertos/event_groups.h"
+
+#include "lwip/sockets.h"
+#include "lwip/dns.h"
+#include "lwip/netdb.h"
+
+#include "esp_log.h"
+#include "mqtt_client.h"
+
+static const char *TAG = "MQTTWS_EXAMPLE";
+
+static EventGroupHandle_t wifi_event_group;
+const static int CONNECTED_BIT = BIT0;
+
+
+static esp_err_t mqtt_event_handler(esp_mqtt_event_handle_t event)
+{
+    esp_mqtt_client_handle_t client = event->client;
+    int msg_id;
+    // your_context_t *context = event->context;
+    switch (event->event_id) {
+        case MQTT_EVENT_CONNECTED:
+            ESP_LOGI(TAG, "MQTT_EVENT_CONNECTED");
+            msg_id = esp_mqtt_client_subscribe(client, "/topic/qos0", 0);
+            ESP_LOGI(TAG, "sent subscribe successful, msg_id=%d", msg_id);
+
+            msg_id = esp_mqtt_client_subscribe(client, "/topic/qos1", 1);
+            ESP_LOGI(TAG, "sent subscribe successful, msg_id=%d", msg_id);
+
+            msg_id = esp_mqtt_client_unsubscribe(client, "/topic/qos1");
+            ESP_LOGI(TAG, "sent unsubscribe successful, msg_id=%d", msg_id);
+            break;
+        case MQTT_EVENT_DISCONNECTED:
+            ESP_LOGI(TAG, "MQTT_EVENT_DISCONNECTED");
+            break;
+
+        case MQTT_EVENT_SUBSCRIBED:
+            ESP_LOGI(TAG, "MQTT_EVENT_SUBSCRIBED, msg_id=%d", event->msg_id);
+            msg_id = esp_mqtt_client_publish(client, "/topic/qos0", "data", 0, 0, 0);
+            ESP_LOGI(TAG, "sent publish successful, msg_id=%d", msg_id);
+            break;
+        case MQTT_EVENT_UNSUBSCRIBED:
+            ESP_LOGI(TAG, "MQTT_EVENT_UNSUBSCRIBED, msg_id=%d", event->msg_id);
+            break;
+        case MQTT_EVENT_PUBLISHED:
+            ESP_LOGI(TAG, "MQTT_EVENT_PUBLISHED, msg_id=%d", event->msg_id);
+            break;
+        case MQTT_EVENT_DATA:
+            ESP_LOGI(TAG, "MQTT_EVENT_DATA");
+            printf("TOPIC=%.*s\r\n", event->topic_len, event->topic);
+            printf("DATA=%.*s\r\n", event->data_len, event->data);
+            break;
+        case MQTT_EVENT_ERROR:
+            ESP_LOGI(TAG, "MQTT_EVENT_ERROR");
+            break;
+    }
+    return ESP_OK;
+}
+
+static esp_err_t wifi_event_handler(void *ctx, system_event_t *event)
+{
+    switch (event->event_id) {
+        case SYSTEM_EVENT_STA_START:
+            esp_wifi_connect();
+            break;
+        case SYSTEM_EVENT_STA_GOT_IP:
+            xEventGroupSetBits(wifi_event_group, CONNECTED_BIT);
+
+            break;
+        case SYSTEM_EVENT_STA_DISCONNECTED:
+            esp_wifi_connect();
+            xEventGroupClearBits(wifi_event_group, CONNECTED_BIT);
+            break;
+        default:
+            break;
+    }
+    return ESP_OK;
+}
+
+static void wifi_init(void)
+{
+    tcpip_adapter_init();
+    wifi_event_group = xEventGroupCreate();
+    ESP_ERROR_CHECK(esp_event_loop_init(wifi_event_handler, NULL));
+    wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
+    ESP_ERROR_CHECK(esp_wifi_init(&cfg));
+    ESP_ERROR_CHECK(esp_wifi_set_storage(WIFI_STORAGE_RAM));
+    wifi_config_t wifi_config = {
+        .sta = {
+            .ssid = CONFIG_WIFI_SSID,
+            .password = CONFIG_WIFI_PASSWORD,
+        },
+    };
+    ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA));
+    ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_STA, &wifi_config));
+    ESP_LOGI(TAG, "start the WIFI SSID:[%s]", CONFIG_WIFI_SSID);
+    ESP_ERROR_CHECK(esp_wifi_start());
+    ESP_LOGI(TAG, "Waiting for wifi");
+    xEventGroupWaitBits(wifi_event_group, CONNECTED_BIT, false, true, portMAX_DELAY);
+}
+
+static void mqtt_app_start(void)
+{
+    const esp_mqtt_client_config_t mqtt_cfg = {
+        .uri = CONFIG_BROKER_URI,
+        .event_handle = mqtt_event_handler,
+        // .user_context = (void *)your_context
+    };
+
+    esp_mqtt_client_handle_t client = esp_mqtt_client_init(&mqtt_cfg);
+    esp_mqtt_client_start(client);
+}
+
+void app_main()
+{
+    ESP_LOGI(TAG, "[APP] Startup..");
+    ESP_LOGI(TAG, "[APP] Free memory: %d bytes", esp_get_free_heap_size());
+    ESP_LOGI(TAG, "[APP] IDF version: %s", esp_get_idf_version());
+
+    esp_log_level_set("*", ESP_LOG_INFO);
+    esp_log_level_set("MQTT_CLIENT", ESP_LOG_VERBOSE);
+    esp_log_level_set("TRANSPORT_TCP", ESP_LOG_VERBOSE);
+    esp_log_level_set("TRANSPORT_SSL", ESP_LOG_VERBOSE);
+    esp_log_level_set("TRANSPORT_WS", ESP_LOG_VERBOSE);
+    esp_log_level_set("TRANSPORT", ESP_LOG_VERBOSE);
+    esp_log_level_set("OUTBOX", ESP_LOG_VERBOSE);
+
+    nvs_flash_init();
+    wifi_init();
+    mqtt_app_start();
+}
diff --git a/examples/protocols/esp-mqtt/ws/main/component.mk b/examples/protocols/esp-mqtt/ws/main/component.mk
new file mode 100644
index 00000000..e69de29b
diff --git a/examples/protocols/esp-mqtt/ws/mqtt_ws_example_test.py b/examples/protocols/esp-mqtt/ws/mqtt_ws_example_test.py
new file mode 100644
index 00000000..b4919bfb
--- /dev/null
+++ b/examples/protocols/esp-mqtt/ws/mqtt_ws_example_test.py
@@ -0,0 +1,115 @@
+from __future__ import print_function
+from __future__ import unicode_literals
+from builtins import str
+import re
+import os
+import sys
+import paho.mqtt.client as mqtt
+from threading import Thread, Event
+
+
+try:
+    import IDF
+except Exception:
+    # this is a test case write with tiny-test-fw.
+    # to run test cases outside tiny-test-fw,
+    # we need to set environment variable `TEST_FW_PATH`,
+    # then get and insert `TEST_FW_PATH` to sys path before import FW module
+    test_fw_path = os.getenv("TEST_FW_PATH")
+    if test_fw_path and test_fw_path not in sys.path:
+        sys.path.insert(0, test_fw_path)
+    import IDF
+
+import DUT
+
+event_client_connected = Event()
+event_stop_client = Event()
+event_client_received_correct = Event()
+message_log = ""
+
+
+# The callback for when the client receives a CONNACK response from the server.
+def on_connect(client, userdata, flags, rc):
+    print("Connected with result code " + str(rc))
+    event_client_connected.set()
+    client.subscribe("/topic/qos0")
+
+
+def mqtt_client_task(client):
+    while not event_stop_client.is_set():
+        client.loop()
+
+
+# The callback for when a PUBLISH message is received from the server.
+def on_message(client, userdata, msg):
+    global message_log
+    payload = msg.payload.decode()
+    if not event_client_received_correct.is_set() and payload == "data":
+        client.publish("/topic/qos0", "data_to_esp32")
+        if msg.topic == "/topic/qos0" and payload == "data":
+            event_client_received_correct.set()
+    message_log += "Received data:" + msg.topic + " " + payload + "\n"
+
+
+@IDF.idf_example_test(env_tag="Example_WIFI")
+def test_examples_protocol_mqtt_ws(env, extra_data):
+    broker_url = ""
+    broker_port = 0
+    """
+    steps: |
+      1. join AP and connects to ws broker
+      2. Test connects a client to the same broker
+      3. Test evaluates it received correct qos0 message
+      4. Test ESP32 client received correct qos0 message
+    """
+    dut1 = env.get_dut("mqtt_websocket", "examples/protocols/mqtt/ws")
+    # check and log bin size
+    binary_file = os.path.join(dut1.app.binary_path, "mqtt_websocket.bin")
+    bin_size = os.path.getsize(binary_file)
+    IDF.log_performance("mqtt_websocket_bin_size", "{}KB".format(bin_size // 1024))
+    IDF.check_performance("mqtt_websocket_size", bin_size // 1024)
+    # Look for host:port in sdkconfig
+    try:
+        value = re.search(r'\:\/\/([^:]+)\:([0-9]+)', dut1.app.get_sdkconfig()["CONFIG_BROKER_URI"])
+        broker_url = value.group(1)
+        broker_port = int(value.group(2))
+    except Exception:
+        print('ENV_TEST_FAILURE: Cannot find broker url in sdkconfig')
+        raise
+    client = None
+    # 1. Test connects to a broker
+    try:
+        client = mqtt.Client(transport="websockets")
+        client.on_connect = on_connect
+        client.on_message = on_message
+        client.ws_set_options(path="/ws", headers=None)
+        print("Connecting...")
+        client.connect(broker_url, broker_port, 60)
+    except Exception:
+        print("ENV_TEST_FAILURE: Unexpected error while connecting to broker {}: {}:".format(broker_url, sys.exc_info()[0]))
+        raise
+    # Starting a py-client in a separate thread
+    thread1 = Thread(target=mqtt_client_task, args=(client,))
+    thread1.start()
+    try:
+        print("Connecting py-client to broker {}:{}...".format(broker_url, broker_port))
+        if not event_client_connected.wait(timeout=30):
+            raise ValueError("ENV_TEST_FAILURE: Test script cannot connect to broker: {}".format(broker_url))
+        dut1.start_app()
+        try:
+            ip_address = dut1.expect(re.compile(r" sta ip: ([^,]+),"), timeout=30)
+            print("Connected to AP with IP: {}".format(ip_address))
+        except DUT.ExpectTimeout:
+            print('ENV_TEST_FAILURE: Cannot connect to AP')
+            raise
+        print("Checking py-client received msg published from esp...")
+        if not event_client_received_correct.wait(timeout=30):
+            raise ValueError('Wrong data received, msg log: {}'.format(message_log))
+        print("Checking esp-client received msg published from py-client...")
+        dut1.expect(re.compile(r"DATA=data_to_esp32"), timeout=30)
+    finally:
+        event_stop_client.set()
+        thread1.join()
+
+if __name__ == '__main__':
+    test_examples_protocol_mqtt_ws()
diff --git a/examples/protocols/esp-mqtt/ws/sdkconfig.ci b/examples/protocols/esp-mqtt/ws/sdkconfig.ci
new file mode 100644
index 00000000..4f14eef9
--- /dev/null
+++ b/examples/protocols/esp-mqtt/ws/sdkconfig.ci
@@ -0,0 +1 @@
+CONFIG_BROKER_URI="ws://${EXAMPLE_MQTT_BROKER_WS}/ws"
diff --git a/examples/protocols/esp-mqtt/wss/CMakeLists.txt b/examples/protocols/esp-mqtt/wss/CMakeLists.txt
new file mode 100644
index 00000000..7ba5e629
--- /dev/null
+++ b/examples/protocols/esp-mqtt/wss/CMakeLists.txt
@@ -0,0 +1,9 @@
+# The following four lines of boilerplate have to be in your project's CMakeLists
+# in this exact order for cmake to work correctly
+cmake_minimum_required(VERSION 3.5)
+
+include($ENV{IDF_PATH}/tools/cmake/project.cmake)
+
+project(mqtt_websocket_secure)
+
+target_add_binary_data(mqtt_websocket_secure.elf "main/iot_eclipse_org.pem" TEXT)
diff --git a/examples/protocols/esp-mqtt/wss/Makefile b/examples/protocols/esp-mqtt/wss/Makefile
new file mode 100644
index 00000000..27047d04
--- /dev/null
+++ b/examples/protocols/esp-mqtt/wss/Makefile
@@ -0,0 +1,7 @@
+#
+# This is a project Makefile. It is assumed the directory this Makefile resides in is a
+# project subdirectory.
+#
+PROJECT_NAME := mqtt_websocket_secure
+
+include $(IDF_PATH)/make/project.mk
diff --git a/examples/protocols/esp-mqtt/wss/README.md b/examples/protocols/esp-mqtt/wss/README.md
new file mode 100644
index 00000000..43d829cc
--- /dev/null
+++ b/examples/protocols/esp-mqtt/wss/README.md
@@ -0,0 +1,69 @@
+# ESP-MQTT MQTT over WSS Sample application
+(See the README.md file in the upper level 'examples' directory for more information about examples.)
+
+This example connects to the broker iot.eclipse.org over secure websockets and as a demonstration subscribes/unsubscribes and send a message on certain topic.
+
+It uses ESP-MQTT library which implements mqtt client to connect to mqtt broker.
+
+## How to use example
+
+### Hardware Required
+
+This example can be executed on any ESP32 board, the only required interface is WiFi and connection to internet.
+
+### Configure the project
+
+```
+make menuconfig
+```
+
+* Set serial port under Serial Flasher Options.
+
+* Set ssid and password for the board to connect to AP.
+
+Note how to create a PEM certificate for iot.eclipse.org:
+
+```
+openssl s_client -showcerts -connect iot.eclipse.org:8883 </dev/null 2>/dev/null|openssl x509 -outform PEM >iot_eclipse_org.pem
+```
+
+### Build and Flash
+
+Build the project and flash it to the board, then run monitor tool to view serial output:
+
+```
+make -j4 flash monitor
+```
+
+(To exit the serial monitor, type ``Ctrl-]``.)
+
+See the Getting Started Guide for full steps to configure and use ESP-IDF to build projects.
+
+## Example Output
+
+```
+I (3714) event: sta ip: 192.168.0.139, mask: 255.255.255.0, gw: 192.168.0.2
+I (3714) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
+I (3964) MQTT_CLIENT: Sending MQTT CONNECT message, type: 1, id: 0000
+I (4164) MQTTWSS_EXAMPLE: MQTT_EVENT_CONNECTED
+I (4174) MQTTWSS_EXAMPLE: sent publish successful, msg_id=41464
+I (4174) MQTTWSS_EXAMPLE: sent subscribe successful, msg_id=17886
+I (4174) MQTTWSS_EXAMPLE: sent subscribe successful, msg_id=42970
+I (4184) MQTTWSS_EXAMPLE: sent unsubscribe successful, msg_id=50241
+I (4314) MQTTWSS_EXAMPLE: MQTT_EVENT_PUBLISHED, msg_id=41464
+I (4484) MQTTWSS_EXAMPLE: MQTT_EVENT_SUBSCRIBED, msg_id=17886
+I (4484) MQTTWSS_EXAMPLE: sent publish successful, msg_id=0
+I (4684) MQTTWSS_EXAMPLE: MQTT_EVENT_SUBSCRIBED, msg_id=42970
+I (4684) MQTTWSS_EXAMPLE: sent publish successful, msg_id=0
+I (4884) MQTT_CLIENT: deliver_publish, message_length_read=19, message_length=19
+I (4884) MQTTWSS_EXAMPLE: MQTT_EVENT_DATA
+TOPIC=/topic/qos0
+DATA=data
+I (5194) MQTT_CLIENT: deliver_publish, message_length_read=19, message_length=19
+I (5194) MQTTWSS_EXAMPLE: MQTT_EVENT_DATA
+TOPIC=/topic/qos0
+DATA=data
+```
+
+
+
diff --git a/examples/protocols/esp-mqtt/wss/main/CMakeLists.txt b/examples/protocols/esp-mqtt/wss/main/CMakeLists.txt
new file mode 100644
index 00000000..6b035006
--- /dev/null
+++ b/examples/protocols/esp-mqtt/wss/main/CMakeLists.txt
@@ -0,0 +1,4 @@
+set(COMPONENT_SRCS "app_main.c")
+set(COMPONENT_ADD_INCLUDEDIRS ".")
+
+register_component()
diff --git a/examples/protocols/esp-mqtt/wss/main/Kconfig.projbuild b/examples/protocols/esp-mqtt/wss/main/Kconfig.projbuild
new file mode 100644
index 00000000..964d436f
--- /dev/null
+++ b/examples/protocols/esp-mqtt/wss/main/Kconfig.projbuild
@@ -0,0 +1,31 @@
+menu "Example Configuration"
+
+config WIFI_SSID
+    string "WiFi SSID"
+    default "myssid"
+    help
+        SSID (network name) for the example to connect to.
+
+config WIFI_PASSWORD
+    string "WiFi Password"
+    default "mypassword"
+    help
+        WiFi password (WPA or WPA2) for the example to use.
+
+config BROKER_URI
+    string "Broker URL"
+    default "wss://iot.eclipse.org:443/ws"
+    help
+        URL of an mqtt broker which this example connects to.
+
+config BROKER_CERTIFICATE_OVERRIDE
+    string "Server certificate override"
+    default ""
+    help
+        Please leave empty if server certificate included from a textfile; otherwise fill in a base64 part of PEM format certificate
+
+config BROKER_CERTIFICATE_OVERRIDDEN
+    bool
+    default y if BROKER_CERTIFICATE_OVERRIDE != ""
+
+endmenu
diff --git a/examples/protocols/esp-mqtt/wss/main/app_main.c b/examples/protocols/esp-mqtt/wss/main/app_main.c
new file mode 100644
index 00000000..e337ea10
--- /dev/null
+++ b/examples/protocols/esp-mqtt/wss/main/app_main.c
@@ -0,0 +1,152 @@
+#include <stdio.h>
+#include <stdint.h>
+#include <stddef.h>
+#include <string.h>
+#include "esp_wifi.h"
+#include "esp_system.h"
+#include "nvs_flash.h"
+#include "esp_event_loop.h"
+
+#include "freertos/FreeRTOS.h"
+#include "freertos/task.h"
+#include "freertos/semphr.h"
+#include "freertos/queue.h"
+#include "freertos/event_groups.h"
+
+#include "lwip/sockets.h"
+#include "lwip/dns.h"
+#include "lwip/netdb.h"
+
+#include "esp_log.h"
+#include "mqtt_client.h"
+
+static const char *TAG = "MQTTWSS_EXAMPLE";
+
+static EventGroupHandle_t wifi_event_group;
+const static int CONNECTED_BIT = BIT0;
+
+
+
+static esp_err_t wifi_event_handler(void *ctx, system_event_t *event)
+{
+    switch (event->event_id) {
+        case SYSTEM_EVENT_STA_START:
+            esp_wifi_connect();
+            break;
+        case SYSTEM_EVENT_STA_GOT_IP:
+            xEventGroupSetBits(wifi_event_group, CONNECTED_BIT);
+
+            break;
+        case SYSTEM_EVENT_STA_DISCONNECTED:
+            esp_wifi_connect();
+            xEventGroupClearBits(wifi_event_group, CONNECTED_BIT);
+            break;
+        default:
+            break;
+    }
+    return ESP_OK;
+}
+
+static void wifi_init(void)
+{
+    tcpip_adapter_init();
+    wifi_event_group = xEventGroupCreate();
+    ESP_ERROR_CHECK(esp_event_loop_init(wifi_event_handler, NULL));
+    wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
+    ESP_ERROR_CHECK(esp_wifi_init(&cfg));
+    ESP_ERROR_CHECK(esp_wifi_set_storage(WIFI_STORAGE_RAM));
+    wifi_config_t wifi_config = {
+        .sta = {
+            .ssid = CONFIG_WIFI_SSID,
+            .password = CONFIG_WIFI_PASSWORD,
+        },
+    };
+    ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA));
+    ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_STA, &wifi_config));
+    ESP_LOGI(TAG, "start the WIFI SSID:[%s]", CONFIG_WIFI_SSID);
+    ESP_ERROR_CHECK(esp_wifi_start());
+    ESP_LOGI(TAG, "Waiting for wifi");
+    xEventGroupWaitBits(wifi_event_group, CONNECTED_BIT, false, true, portMAX_DELAY);
+}
+
+#if CONFIG_BROKER_CERTIFICATE_OVERRIDDEN == 1
+static const uint8_t iot_eclipse_org_pem_start[]  = "-----BEGIN CERTIFICATE-----\n" CONFIG_BROKER_CERTIFICATE_OVERRIDE "\n-----END CERTIFICATE-----";
+#else
+extern const uint8_t iot_eclipse_org_pem_start[]   asm("_binary_iot_eclipse_org_pem_start");
+#endif
+extern const uint8_t iot_eclipse_org_pem_end[]   asm("_binary_iot_eclipse_org_pem_end");
+
+static esp_err_t mqtt_event_handler(esp_mqtt_event_handle_t event)
+{
+    esp_mqtt_client_handle_t client = event->client;
+    int msg_id;
+    // your_context_t *context = event->context;
+    switch (event->event_id) {
+        case MQTT_EVENT_CONNECTED:
+            ESP_LOGI(TAG, "MQTT_EVENT_CONNECTED");
+            msg_id = esp_mqtt_client_subscribe(client, "/topic/qos0", 0);
+            ESP_LOGI(TAG, "sent subscribe successful, msg_id=%d", msg_id);
+
+            msg_id = esp_mqtt_client_subscribe(client, "/topic/qos1", 1);
+            ESP_LOGI(TAG, "sent subscribe successful, msg_id=%d", msg_id);
+
+            msg_id = esp_mqtt_client_unsubscribe(client, "/topic/qos1");
+            ESP_LOGI(TAG, "sent unsubscribe successful, msg_id=%d", msg_id);
+            break;
+        case MQTT_EVENT_DISCONNECTED:
+            ESP_LOGI(TAG, "MQTT_EVENT_DISCONNECTED");
+            break;
+
+        case MQTT_EVENT_SUBSCRIBED:
+            ESP_LOGI(TAG, "MQTT_EVENT_SUBSCRIBED, msg_id=%d", event->msg_id);
+            msg_id = esp_mqtt_client_publish(client, "/topic/qos0", "data", 0, 0, 0);
+            ESP_LOGI(TAG, "sent publish successful, msg_id=%d", msg_id);
+            break;
+        case MQTT_EVENT_UNSUBSCRIBED:
+            ESP_LOGI(TAG, "MQTT_EVENT_UNSUBSCRIBED, msg_id=%d", event->msg_id);
+            break;
+        case MQTT_EVENT_PUBLISHED:
+            ESP_LOGI(TAG, "MQTT_EVENT_PUBLISHED, msg_id=%d", event->msg_id);
+            break;
+        case MQTT_EVENT_DATA:
+            ESP_LOGI(TAG, "MQTT_EVENT_DATA");
+            printf("TOPIC=%.*s\r\n", event->topic_len, event->topic);
+            printf("DATA=%.*s\r\n", event->data_len, event->data);
+            break;
+        case MQTT_EVENT_ERROR:
+            ESP_LOGI(TAG, "MQTT_EVENT_ERROR");
+            break;
+    }
+    return ESP_OK;
+}
+
+static void mqtt_app_start(void)
+{
+    const esp_mqtt_client_config_t mqtt_cfg = {
+        .uri = CONFIG_BROKER_URI,
+        .event_handle = mqtt_event_handler,
+        .cert_pem = (const char *)iot_eclipse_org_pem_start,
+    };
+
+    ESP_LOGI(TAG, "[APP] Free memory: %d bytes", esp_get_free_heap_size());
+    esp_mqtt_client_handle_t client = esp_mqtt_client_init(&mqtt_cfg);
+    esp_mqtt_client_start(client);
+}
+
+void app_main()
+{
+    ESP_LOGI(TAG, "[APP] Startup..");
+    ESP_LOGI(TAG, "[APP] Free memory: %d bytes", esp_get_free_heap_size());
+    ESP_LOGI(TAG, "[APP] IDF version: %s", esp_get_idf_version());
+
+    esp_log_level_set("*", ESP_LOG_INFO);
+    esp_log_level_set("MQTT_CLIENT", ESP_LOG_VERBOSE);
+    esp_log_level_set("TRANSPORT_TCP", ESP_LOG_VERBOSE);
+    esp_log_level_set("TRANSPORT_SSL", ESP_LOG_VERBOSE);
+    esp_log_level_set("TRANSPORT", ESP_LOG_VERBOSE);
+    esp_log_level_set("OUTBOX", ESP_LOG_VERBOSE);
+
+    nvs_flash_init();
+    wifi_init();
+    mqtt_app_start();
+}
diff --git a/examples/protocols/esp-mqtt/wss/main/component.mk b/examples/protocols/esp-mqtt/wss/main/component.mk
new file mode 100644
index 00000000..797c4a1f
--- /dev/null
+++ b/examples/protocols/esp-mqtt/wss/main/component.mk
@@ -0,0 +1 @@
+COMPONENT_EMBED_TXTFILES := iot_eclipse_org.pem
diff --git a/examples/protocols/esp-mqtt/wss/main/iot_eclipse_org.pem b/examples/protocols/esp-mqtt/wss/main/iot_eclipse_org.pem
new file mode 100644
index 00000000..edb593bc
--- /dev/null
+++ b/examples/protocols/esp-mqtt/wss/main/iot_eclipse_org.pem
@@ -0,0 +1,27 @@
+-----BEGIN CERTIFICATE-----
+MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/
+MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
+DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow
+SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT
+GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC
+AQ8AMIIBCgKCAQEAnNMM8FrlLke3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF
+q6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8
+SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0
+Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA
+a6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj
+/PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIDAQABo4IBfTCCAXkwEgYDVR0T
+AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG
+CCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv
+bTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k
+c3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw
+VAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC
+ARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz
+MDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu
+Y3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF
+AAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo
+uM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/
+wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu
+X4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG
+PfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6
+KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg==
+-----END CERTIFICATE-----
\ No newline at end of file
diff --git a/examples/protocols/esp-mqtt/wss/mqtt_wss_example_test.py b/examples/protocols/esp-mqtt/wss/mqtt_wss_example_test.py
new file mode 100644
index 00000000..6aac644c
--- /dev/null
+++ b/examples/protocols/esp-mqtt/wss/mqtt_wss_example_test.py
@@ -0,0 +1,118 @@
+from __future__ import unicode_literals
+from __future__ import unicode_literals
+from builtins import str
+import re
+import os
+import sys
+import ssl
+import paho.mqtt.client as mqtt
+from threading import Thread, Event
+
+
+try:
+    import IDF
+except ImportError:
+    # this is a test case write with tiny-test-fw.
+    # to run test cases outside tiny-test-fw,
+    # we need to set environment variable `TEST_FW_PATH`,
+    # then get and insert `TEST_FW_PATH` to sys path before import FW module
+    test_fw_path = os.getenv("TEST_FW_PATH")
+    if test_fw_path and test_fw_path not in sys.path:
+        sys.path.insert(0, test_fw_path)
+    import IDF
+
+import DUT
+
+event_client_connected = Event()
+event_stop_client = Event()
+event_client_received_correct = Event()
+message_log = ""
+
+
+# The callback for when the client receives a CONNACK response from the server.
+def on_connect(client, userdata, flags, rc):
+    print("Connected with result code " + str(rc))
+    event_client_connected.set()
+    client.subscribe("/topic/qos0")
+
+
+def mqtt_client_task(client):
+    while not event_stop_client.is_set():
+        client.loop()
+
+
+# The callback for when a PUBLISH message is received from the server.
+def on_message(client, userdata, msg):
+    global message_log
+    payload = msg.payload.decode()
+    if not event_client_received_correct.is_set() and payload == "data":
+        client.publish("/topic/qos0", "data_to_esp32")
+        if msg.topic == "/topic/qos0" and payload == "data":
+            event_client_received_correct.set()
+    message_log += "Received data:" + msg.topic + " " + payload + "\n"
+
+
+@IDF.idf_example_test(env_tag="Example_WIFI")
+def test_examples_protocol_mqtt_wss(env, extra_data):
+    broker_url = ""
+    broker_port = 0
+    """
+    steps: |
+      1. join AP and connects to wss broker
+      2. Test connects a client to the same broker
+      3. Test evaluates it received correct qos0 message
+      4. Test ESP32 client received correct qos0 message
+    """
+    dut1 = env.get_dut("mqtt_websocket_secure", "examples/protocols/mqtt/wss")
+    # check and log bin size
+    binary_file = os.path.join(dut1.app.binary_path, "mqtt_websocket_secure.bin")
+    bin_size = os.path.getsize(binary_file)
+    IDF.log_performance("mqtt_websocket_secure_bin_size", "{}KB".format(bin_size // 1024))
+    IDF.check_performance("mqtt_websocket_secure_size", bin_size // 1024)
+    # Look for host:port in sdkconfig
+    try:
+        value = re.search(r'\:\/\/([^:]+)\:([0-9]+)', dut1.app.get_sdkconfig()["CONFIG_BROKER_URI"])
+        broker_url = value.group(1)
+        broker_port = int(value.group(2))
+    except Exception:
+        print('ENV_TEST_FAILURE: Cannot find broker url in sdkconfig')
+        raise
+    client = None
+    # 1. Test connects to a broker
+    try:
+        client = mqtt.Client(transport="websockets")
+        client.on_connect = on_connect
+        client.on_message = on_message
+        client.tls_set(None,
+                    None,
+                    None, cert_reqs=ssl.CERT_NONE, tls_version=ssl.PROTOCOL_TLSv1, ciphers=None)
+        print("Connecting...")
+        client.connect(broker_url, broker_port, 60)
+    except Exception:
+        print("ENV_TEST_FAILURE: Unexpected error while connecting to broker {}: {}:".format(broker_url, sys.exc_info()[0]))
+        raise
+    # Starting a py-client in a separate thread
+    thread1 = Thread(target=mqtt_client_task, args=(client,))
+    thread1.start()
+    try:
+        print("Connecting py-client to broker {}:{}...".format(broker_url, broker_port))
+        if not event_client_connected.wait(timeout=30):
+            raise ValueError("ENV_TEST_FAILURE: Test script cannot connect to broker: {}".format(broker_url))
+        dut1.start_app()
+        try:
+            ip_address = dut1.expect(re.compile(r" sta ip: ([^,]+),"), timeout=30)
+            print("Connected to AP with IP: {}".format(ip_address))
+        except DUT.ExpectTimeout:
+            print('ENV_TEST_FAILURE: Cannot connect to AP')
+            raise
+        print("Checking py-client received msg published from esp...")
+        if not event_client_received_correct.wait(timeout=30):
+            raise ValueError('Wrong data received, msg log: {}'.format(message_log))
+        print("Checking esp-client received msg published from py-client...")
+        dut1.expect(re.compile(r"DATA=data_to_esp32"), timeout=30)
+    finally:
+        event_stop_client.set()
+        thread1.join()
+
+if __name__ == '__main__':
+    test_examples_protocol_mqtt_wss()
diff --git a/examples/protocols/esp-mqtt/wss/sdkconfig.ci b/examples/protocols/esp-mqtt/wss/sdkconfig.ci
new file mode 100644
index 00000000..d0dd4929
--- /dev/null
+++ b/examples/protocols/esp-mqtt/wss/sdkconfig.ci
@@ -0,0 +1,3 @@
+CONFIG_BROKER_URI="wss://${EXAMPLE_MQTT_BROKER_WSS}/ws"
+CONFIG_BROKER_CERTIFICATE_OVERRIDE="${EXAMPLE_MQTT_BROKER_CERTIFICATE}"
+
diff --git a/examples/protocols/mqtt/Makefile b/examples/protocols/ibm-mqtt/Makefile
similarity index 100%
rename from examples/protocols/mqtt/Makefile
rename to examples/protocols/ibm-mqtt/Makefile
diff --git a/examples/protocols/mqtt/README.md b/examples/protocols/ibm-mqtt/README.md
similarity index 100%
rename from examples/protocols/mqtt/README.md
rename to examples/protocols/ibm-mqtt/README.md
diff --git a/examples/protocols/mqtt/main/Kconfig.projbuild b/examples/protocols/ibm-mqtt/main/Kconfig.projbuild
similarity index 100%
rename from examples/protocols/mqtt/main/Kconfig.projbuild
rename to examples/protocols/ibm-mqtt/main/Kconfig.projbuild
diff --git a/examples/protocols/mqtt/main/MQTTEcho.c b/examples/protocols/ibm-mqtt/main/MQTTEcho.c
similarity index 100%
rename from examples/protocols/mqtt/main/MQTTEcho.c
rename to examples/protocols/ibm-mqtt/main/MQTTEcho.c
diff --git a/examples/protocols/mqtt/main/component.mk b/examples/protocols/ibm-mqtt/main/component.mk
similarity index 100%
rename from examples/protocols/mqtt/main/component.mk
rename to examples/protocols/ibm-mqtt/main/component.mk
diff --git a/examples/protocols/mqtt/sdkconfig.defaults b/examples/protocols/ibm-mqtt/sdkconfig.defaults
similarity index 100%
rename from examples/protocols/mqtt/sdkconfig.defaults
rename to examples/protocols/ibm-mqtt/sdkconfig.defaults