HelloMQTT over TLS.

Dependencies:   MQTT

Fork of HelloMQTT by Osamu Koizumi

HelloMQTT over TLS

This program is a fork of HelloMQTT. Added TLS capability by using TLSSocket library. Tested on K64F.

This sample program connects to iot.eclipse.org:8883 by default. Verifies server identification. Subscribes a certain topic. Then publishes three messages with different QoSs, i.e. QoS0, QoS1, and QoS2.

Warning

Some brokers do not accept QoS2 and/or QoS1 message. For example, AWS IoT Message Broker doesn't accept QoS2. In such broker, this program doesn't work as is. Change QoS level.

Output from console

HelloMQTT: version is 0.70

Opening network interface...
Network interface opened successfully.

Connecting to host iot.eclipse.org:8883 ...
Connection established.

MQTT client is trying to connect the server ...
Client connected.

Client is trying to subscribe a topic "mbed-test".
Client has subscribed a topic "mbed-test".

Client publishes messages ...
Publishing message QoS 0.
QoS 0 message published.
! Message arrived: qos 0, retained 0, dup 0, packetid 6257
! Payload Hello World!  QoS 0 message from app version 0.700000

Publishing message QoS 1.
QoS 1 message published.
! Message arrived: qos 1, retained 0, dup 0, packetid 1
! Payload Hello World!  QoS 1 message from app version 0.700000

Publishing message QoS 2.
QoS 2 message published.
! Message arrived: qos 2, retained 0, dup 0, packetid 2
! Payload Hello World!  QoS 2 message from app version 0.700000

Version 0.70: finish 3 msgs

Known Issues

On K64F, when serial baud rate is changed from 9600 to 115200, program fails.

Revisions of main.cpp

Revision Date Message Actions
35:c8fd5859a455 2018-06-08 Roll back easy-connect. File  Diff  Annotate
34:8f7a465c2192 2018-06-07 Added mutual auth capability. File  Diff  Annotate
29:bc323243010e 2018-04-17 Changed print messages. File  Diff  Annotate
24:e7cf8b02e012 2018-04-16 Added TLS support. File  Diff  Annotate
21:a68bd76740f9 2017-09-07 changeset: 21:6ab7c0b84d9e File  Diff  Annotate
20:49c9daf2b0ff 2017-01-10 Update to mbed OS 5, use NetworkInterface for multiple connectivity methods - not just ethernet File  Diff  Annotate
19:7f7aba7a4a8b 2015-07-30 Subscribe at QoS 2, remove lcd.cls() calls File  Diff  Annotate
18:07a79d8f01c3 2015-07-27 Make it easy to not use LCD screen, if you don't have one File  Diff  Annotate
17:0811bdbdd78a 2015-07-27 Make sure QoS 2 works File  Diff  Annotate
16:28d062c5522b 2014-10-06 Update to latest MQTT library - change some pointers to references File  Diff  Annotate
12:086a9314e8a5 2014-08-01 Some cleaning up File  Diff  Annotate
9:5beb8609e9f7 2014-05-22 Latest version File  Diff  Annotate
8:a3e3113054a1 2014-05-20 Refactoring headers File  Diff  Annotate
7:3de634f2d40c 2014-05-11 Merge latest changes File  Diff  Annotate
6:e4c690c45021 2014-05-11 Wildcard subscriptions File  Diff  Annotate
5:4a257f6ac09a 2014-05-09 Updates to the example to use the virtual serial port and the LCD for feedback File  Diff  Annotate
3:7a6a899de7cc 2014-05-06 Use latest MQTT library on both mbed and Linux File  Diff  Annotate
2:638c854c0695 2014-04-30 Update to the latest level of code File  Diff  Annotate
1:a1d5c7a6acbc 2014-02-05 Add copyright statement to main program File  Diff  Annotate
0:0cae29831d01 2014-02-04 Sample program for MQTT client File  Diff  Annotate