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:
36:2f1ada427e56
Parent:
31:a51dd239b78e
Child:
43:21da1f744243
--- a/MQTTSocket.h	Fri Aug 01 13:13:35 2014 +0000
+++ b/MQTTSocket.h	Fri Aug 01 14:45:25 2014 +0000
@@ -13,16 +13,16 @@
         return mysock.connect(hostname, port);
     }
 
-    int read(char* buffer, int len, int timeout)
+    int read(unsigned char* buffer, int len, int timeout)
     {
         mysock.set_blocking(false, timeout);  
-        return mysock.receive(buffer, len);
+        return mysock.receive((char*)buffer, len);
     }
     
-    int write(char* buffer, int len, int timeout)
+    int write(unsigned char* buffer, int len, int timeout)
     {
         mysock.set_blocking(false, timeout);  
-        return mysock.send(buffer, len);
+        return mysock.send((char*)buffer, len);
     }
     
     int disconnect()