This is the first stage and sends data (temp, humidity) to mqtt server.

Dependencies:   EthernetInterface MQTT RHT03 mbed-rtos mbed

Files at this revision

API Documentation at this revision

Comitter:
charliebsimms
Date:
Thu May 22 08:35:33 2014 +0000
Commit message:
The project aim is to develop a beehive environment monitoring system publishing data to a mqtt server.

Changed in this revision

EthernetInterface.lib Show annotated file Show diff for this revision Revisions of this file
MQTT.lib Show annotated file Show diff for this revision Revisions of this file
RHT03.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed-rtos.lib Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 7c734e5f2c45 EthernetInterface.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/EthernetInterface.lib	Thu May 22 08:35:33 2014 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/EthernetInterface/#097a9996f8d5
diff -r 000000000000 -r 7c734e5f2c45 MQTT.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MQTT.lib	Thu May 22 08:35:33 2014 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/jwende/code/MQTT/#ca855d29545b
diff -r 000000000000 -r 7c734e5f2c45 RHT03.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/RHT03.lib	Thu May 22 08:35:33 2014 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/tristanjph/code/RHT03/#153e20f26d54
diff -r 000000000000 -r 7c734e5f2c45 main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Thu May 22 08:35:33 2014 +0000
@@ -0,0 +1,80 @@
+#include "mbed.h"
+#include "EthernetInterface.h"
+#include "PubSubClient.h"
+#include "RHT03.h" 
+#include <iostream>
+#include <sstream>
+#include <string>
+#include <iomanip>
+
+Serial pc(USBTX, USBRX);
+DigitalOut myled(LED1);
+
+char* serverIpAddr = "192.168.1.2";  
+int port = 1883; 
+
+
+void callback(char* topic, char* payload, unsigned int len);
+PubSubClient mqtt(serverIpAddr, port, callback);
+EthernetInterface  eth;
+
+void callback(char* topic, char* payload, unsigned int len)
+{
+    printf("Topic: %s\r\n", topic);
+    printf("Payload: %s\r\n\r\n", payload);
+    
+    //Send incoming payloads back to topic.
+    //mqtt.publish("mbed/mybehive", payload, len);
+}
+
+int main() {
+
+    float temp,hum;
+    RHT03 humtemp(p24); 
+    string var;
+    
+    printf("\r\nMQTTClient Tester\r\n");
+    eth.init(); //Use DHCP
+    eth.connect();
+
+    printf("IP Address is %s\n\r", eth.getIPAddress());  
+    
+    char clientID[] = "charlie";   /*Client nanme show for MQTT server*/
+    char pub_topic[] = "mbed/mybehive";   /*Publish to topic : "/mbed" */
+
+    
+    if(!mqtt.connect(clientID)){
+        pc.printf("\r\nConnect to server failed ..\r\n");
+        return -1;
+    }
+    
+    printf("\r\nConnect to server sucessed ..\r\n");
+      
+    while(1) {
+        mqtt.loop();
+        myled = 1;
+        wait(3);
+
+        pc.printf("Read temperature\n\r");
+        if(humtemp.readData() == RHT_ERROR_NONE) 
+        {
+            //Gets the current temperature in centigrade
+            temp = humtemp.getTemperatureC();
+            //Gets the current humidity in percentage 
+            hum = humtemp.getHumidity(); 
+            
+            stringstream oss;
+            oss << "{" << "\"temperature\":" << std::setprecision(4) << temp << "," << "\"humidity\":" << std::setprecision(4) << hum << "}";
+            
+            string data = oss.str();            
+            pc.printf("temperature is %f\n\r", temp);
+            pc.printf("humidity is %f\n\r\n\r", hum);
+            pc.printf("environment is %s\n\r\n\r", data.c_str());
+            char * value = new char [37];
+            strcpy(value, data.c_str());
+            mqtt.publish(pub_topic, value);
+        }
+        myled = 0;
+        wait(3);
+    }
+}
\ No newline at end of file
diff -r 000000000000 -r 7c734e5f2c45 mbed-rtos.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rtos.lib	Thu May 22 08:35:33 2014 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed-rtos/#5dfe422a963d
diff -r 000000000000 -r 7c734e5f2c45 mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Thu May 22 08:35:33 2014 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/0b3ab51c8877
\ No newline at end of file