Simple demo with GPIO MQTT protocol test on STM32 broker tests.mosquitto.org WIFI interface ESP8266 Issue of topic0 by pressing the button If reception of ', switching of the led If received from 'q' end of program

Dependencies:   MQTT

This is a MQTT protocol test on STM32 NUCLEO The broker is tests.mosquitto.org The WIFI interface is ESP8266

For configuration please check mbed_app.json and #define in main.cpp

Issue of topic0 by pressing the button If received 'l' from broker then switching of the led If received 'q' from broker then end the program

Information and debug with a terminal using UART over USB https://os.mbed.com/media/uploads/cdupaty/mqtt2.jpg

This test has been checked with MQTT.fx https://os.mbed.com/media/uploads/cdupaty/mqttfx.jpg

Committer:
cdupaty
Date:
Thu Jun 11 14:09:40 2020 +0000
Revision:
24:cc01ff2c2603
Parent:
21:a68bd76740f9
MQTT protocol test on STM32; broker tests.mosquitto.org; WIFI interface ESP8266; Issue of topic0 by pressing the button; If reception of ', switching of the led; If received from 'q' end of program

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jan Jongboom 20:49c9daf2b0ff 1 #ifndef _MQTTNETWORK_H_
Jan Jongboom 20:49c9daf2b0ff 2 #define _MQTTNETWORK_H_
Jan Jongboom 20:49c9daf2b0ff 3
Jan Jongboom 20:49c9daf2b0ff 4 #include "NetworkInterface.h"
Jan Jongboom 20:49c9daf2b0ff 5
Jan Jongboom 20:49c9daf2b0ff 6 class MQTTNetwork {
Jan Jongboom 20:49c9daf2b0ff 7 public:
Jan Jongboom 20:49c9daf2b0ff 8 MQTTNetwork(NetworkInterface* aNetwork) : network(aNetwork) {
Jan Jongboom 20:49c9daf2b0ff 9 socket = new TCPSocket();
Jan Jongboom 20:49c9daf2b0ff 10 }
Jan Jongboom 20:49c9daf2b0ff 11
Jan Jongboom 20:49c9daf2b0ff 12 ~MQTTNetwork() {
Jan Jongboom 20:49c9daf2b0ff 13 delete socket;
Jan Jongboom 20:49c9daf2b0ff 14 }
Jan Jongboom 20:49c9daf2b0ff 15
Jan Jongboom 20:49c9daf2b0ff 16 int read(unsigned char* buffer, int len, int timeout) {
Jan Jongboom 20:49c9daf2b0ff 17 return socket->recv(buffer, len);
Jan Jongboom 20:49c9daf2b0ff 18 }
Jan Jongboom 20:49c9daf2b0ff 19
Jan Jongboom 20:49c9daf2b0ff 20 int write(unsigned char* buffer, int len, int timeout) {
Jan Jongboom 20:49c9daf2b0ff 21 return socket->send(buffer, len);
Jan Jongboom 20:49c9daf2b0ff 22 }
Jan Jongboom 20:49c9daf2b0ff 23
Jan Jongboom 20:49c9daf2b0ff 24 int connect(const char* hostname, int port) {
Jan Jongboom 20:49c9daf2b0ff 25 socket->open(network);
Jan Jongboom 20:49c9daf2b0ff 26 return socket->connect(hostname, port);
Jan Jongboom 20:49c9daf2b0ff 27 }
Jan Jongboom 20:49c9daf2b0ff 28
Jan Jongboom 21:a68bd76740f9 29 int disconnect() {
Jan Jongboom 21:a68bd76740f9 30 return socket->close();
Jan Jongboom 20:49c9daf2b0ff 31 }
Jan Jongboom 20:49c9daf2b0ff 32
Jan Jongboom 20:49c9daf2b0ff 33 private:
Jan Jongboom 20:49c9daf2b0ff 34 NetworkInterface* network;
Jan Jongboom 20:49c9daf2b0ff 35 TCPSocket* socket;
Jan Jongboom 20:49c9daf2b0ff 36 };
Jan Jongboom 20:49c9daf2b0ff 37
Jan Jongboom 20:49c9daf2b0ff 38 #endif // _MQTTNETWORK_H_