This library provides data update method to Fastsensing.

Dependents:   SCP1000_Fastsensing

Fastsensing.cpp

Committer:
AkiraK
Date:
2017-05-19
Revision:
6:8338b52bd7bb
Parent:
4:45527abb7f40
Parent:
5:e34ff2b4af3f
Child:
7:c29803218447

File content as of revision 6:8338b52bd7bb:

/*
*   Created by Akira Kashihara <akira@fastsensing.com>
*   Description : You can upload sensing data Fastsensing and display them.
*                 This Library needs your device ID, channel ID and each data value.
*/
#include "Fastsensing.h"

void Fastsensing::ethConnect() {
    eth.init();                                 //Use DHCP. Initialize setting of eth.
    eth.connect(100);                              //Connect Bring the interface up.
}

void Fastsensing::ethDisconnect() {
    eth.disconnect();                       //EthernetInterface closed
}

int Fastsensing::updateData(char *deviceId, char *channelId, double data)
{
    //eth.init();                                 //Use DHCP. Initialize setting of eth.
    //eth.connect();                              //Connect Bring the interface up.
    char reqUrl[1000];                          //Char array for request
    char basedUrl[20] = "http://f-io.net/d1/";  //based http url
    char query[256];                            //The array is for holding query
    char resResult[256];                        //The array is for holding response result
    strcpy(reqUrl, basedUrl);                   //based Url is copied to reqUrl
    strcat(reqUrl, deviceId);                   //Concatenate reqUrl and deviceId
    sprintf(query, "?%s=%f", channelId, data);  //Create Query String
    strcat(reqUrl, query);                      //Concatenate reqUrl and query
    int res = http.get(reqUrl, resResult, 128);//Send request is reqUrl as get method and get Response Result. Time out is 5000
    printf("%d\n", res);
    if(!res) {                                  //If session is completed
        //eth.disconnect();                       //EthernetInterface closed
        printf("disconnected\n");
        return 0;                               //Return 0
    } else {                                    //If session is not completed
        //eth.disconnect();                       //EthernetInterface closed
        printf("disconnected\n");
        return 1;                               //Return 1
    }
}

int Fastsensing::updateDataAll(char *deviceId, char *channelId[3], float data[3])
{
    //eth.init();                                                 //Use DHCP. Initialize setting of eth.
    //eth.connect();                                              //Connect Bring the interface up.
    char reqUrl[1000];                                          //Char array for request
    char basedUrl[20] = "http://f-io.net/D1/";                  //based http url
    char query[256];                                            //The array is for holding query
    char resResult[256];                                        //The array is for holding response result
    char delim;                                                 //delimiter
    strcpy(reqUrl, basedUrl);                                   //based Url is copied to reqUrl
    strcat(reqUrl, deviceId);                                   //Concatenate reqUrl and deviceId
    for(int i = 0; i < 3; i++) {                                //Create request URL
        if(i == 0) delim = '?';                                 //first query is connected with ?
        else delim = '&';                                       //After second, query is connected with &
        sprintf(query, "%c%s=%.1f",delim, channelId[i], data[i]); //Create Query String
        strcat(reqUrl, query);                                  //Concatenate reqUrl and query
    }
    printf("%s\n", reqUrl);
    int res = http.get(reqUrl, resResult, 128);                 //Send request is reqUrl as get method and get Response Result. Time out is 5000
    //printf("%d\n", res);
    //printf("%d\n", http.getHTTPResponseCode());
    if(!res) {                                                  //If session is completed
        //eth.disconnect();                                       //EthernetInterface closed
        printf("disconnected\n");
        return 0;                                               //Return 0
    } else {                                                    //If session is not completed
        //eth.disconnect();                                       //EthernetInterface closed
        printf("disconnected\n");
        return 1;                                               //Return 1
    }
}