This is an simple example to send the data to the MQTT broker using W7500 ECO module
Dependencies: MQTT WIZnetInterface mbed
Fork of W7500_ECO_Sending_String_to_MQTT_Broker by
main.cpp
- Committer:
- HarshaDRAGNEEL
- Date:
- 2018-08-07
- Revision:
- 1:9c13b9f1f2b3
- Parent:
- 0:5db3b5b4ae2e
File content as of revision 1:9c13b9f1f2b3:
#include "mbed.h" #include "SPI.h" #include "MQTTEthernet.h" #include "MQTTClient.h" #define ECHO_SERVER_PORT 7 Serial pc(USBTX, USBRX); //Enabling the Serial transmission between WIZWIKI-W7500ECO and PC. char c[100]="Hello testing"; int main(void) { printf("Wait a second...\r\n"); char* topic = "ack"; //if we are subscribing the acknowledgement. MQTTEthernet ipstack = MQTTEthernet(); MQTT::Client<MQTTEthernet, Countdown> client = MQTT::Client<MQTTEthernet, Countdown>(ipstack); char* hostname = "iot.eclipse.org"; //Give the IP Address of the MQTT Broker. int port = 1883; // Port number of the MQTT broker. int rc = ipstack.connect(hostname, port); if (rc != 0) printf("rc from TCP connect is %d\n", rc); printf("Topic: %s\r\n",topic); MQTTPacket_connectData data = MQTTPacket_connectData_initializer; data.MQTTVersion = 3; data.clientID.cstring = "Gintama"; if ((rc = client.connect(data)) == 0) printf("rc from MQTT connect is %d\n", rc); while (true) { pc.printf("The value Sent to MQTT is: %s \n ",c); MQTT::Message message; char buf[100]; sprintf(buf, "%s", c); message.qos = MQTT::QOS0; message.retained = false; message.dup = false; message.payload = (void*)c; message.payloadlen = strlen(c); rc = client.publish("hellooo", message); // pc.printf("Rc result: %c \n ",rc); client.yield(60); wait(60); } }