This repository has been archived on 2023-11-05. You can view files and clone it, but cannot push or open issues or pull requests.
FreeRTOS-Kernel/FreeRTOS-Labs/Demo/FreeRTOS_IoT_Libraries/mqtt
2020-02-07 20:14:50 +00:00
..
common Update version number in readiness for V10.3.0 release. Sync SVN with reviewed release candidate. 2020-02-07 20:14:50 +00:00
mqtt_basic_tls_server_auth Update version number in readiness for V10.3.0 release. Sync SVN with reviewed release candidate. 2020-02-07 20:14:50 +00:00
mqtt_plain_text Update version number in readiness for V10.3.0 release. Sync SVN with reviewed release candidate. 2020-02-07 20:14:50 +00:00
mqtt_tls_mutual_auth Update version number in readiness for V10.3.0 release. Sync SVN with reviewed release candidate. 2020-02-07 20:14:50 +00:00
readme.txt Add the Labs projects provided in the V10.2.1_191129 zip file. 2019-12-02 23:39:25 +00:00

See https://freertos.org/mqtt/ for further information.

Contains projects that demonstrate the IoT MQTT library.

- Securing MQTT Communication -
Internet of Things use cases require MQTT communications to be secured, but secure
authentication and encryption are not part of the MQTT specification.  It is
therefore common to use MQTT in combination with Transport Layer Security (TLS).
TLS encrypts data sent across a network and enables the data's destination to be
authenticated.  'Server authentication' is when the MQTT client authenticates the
identity of the MQTT broker.  'Mutual authentication' is when the MQTT broker also
authenticates the identity of the MQTT client.


- Pre-configured MQTT Example Projects -
The examples contained in subdirectories from here demonstrate the concepts
described above one at a time.  The first example demonstrates plain text
(unencrypted) MQTT communication, the second example builds on the first to
introduce weak server authentication, and the third example builds on the second to
introduce strong mutual authentication.  Note:  It is our recommendation to always
use strong mutual authentication in any Internet of Things (IoT) application.  The
plain text project is only provided to validate MQTT communication can be
established prior to introducing encryption and authentication, and to allow the
MQTT packets to be observed using a network packet sniffer such as Wireshark for
those who wish to do so.  The first two projects are in no way intended to be
examples suitable for production use.