How to send data from mbed to thingspeak

Dependencies:   HTTPClient WiflyInterface mbed

main.cpp

Committer:
maman95
Date:
2018-02-12
Revision:
0:e7668b44b4eb

File content as of revision 0:e7668b44b4eb:

#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.
       
 
}
}