Dust Sesnsor PMS5003

Dependencies:   NetServices ThingSpeakEthernet mbed

Committer:
tsoic
Date:
Fri Nov 20 08:28:11 2015 +0000
Revision:
6:ebbde59c5a1d
Child:
7:1da0a084cd69
Uploading sensor data ( Voltage divider, MAX4172, INA219) over ethernet to Thing Speak service.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tsoic 6:ebbde59c5a1d 1 #include "mbed.h"
tsoic 6:ebbde59c5a1d 2 #include "EthernetNetIf.h"
tsoic 6:ebbde59c5a1d 3 #include "HTTPClient.h"
tsoic 6:ebbde59c5a1d 4 #include "ThingSpeak.h"
tsoic 6:ebbde59c5a1d 5
tsoic 6:ebbde59c5a1d 6 Serial pc(USBTX, USBRX);
tsoic 6:ebbde59c5a1d 7
tsoic 6:ebbde59c5a1d 8 ThingSpeak::ThingSpeak(char* Key, const int Qt) : thingSpeakKey(Key) {
tsoic 6:ebbde59c5a1d 9 thingSpeakUrl = "https://api.thingspeak.com/update";
tsoic 6:ebbde59c5a1d 10 urlBuffer[0] = 0;
tsoic 6:ebbde59c5a1d 11 fieldBuffer[0] = 0;
tsoic 6:ebbde59c5a1d 12 }
tsoic 6:ebbde59c5a1d 13
tsoic 6:ebbde59c5a1d 14 void ThingSpeak::connect() {
tsoic 6:ebbde59c5a1d 15 pc.printf("Setting up Ethernet...\r\n");
tsoic 6:ebbde59c5a1d 16 EthernetErr ethErr = eth.setup();
tsoic 6:ebbde59c5a1d 17 if(ethErr){
tsoic 6:ebbde59c5a1d 18 pc.printf("Error %d in ethernet setup.\r\n", ethErr);
tsoic 6:ebbde59c5a1d 19 //* connect();
tsoic 6:ebbde59c5a1d 20 }
tsoic 6:ebbde59c5a1d 21 pc.printf("Ethernet setup OK\r\n");
tsoic 6:ebbde59c5a1d 22 }
tsoic 6:ebbde59c5a1d 23
tsoic 6:ebbde59c5a1d 24 void ThingSpeak::getIP() {
tsoic 6:ebbde59c5a1d 25
tsoic 6:ebbde59c5a1d 26 }
tsoic 6:ebbde59c5a1d 27
tsoic 6:ebbde59c5a1d 28 void ThingSpeak::setField(float field, int i) {
tsoic 6:ebbde59c5a1d 29 char fieldi;
tsoic 6:ebbde59c5a1d 30 char fieldShortBuff[8];
tsoic 6:ebbde59c5a1d 31 sprintf(fieldShortBuff, "%f", field);
tsoic 6:ebbde59c5a1d 32 sprintf(&fieldi, "%i", i);
tsoic 6:ebbde59c5a1d 33 strncat(fieldBuffer, "&field", 6 );
tsoic 6:ebbde59c5a1d 34 strncat(fieldBuffer, &fieldi , 1);
tsoic 6:ebbde59c5a1d 35 strncat(fieldBuffer, "=", 1);
tsoic 6:ebbde59c5a1d 36 strncat(fieldBuffer, fieldShortBuff , 4);
tsoic 6:ebbde59c5a1d 37 }
tsoic 6:ebbde59c5a1d 38
tsoic 6:ebbde59c5a1d 39 void ThingSpeak::putUp() {
tsoic 6:ebbde59c5a1d 40 sprintf(urlBuffer, "%s?key=%s%s", thingSpeakUrl, thingSpeakKey, fieldBuffer);
tsoic 6:ebbde59c5a1d 41 pc.printf("URL Buffer request: %s ", urlBuffer);
tsoic 6:ebbde59c5a1d 42 res = http.get(urlBuffer, &resp);
tsoic 6:ebbde59c5a1d 43 if (res == HTTP_OK)
tsoic 6:ebbde59c5a1d 44 pc.printf(" Result :\"%s\"\r\n", resp.gets());
tsoic 6:ebbde59c5a1d 45 else
tsoic 6:ebbde59c5a1d 46 pc.printf(" Error %d\r\n", res);
tsoic 6:ebbde59c5a1d 47 fieldBuffer[0] = 0;
tsoic 6:ebbde59c5a1d 48 }