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
--- /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
--- /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
--- /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
--- /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
--- /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
--- /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