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) { |