How to send data from mbed to thingspeak

Dependencies:   HTTPClient WiflyInterface mbed

Revision:
0:e7668b44b4eb
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon Feb 12 02:32:21 2018 +0000
@@ -0,0 +1,64 @@
+#include "mbed.h"
+#include "WiflyInterface.h"
+#include "HTTPClient.h"
+
+
+WiflyInterface wifly(p9, p10, p30, p29, "Don", "don123456", WPA);
+Serial pc (USBTX, USBRX);
+AnalogIn moisture(p15);
+AnalogIn LM35(p16);
+DigitalOut myled1(LED1);
+HTTPClient http;
+//I2C tempsensor(p28, p27); //sda, sc1
+//const int addr = 0x90;
+//char config_t[2];
+//char temp_read[2];
+//float temp;
+char* url = "http://35.176.39.52/mbed_data.php"; //URL for transmit data to server
+
+int main() {
+    
+    wifly.init(); //Use DHCP
+ 
+    wifly.connect(); // Initiate connection to wifi
+    pc.printf("\nClient IP Address is %s\n\r", wifly.getIPAddress());
+    
+    float value=0;
+    float tempC,a[10],avg;
+int i;
+    
+    
+while(1) {
+
+avg=0;
+for(i=0;i<10;i++)
+{
+a[i]=LM35.read();
+wait(.02);
+}
+for(i=0;i<10;i++)
+{
+avg=avg+(a[i]/10);  // For more accurate value in determining temperature
+}
+    
+    //char buf[24];
+        char urlBuffer[100];
+        //sprintf (buf, value1);
+        value = moisture;
+        tempC=(avg*3.68*100)-4;
+        //int id = 1;
+        int value1 = (int)(value * 1000);
+        int temp = (int)(tempC);
+        /*time_t seconds = time(NULL);
+        seconds = seconds + 28800;
+        char buffer[32];
+        strftime(buffer, 64, "%H:%M:%S_%d-%m-%Y", localtime(&seconds));*/ //For Time configuration
+        
+        sprintf(urlBuffer, "%s?value=%d&field=%d", url , value1 , temp ); // Convert it to buffer
+        printf("Send to %s\r\n", urlBuffer);
+        http.get(urlBuffer, urlBuffer , 10); // Execute the URL of urlBuffer
+        wait(28.8); // Wifi module will execute the http.get every 31.2 seconds. Thus, waiting for 28.8 seconds means it will transmit data every 1 minute.
+       
+ 
+}
+}
\ No newline at end of file