MQTT and MQTTS with wolfSSL TSL library

Dependencies:   FP MQTTPacket

Dependents:   YoPlegma

Fork of MQTT by MQTT

MQTT is light weight publish/subscribe based messaging protocol for M2M, IoT. This library was forked from MQTT https://developer.mbed.org/teams/mqtt for adding MQTTS security layer on the protocol. TLS(SSL) part of the library is by wolfSSL.https://developer.mbed.org/users/wolfSSL/code/wolfSSL/

"connect" method was extended for TLS. Rest of API's stay compatible with MQTT.

connect methode

 int connect(char* hostname, int port,  const char *certName = NULL, int timeout=1000)

The 3rd argument certName can be following values.

  • NULL: connecting with MQTT
  • pointer to certificate file: connecting with MQTTS. PEM or DER for server verification.
  • pointer to NULL string: connecting with MQTTS without server verification. This option is for prototyping only, not recommended in security perspective.

日本語:https://developer.mbed.org/users/wolfSSL/code/MQTTS/wiki/MQTTSライブラリ

Revision:
28:8b2abe9bd814
Parent:
26:2658bb87c53d
Parent:
25:d13a6c558164
Child:
30:a4e3a97dabe3
--- a/MQTTClient.h	Sun May 11 18:28:46 2014 +0000
+++ b/MQTTClient.h	Sun May 11 18:51:08 2014 +0000
@@ -20,6 +20,8 @@
  
  ensure publish packets are retried on reconnect
  
+ updating usage of FP. Try to remove inclusion of FP.cpp in main. sg-
+ 
  */
 
 #if !defined(MQTTCLIENT_H)
@@ -171,16 +173,18 @@
     
     PacketId packetid;
     
-    typedef FP<void, Message*> messageHandlerFP;
+    // typedef FP<void, Message*> messageHandlerFP;
     struct MessageHandlers
     {
         const char* topicFilter;
-        messageHandlerFP fp;
+        //messageHandlerFP fp; typedefs not liked?
+        FP<void, Message*> fp;
     } messageHandlers[MAX_MESSAGE_HANDLERS];      // Message handlers are indexed by subscription topic
     
-    messageHandlerFP defaultMessageHandler;
-    
+    FP<void, Message*> defaultMessageHandler;
+     
     bool isconnected;
+
 };
 
 }
@@ -378,6 +382,7 @@
     
     int len = 0,
         rc = SUCCESS;
+
     switch (packet_type)
     {
         case CONNACK: