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 |
diff -r 4f0489448955 -r 097237daec3d main.cpp --- 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); } }