Tunnel(Serial To IEEE1888)
| Revision | bdeb249a4f0b06614cd271f0309f2685a06fbda6 (tree) |
|---|---|
| Time | 2015-07-15 19:36:48 |
| Author | MirrgieRiana Kurilab |
| Commiter | MirrgieRiana Kurilab |
libraries: FIAPUploadAgentを更新
| @@ -12,6 +12,10 @@ | ||
| 12 | 12 | #include <avr/pgmspace.h> // Retrieve Strings from the Program Memory |
| 13 | 13 | #include "FIAPUploadAgent.h" |
| 14 | 14 | |
| 15 | +//#define print(x) print(x);Serial.print(x); | |
| 16 | +//#define println(x) println(x);Serial.println(x); | |
| 17 | + | |
| 18 | +#define prog_char const char | |
| 15 | 19 | // void void FIAPUploadAgent::begin( ... ); |
| 16 | 20 | // Initialize the FIAPUploadAgent instance |
| 17 | 21 | // with specifying server information and PointSetID (=PointID prefix) |
| @@ -19,12 +23,12 @@ | ||
| 19 | 23 | const char* server_host, |
| 20 | 24 | const char* server_path, |
| 21 | 25 | unsigned short server_port, |
| 22 | - const char* fiap_id_prefix){ | |
| 26 | + const char* fiap_id_prefix){ | |
| 23 | 27 | |
| 24 | 28 | this->server_host=server_host; |
| 25 | 29 | this->server_path=server_path; |
| 26 | 30 | this->server_port=server_port; |
| 27 | - this->fiap_id_prefix=fiap_id_prefix; | |
| 31 | + this->fiap_id_prefix=fiap_id_prefix; | |
| 28 | 32 | } |
| 29 | 33 | |
| 30 | 34 | // Messages (Stored in the program memory) -- HTTP Header Part |
| @@ -88,7 +92,8 @@ | ||
| 88 | 92 | // コンテンツサイズ計算 |
| 89 | 93 | v0 = v; |
| 90 | 94 | clen = 351; // sum of literal strings |
| 91 | - clen += strlen(fiap_id_prefix); | |
| 95 | + clen -= 31; | |
| 96 | +// clen += strlen(fiap_id_prefix); | |
| 92 | 97 | for (count = 0; count < esize; count++) { |
| 93 | 98 | clen += strlen(fiap_id_prefix); |
| 94 | 99 | clen += strlen(v0->cid); |
| @@ -97,6 +102,14 @@ | ||
| 97 | 102 | v0++; |
| 98 | 103 | } // Serial.print("len="); Serial.println(clen); |
| 99 | 104 | |
| 105 | + // コンテンツサイズ修正 | |
| 106 | + clen -=2; | |
| 107 | + clen += esize; | |
| 108 | + | |
| 109 | + // NECサーバー用 | |
| 110 | + // fiap_id_prefixには最後にスラッシュを指定しない | |
| 111 | + clen += esize; | |
| 112 | + | |
| 100 | 113 | // sending message buffer |
| 101 | 114 | char sbuf[55]; |
| 102 | 115 |
| @@ -137,16 +150,16 @@ | ||
| 137 | 150 | client.println(sbuf); // "<body>" |
| 138 | 151 | |
| 139 | 152 | |
| 140 | - strcpy_P(sbuf,FIAPUploadAgent_Post_HTTPBODY08); | |
| 141 | - client.print(sbuf); // "<pointSet id=\"" | |
| 142 | - client.print(fiap_id_prefix); | |
| 143 | - strcpy_P(sbuf,FIAPUploadAgent_Post_HTTPBODY09); | |
| 144 | - client.println(sbuf); // "\">" | |
| 153 | +// strcpy_P(sbuf,FIAPUploadAgent_Post_HTTPBODY08); | |
| 154 | +// client.print(sbuf); // "<pointSet id=\"" | |
| 155 | +// client.print(fiap_id_prefix); | |
| 156 | +// strcpy_P(sbuf,FIAPUploadAgent_Post_HTTPBODY09); | |
| 157 | +// client.println(sbuf); // "\">" | |
| 145 | 158 | v0=v; |
| 146 | 159 | for (count = 0; count < esize; count++) { |
| 147 | 160 | strcpy_P(sbuf,FIAPUploadAgent_Post_HTTPBODY10); |
| 148 | 161 | client.print(sbuf); // "<point id=\"" |
| 149 | - client.print(fiap_id_prefix); client.print(v0->cid); | |
| 162 | + client.print(fiap_id_prefix); client.print("/"); client.print(v0->cid); | |
| 150 | 163 | strcpy_P(sbuf,FIAPUploadAgent_Post_HTTPBODY11); |
| 151 | 164 | client.println(sbuf); // "\">" |
| 152 | 165 |
| @@ -164,8 +177,8 @@ | ||
| 164 | 177 | client.println(sbuf); // "</point>" |
| 165 | 178 | v0++; |
| 166 | 179 | } |
| 167 | - strcpy_P(sbuf,FIAPUploadAgent_Post_HTTPBODY16); | |
| 168 | - client.println(sbuf); // "</pointSet>" | |
| 180 | +// strcpy_P(sbuf,FIAPUploadAgent_Post_HTTPBODY16); | |
| 181 | +// client.println(sbuf); // "</pointSet>" | |
| 169 | 182 | strcpy_P(sbuf,FIAPUploadAgent_Post_HTTPBODY17); |
| 170 | 183 | client.println(sbuf); // "</body>" |
| 171 | 184 | strcpy_P(sbuf,FIAPUploadAgent_Post_HTTPBODY18); |
| @@ -180,12 +193,11 @@ | ||
| 180 | 193 | |
| 181 | 194 | // parse HTTP response |
| 182 | 195 | count = 0; |
| 183 | - // *ADD*: エレメントが1個の場合は遅れない問題対策 15b05 | |
| 184 | - int waitCount = 0; // *ADD* | |
| 185 | 196 | while (client.connected()) { |
| 186 | 197 | // Serial.print("C"); |
| 187 | 198 | if (client.available()) { |
| 188 | - c = client.read(); // Serial.print(c); | |
| 199 | + c = client.read(); | |
| 200 | + //Serial.print((char)c); | |
| 189 | 201 | if (count == 1 && (c >= '0' && c <= '9')) { // parse HTTP response code |
| 190 | 202 | rescode = rescode * 10 + (c - '0'); |
| 191 | 203 | continue; |
| @@ -196,13 +208,6 @@ | ||
| 196 | 208 | if (count == 2 || c == '\n') { // end of HTTP response code |
| 197 | 209 | break; // 応答ヘッダの2行目以降は見ない |
| 198 | 210 | } |
| 199 | - } else{ // *ADD* | |
| 200 | - delay(10); // *ADD* | |
| 201 | - waitCount++; // *ADD* | |
| 202 | - if (waitCount > 1000) { // *ADD* | |
| 203 | - client.stop(); // *ADD* | |
| 204 | - return 5; // 10 seconds timeout *ADD* | |
| 205 | - } // *ADD* | |
| 206 | 211 | } |
| 207 | 212 | } |
| 208 | 213 | if (!client.connected()) { // unexpected disconnect |
| @@ -213,6 +218,7 @@ | ||
| 213 | 218 | // disconnect HTTP |
| 214 | 219 | while (client.connected() && client.available()) { |
| 215 | 220 | c = client.read(); // Serial.print(c); // 応答を最後まで受信 |
| 221 | + //Serial.print((char)c); | |
| 216 | 222 | } |
| 217 | 223 | client.stop(); |
| 218 | 224 | if (rescode == 200) { |