MQTT and MQTTS with wolfSSL TSL library
Fork of MQTT by
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ライブラリ
Diff: MQTTEthernet.h
- Revision:
- 29:833386b16f3e
- Child:
- 31:a51dd239b78e
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MQTTEthernet.h Tue May 20 15:03:29 2014 +0000 @@ -0,0 +1,49 @@ + +#if !defined(MQTTETHERNET_H) +#define MQTTETHERNET_H + +#include "MQTT_mbed.h" +#include "EthernetInterface.h" + +class MQTTEthernet +{ +public: + MQTTEthernet() + { + eth.init(); // Use DHCP + eth.connect(); + mysock.set_blocking(false, 1000); // 1 second Timeout + } + + int connect(char* hostname, int port) + { + return mysock.connect(hostname, port); + } + + int read(char* buffer, int len, int timeout) + { + mysock.set_blocking(false, timeout); + return mysock.receive(buffer, len); + } + + int write(char* buffer, int len, int timeout) + { + mysock.set_blocking(false, timeout); + return mysock.send(buffer, len); + } + + int disconnect() + { + return mysock.close(); + } + +private: + + EthernetInterface eth; + TCPSocketConnection mysock; + +}; + + + +#endif