Dust Sesnsor PMS5003
Dependencies: NetServices ThingSpeakEthernet mbed
ThingSpeak.cpp@6:ebbde59c5a1d, 2015-11-20 (annotated)
- 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?
User | Revision | Line number | New 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 | } |