hgcgf
Dependencies: DHT MQTT WIZnetInterface mbed-src
Fork of MQTTw7500 by
Revision 13:097237daec3d, committed 2017-12-27
- Comitter:
- roisetomy
- Date:
- Wed Dec 27 06:46:54 2017 +0000
- Parent:
- 12:4f0489448955
- Commit message:
- hjvjhb
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Sat Oct 03 10:54:52 2015 +0000
+++ b/main.cpp Wed Dec 27 06:46:54 2017 +0000
@@ -3,14 +3,18 @@
#include "MQTTEthernet.h"
#include "MQTTClient.h"
#define ECHO_SERVER_PORT 7
+Serial pc(USBTX,USBRX);
int arrivedcount = 0;
+char *receive_data;
void messageArrived(MQTT::MessageData& md)
{
MQTT::Message &message = md.message;
printf("Message arrived: qos %d, retained %d, dup %d, packetid %d\n", message.qos, message.retained, message.dup, message.id);
printf("Payload %.*s\n", message.payloadlen, (char*)message.payload);
+ memcpy(receive_data,message.payload,sizeof(message.payload));
+ pc.printf(receive_data);
++arrivedcount;
}
@@ -29,7 +33,7 @@
MQTT::Client<MQTTEthernet, Countdown> client = MQTT::Client<MQTTEthernet, Countdown>(ipstack);
- char* hostname = "192.168.1.99";
+ char* hostname = "172.16.73.4";
int port = 1883;
int rc = ipstack.connect(hostname, port);
@@ -42,7 +46,7 @@
data.MQTTVersion = 3;
data.clientID.cstring = "parents";
- if ((rc = client.connect(data)) != 0)
+ if ((rc = client.connect(data)) == 0)
printf("rc from MQTT connect is %d\n", rc);
if ((rc = client.subscribe(topic, MQTT::QOS1, messageArrived)) != 0)
@@ -50,28 +54,36 @@
MQTT::Message message;
char buf[100];
+
int error = 0;
float hum = 0.0f, temp = 0.0f;
+
while (true)
{
error = sensor.readData();
- if (0 == error) {
+ if (0 == error)
+ {
hum = sensor.ReadHumidity();
temp = sensor.ReadTemperature(CELCIUS);
- }
+ }
+
sprintf(buf, "%3.1f", hum);
message.qos = MQTT::QOS0;
message.retained = false;
message.dup = false;
message.payload = (void*)buf;
message.payloadlen = strlen(buf);
- rc = client.publish("openhab/parents/humidity", message);
+ rc = client.publish("openhab/parents/hum", message);
+ client.yield(60000);
sprintf(buf, "%3.1f", temp);
+ message.qos = MQTT::QOS0;
+ message.retained = false;
+ message.dup = false;
message.payload = (void*)buf;
message.payloadlen = strlen(buf);
- rc = client.publish("openhab/parents/temperature", message);
+ rc = client.publish("openhab/parents/hum", message);
+ client.yield(60000);
- client.yield(60000);
}
}
