Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: EthernetInterface MQTT mbed-rtos mbed
Fork of MBED-MQTT by
Diff: main.cpp
- Revision:
- 3:a77ffe1d4c35
- Parent:
- 2:005cdf4e8fb3
- Child:
- 4:21552aa726cc
--- a/main.cpp Mon Mar 20 17:10:21 2017 +0000
+++ b/main.cpp Mon Mar 20 22:29:37 2017 +0000
@@ -4,7 +4,7 @@
#include "rtos.h"
#include "k64f.h"
// connect options for MQTT broker
-#define BROKER "192.168.0.29" // MQTT broker URL
+#define BROKER "192.168.1.129" // MQTT broker URL
#define PORT 1883 // MQTT broker port number
#define CLIENTID "0002F7F000" // use K64F MAC address without colons
#define USERNAME "" // not required for MQTT Dashboard public broker
@@ -74,7 +74,7 @@
controlLED(blue);
wait(.1);
controlLED(off);}
- else if(strncmp((char*)message.payload, "new", 3)==0)
+ else if(strncmp((char*)message.payload, "sub", 3)==0)
{controlLED(off);
controlLED(blue);
wait(.1);
@@ -149,17 +149,20 @@
pc.printf("success\r\n");
MQTT::Message message;
- char buf[100];
+ int bufferSize = 128;
+ char buf[bufferSize];
message.qos = MQTT::QOS0;
message.retained = false;
message.dup = false;
message.payload = (void*)buf;
- message.payloadlen = strlen(buf)+1;
+ message.payloadlen = bufferSize+1;
int counter = 0;
+ sprintf(buf, "max:%d", thresh);
+ rc = client.publish(topic, message);
+
while(true) {
osEvent switchEvent = messageQ.get(100);
-
if(flash){
controlLED(red);
@@ -171,18 +174,16 @@
if (switchEvent.value.v == 22 || switchEvent.value.v == 33) {
switch(switchEvent.value.v) {
case 22 :
- if(counter == thresh){sprintf(buf, "b1o");}
- else{sprintf(buf, "add");}
counter++;
+ if (counter > thresh) flash = true;
break;
case 33 :
-
- if(counter == (thresh+1)){sprintf(buf, "b1u");}
- else{sprintf(buf, "new");}
if(counter > 0){counter--;}
+ if (counter <= thresh) flash = false;
break;
}
-
+ sprintf(buf, "{\"type\":\"UPDATE\",\"count\":\"%d\", \"max\":\"%d\"}", counter, thresh);
+ message.payloadlen = strlen(buf)+1;
pc.printf("Publishing MQTT message: %.*s\r\n", message.payloadlen, (char*)message.payload);
rc = client.publish(topic, message);
