MQTT test project.

Dependencies:   EthernetInterface MQTT RHT03 mbed-rtos mbed

Committer:
charliebsimms
Date:
Mon Apr 07 12:13:07 2014 +0000
Revision:
0:5939450e4bef
To test mqtt using a temperature sensor and using wifi connection to send the information to a mqtt server.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
charliebsimms 0:5939450e4bef 1 #include "mbed.h"
charliebsimms 0:5939450e4bef 2 #include "EthernetInterface.h"
charliebsimms 0:5939450e4bef 3 #include "PubSubClient.h"
charliebsimms 0:5939450e4bef 4
charliebsimms 0:5939450e4bef 5 Serial pc(USBTX, USBRX);
charliebsimms 0:5939450e4bef 6
charliebsimms 0:5939450e4bef 7 char* serverIpAddr = "192.168.2.111"; /*Sever ip address*/
charliebsimms 0:5939450e4bef 8 int port = 1883; /*Sever Port*/
charliebsimms 0:5939450e4bef 9
charliebsimms 0:5939450e4bef 10 void callback(char* topic, char* payload, unsigned int len); /*Callback function prototype*/
charliebsimms 0:5939450e4bef 11 PubSubClient mqtt(serverIpAddr, port, callback);
charliebsimms 0:5939450e4bef 12 EthernetInterface eth;
charliebsimms 0:5939450e4bef 13
charliebsimms 0:5939450e4bef 14 void callback(char* topic, char* payload, unsigned int len)
charliebsimms 0:5939450e4bef 15 {
charliebsimms 0:5939450e4bef 16 //Send incoming payloads back to topic "/mbed".
charliebsimms 0:5939450e4bef 17 mqtt.publish("mbed", payload, len);
charliebsimms 0:5939450e4bef 18 }
charliebsimms 0:5939450e4bef 19
charliebsimms 0:5939450e4bef 20 int main() {
charliebsimms 0:5939450e4bef 21
charliebsimms 0:5939450e4bef 22 eth.init(); //Use DHCP
charliebsimms 0:5939450e4bef 23 eth.connect();
charliebsimms 0:5939450e4bef 24 pc.printf("IP Address is %s\n", eth.getIPAddress());
charliebsimms 0:5939450e4bef 25
charliebsimms 0:5939450e4bef 26 pc.printf("MQTTClient Tester");
charliebsimms 0:5939450e4bef 27
charliebsimms 0:5939450e4bef 28
charliebsimms 0:5939450e4bef 29 char clientID[] = "mbed"; /*Client nanme show for MQTT server*/
charliebsimms 0:5939450e4bef 30 char pub_topic[] = "mbed"; /*Publish to topic : "/mbed" */
charliebsimms 0:5939450e4bef 31 char sub_topic[] = "mirror"; /*Subscribe to topic : "/mirror" */
charliebsimms 0:5939450e4bef 32
charliebsimms 0:5939450e4bef 33 if(!mqtt.connect(clientID)){
charliebsimms 0:5939450e4bef 34 pc.printf("\r\nConnect to server failed ..\r\n");
charliebsimms 0:5939450e4bef 35 return -1;
charliebsimms 0:5939450e4bef 36 }
charliebsimms 0:5939450e4bef 37
charliebsimms 0:5939450e4bef 38 pc.printf("\r\nConnect to server sucessed ..\r\n");
charliebsimms 0:5939450e4bef 39
charliebsimms 0:5939450e4bef 40 mqtt.publish(pub_topic, "Hello here is mbed...");
charliebsimms 0:5939450e4bef 41 mqtt.subscribe(sub_topic);
charliebsimms 0:5939450e4bef 42
charliebsimms 0:5939450e4bef 43
charliebsimms 0:5939450e4bef 44 pc.printf("#### End of the test.. ####");
charliebsimms 0:5939450e4bef 45
charliebsimms 0:5939450e4bef 46 //eth.disconnect();
charliebsimms 0:5939450e4bef 47
charliebsimms 0:5939450e4bef 48 while(1) {
charliebsimms 0:5939450e4bef 49 mqtt.loop();
charliebsimms 0:5939450e4bef 50 }
charliebsimms 0:5939450e4bef 51 }