A test program for Pachube library.

Dependencies:   mbed ThermistorPack Pachube EthernetNetIf

Committer:
shintamainjp
Date:
Thu Sep 30 22:25:51 2010 +0000
Revision:
1:d4f8908bf66f
Parent:
0:edeb42b3d357
Child:
2:2446c674625b

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
shintamainjp 0:edeb42b3d357 1 /**
shintamainjp 0:edeb42b3d357 2 * A test program for Pachube API interface driver. (Version 0.0.1)
shintamainjp 0:edeb42b3d357 3 *
shintamainjp 0:edeb42b3d357 4 * Copyright (C) 2010 Shinichiro Nakamura (CuBeatSystems)
shintamainjp 0:edeb42b3d357 5 * http://shinta.main.jp/
shintamainjp 0:edeb42b3d357 6 */
shintamainjp 0:edeb42b3d357 7
shintamainjp 0:edeb42b3d357 8 #include "mbed.h"
shintamainjp 0:edeb42b3d357 9 #include "PachubeV2CSV.h"
shintamainjp 0:edeb42b3d357 10 #include "EthernetNetIf.h"
shintamainjp 0:edeb42b3d357 11 #include "HTTPClient.h"
shintamainjp 0:edeb42b3d357 12 #include "ThermistorMCP9701.h"
shintamainjp 0:edeb42b3d357 13
shintamainjp 1:d4f8908bf66f 14 #define API_KEY "YourAPIKey"
shintamainjp 1:d4f8908bf66f 15 #define FEED_ID 99999
shintamainjp 1:d4f8908bf66f 16 #define STREAM_ID "YourStreamID"
shintamainjp 1:d4f8908bf66f 17
shintamainjp 1:d4f8908bf66f 18 PachubeV2CSV web(API_KEY);
shintamainjp 0:edeb42b3d357 19 EthernetNetIf eth;
shintamainjp 0:edeb42b3d357 20 ThermistorMCP9701 thermistor1(p16);
shintamainjp 0:edeb42b3d357 21
shintamainjp 0:edeb42b3d357 22 void example1() {
shintamainjp 0:edeb42b3d357 23 int page = 1;
shintamainjp 0:edeb42b3d357 24 int per_page = 10;
shintamainjp 0:edeb42b3d357 25 std::string content = "";
shintamainjp 0:edeb42b3d357 26 std::string q = "";
shintamainjp 0:edeb42b3d357 27 std::string tag = "";
shintamainjp 0:edeb42b3d357 28 std::string user = "";
shintamainjp 0:edeb42b3d357 29 std::string units = "";
shintamainjp 0:edeb42b3d357 30 std::string status = "";
shintamainjp 0:edeb42b3d357 31 std::string order = "";
shintamainjp 0:edeb42b3d357 32 std::string datatext = "";
shintamainjp 0:edeb42b3d357 33 web.listAllAvailableFeeds(
shintamainjp 0:edeb42b3d357 34 page,
shintamainjp 0:edeb42b3d357 35 per_page,
shintamainjp 0:edeb42b3d357 36 content,
shintamainjp 0:edeb42b3d357 37 q,
shintamainjp 0:edeb42b3d357 38 tag,
shintamainjp 0:edeb42b3d357 39 user,
shintamainjp 0:edeb42b3d357 40 units,
shintamainjp 0:edeb42b3d357 41 status,
shintamainjp 0:edeb42b3d357 42 order,
shintamainjp 0:edeb42b3d357 43 datatext);
shintamainjp 0:edeb42b3d357 44 printf("====Data====\n%s\n============\n", datatext.c_str());
shintamainjp 0:edeb42b3d357 45 }
shintamainjp 0:edeb42b3d357 46
shintamainjp 0:edeb42b3d357 47 void example2_loop() {
shintamainjp 1:d4f8908bf66f 48 const int feed_id = FEED_ID;
shintamainjp 1:d4f8908bf66f 49 const std::string stream_id = STREAM_ID;
shintamainjp 0:edeb42b3d357 50
shintamainjp 0:edeb42b3d357 51 int cnt = 0;
shintamainjp 0:edeb42b3d357 52 while (1) {
shintamainjp 0:edeb42b3d357 53 double val1 = thermistor1.read();
shintamainjp 0:edeb42b3d357 54 char val1_text[32];
shintamainjp 0:edeb42b3d357 55 sprintf(val1_text, "%f", val1);
shintamainjp 0:edeb42b3d357 56 if (cnt == 0) {
shintamainjp 0:edeb42b3d357 57 printf("createNewDataStream(%d)\n", web.createNewDataStream(feed_id, stream_id, std::string(val1_text)));
shintamainjp 0:edeb42b3d357 58 } else {
shintamainjp 0:edeb42b3d357 59 printf("updateDataStream(%d)\n", web.updateDataStream(feed_id, stream_id, std::string(val1_text)));
shintamainjp 0:edeb42b3d357 60 }
shintamainjp 0:edeb42b3d357 61 cnt++;
shintamainjp 0:edeb42b3d357 62 wait(10);
shintamainjp 0:edeb42b3d357 63 }
shintamainjp 0:edeb42b3d357 64 }
shintamainjp 0:edeb42b3d357 65
shintamainjp 0:edeb42b3d357 66 int main() {
shintamainjp 0:edeb42b3d357 67 eth.setup();
shintamainjp 0:edeb42b3d357 68
shintamainjp 0:edeb42b3d357 69 example1();
shintamainjp 0:edeb42b3d357 70 example2_loop();
shintamainjp 0:edeb42b3d357 71 }