v2 for lunchbox

Dependencies:   HTTPClient PWM_Tone_Library PinDetect_KL25Z Queue cc3000_hostdriver_mbedsocket mbed

Fork of kragl by The Kragl

Committer:
ahsueh
Date:
Mon Nov 09 06:00:22 2015 +0000
Revision:
0:a77a884aa413
Child:
1:90b792629d5e
Working Alarm -> wifi -> website update

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ahsueh 0:a77a884aa413 1 /**
ahsueh 0:a77a884aa413 2 * \brief CS294-84 demo \author Ben Zhang, Antonio Iannopollo
ahsueh 0:a77a884aa413 3 *
ahsueh 0:a77a884aa413 4 * This sampel code illustrates how to connect the mbed KL25Z platform to internet
ahsueh 0:a77a884aa413 5 * thorugh the CC3000 wifi breakout board (http://www.adafruit.com/product/1469).
ahsueh 0:a77a884aa413 6 * Connections between the KL25Z and the CC3000 are made according to the
ahsueh 0:a77a884aa413 7 * guide at https://learn.adafruit.com/adafruit-cc3000-wifi -- KL25Z and arduino
ahsueh 0:a77a884aa413 8 * UNO are pin to pin compatible --
ahsueh 0:a77a884aa413 9 *
ahsueh 0:a77a884aa413 10 * This application uses the following libraries:
ahsueh 0:a77a884aa413 11 * - cc3000_hostdriver_mbedsocket
ahsueh 0:a77a884aa413 12 * (http://developer.mbed.org/users/Kojto/code/cc3000_hostdriver_mbedsocket/)
ahsueh 0:a77a884aa413 13 * - HTTPClient (http://developer.mbed.org/users/donatien/code/HTTPClient/)
ahsueh 0:a77a884aa413 14 */
ahsueh 0:a77a884aa413 15
ahsueh 0:a77a884aa413 16 #include "mbed.h"
ahsueh 0:a77a884aa413 17 #include "cc3000.h"
ahsueh 0:a77a884aa413 18 #include "HTTPClient.h"
ahsueh 0:a77a884aa413 19 #include "PinDetect.h"
ahsueh 0:a77a884aa413 20 #include "pwm_tone.h"
ahsueh 0:a77a884aa413 21
ahsueh 0:a77a884aa413 22 // KL25Z wifi connection
ahsueh 0:a77a884aa413 23 // we need to define connection pins for:
ahsueh 0:a77a884aa413 24 // - IRQ => (pin D3)
ahsueh 0:a77a884aa413 25 // - Enable => (pin D5)
ahsueh 0:a77a884aa413 26 // - SPI CS => (pin D10)
ahsueh 0:a77a884aa413 27 // - SPI MOSI => (pin D11)
ahsueh 0:a77a884aa413 28 // - SPI MISO => (pin D12)
ahsueh 0:a77a884aa413 29 // - SPI CLK => (pin D13)
ahsueh 0:a77a884aa413 30 // plus wifi network SSID, password, security level and smart-configuration flag.
ahsueh 0:a77a884aa413 31 mbed_cc3000::cc3000 wifi(D3, D5, D10, SPI(D11, D12, D13),
ahsueh 0:a77a884aa413 32 "CalVisitor", "", NONE, false);
ahsueh 0:a77a884aa413 33
ahsueh 0:a77a884aa413 34 // create an http instance
ahsueh 0:a77a884aa413 35 HTTPClient http;
ahsueh 0:a77a884aa413 36
ahsueh 0:a77a884aa413 37 // str is used to hold the response data
ahsueh 0:a77a884aa413 38 char str[512];
ahsueh 0:a77a884aa413 39 char url[128];
ahsueh 0:a77a884aa413 40 char in[512];
ahsueh 0:a77a884aa413 41 char out[512];
ahsueh 0:a77a884aa413 42
ahsueh 0:a77a884aa413 43
ahsueh 0:a77a884aa413 44 // setup the serial connection, and LEDs
ahsueh 0:a77a884aa413 45 Serial pc(USBTX, USBRX);
ahsueh 0:a77a884aa413 46 DigitalOut led_red(LED_RED);
ahsueh 0:a77a884aa413 47 DigitalOut led_green(LED_GREEN);
ahsueh 0:a77a884aa413 48
ahsueh 0:a77a884aa413 49 PinDetect p1(D4);
ahsueh 0:a77a884aa413 50 PinDetect p2(D6);
ahsueh 0:a77a884aa413 51 PinDetect p3(D7);
ahsueh 0:a77a884aa413 52 PinDetect reed(D8);
ahsueh 0:a77a884aa413 53 PwmOut Buzzer(D9);
ahsueh 0:a77a884aa413 54
ahsueh 0:a77a884aa413 55 int code[] = {0, 0, 0, 0};
ahsueh 0:a77a884aa413 56 int passwordcounter = 0;
ahsueh 0:a77a884aa413 57 bool codeEntered = false;
ahsueh 0:a77a884aa413 58 bool reedIsOpen = false;
ahsueh 0:a77a884aa413 59 bool alarmOn = false;
ahsueh 0:a77a884aa413 60 bool boxOpenLegal = false;
ahsueh 0:a77a884aa413 61 int password[] = {3, 3, 1, 2};
ahsueh 0:a77a884aa413 62 float C_3 = 1000000/Do3,
ahsueh 0:a77a884aa413 63 Cs_3 = 1000000/Do3s,
ahsueh 0:a77a884aa413 64 D_3 = 1000000/Re3,
ahsueh 0:a77a884aa413 65 Ds_3 = 1000000/Re3s,
ahsueh 0:a77a884aa413 66 E_3 = 1000000/Mi3,
ahsueh 0:a77a884aa413 67 F_3 = 1000000/Fa3,
ahsueh 0:a77a884aa413 68 Fs_3 = 1000000/Fa3s,
ahsueh 0:a77a884aa413 69 G_3 = 1000000/So3,
ahsueh 0:a77a884aa413 70 Gs_3 = 1000000/So3s,
ahsueh 0:a77a884aa413 71 A_3 = 1000000/La3,
ahsueh 0:a77a884aa413 72 As_3 = 1000000/La3s,
ahsueh 0:a77a884aa413 73 B_3 = 1000000/Ti3,
ahsueh 0:a77a884aa413 74 C_4 = 1000000/Do4,
ahsueh 0:a77a884aa413 75 Cs_4 = 1000000/Do4s,
ahsueh 0:a77a884aa413 76 D_4 = 1000000/Re4,
ahsueh 0:a77a884aa413 77 Ds_4 = 1000000/Re4s,
ahsueh 0:a77a884aa413 78 E_4 = 1000000/Mi4,
ahsueh 0:a77a884aa413 79 F_4 = 1000000/Fa4,
ahsueh 0:a77a884aa413 80 Fs_4 = 1000000/Fa4s,
ahsueh 0:a77a884aa413 81 G_4 = 1000000/So4,
ahsueh 0:a77a884aa413 82 Gs_4 = 1000000/So4s,
ahsueh 0:a77a884aa413 83 A_4 = 1000000/La4,
ahsueh 0:a77a884aa413 84 As_4 = 1000000/La4s,
ahsueh 0:a77a884aa413 85 B_4 = 1000000/Ti4,
ahsueh 0:a77a884aa413 86 C_5 = 1000000/Do5,
ahsueh 0:a77a884aa413 87 Cs_5 = 1000000/Do5s,
ahsueh 0:a77a884aa413 88 D_5 = 1000000/Re5,
ahsueh 0:a77a884aa413 89 Ds_5 = 1000000/Re5s,
ahsueh 0:a77a884aa413 90 E_5 = 1000000/Mi5,
ahsueh 0:a77a884aa413 91 F_5 = 1000000/Fa5,
ahsueh 0:a77a884aa413 92 Fs_5 = 1000000/Fa5s,
ahsueh 0:a77a884aa413 93 G_5 = 1000000/So5,
ahsueh 0:a77a884aa413 94 Gs_5 = 1000000/So5s,
ahsueh 0:a77a884aa413 95 A_5 = 1000000/La5,
ahsueh 0:a77a884aa413 96 As_5 = 1000000/La5s,
ahsueh 0:a77a884aa413 97 B_5 = 1000000/Ti5;
ahsueh 0:a77a884aa413 98
ahsueh 0:a77a884aa413 99 int tones[] = {E_4, D_4, C_4, D_4, E_4, E_4, E_4, 0, D_4, D_4, D_4, 0, E_4, G_4, G_4, 0,
ahsueh 0:a77a884aa413 100 E_4, D_4, C_4, D_4, E_4, E_4, E_4, 0, D_4, D_4, E_4, D_4, C_4, 0, 0, 0
ahsueh 0:a77a884aa413 101 };
ahsueh 0:a77a884aa413 102 int tones_num = 32;
ahsueh 0:a77a884aa413 103
ahsueh 0:a77a884aa413 104 //Queue buttonQ(4,4);
ahsueh 0:a77a884aa413 105
ahsueh 0:a77a884aa413 106 void key1Pressed( void )
ahsueh 0:a77a884aa413 107 {
ahsueh 0:a77a884aa413 108 //pc.printf("Key Pressed\n");
ahsueh 0:a77a884aa413 109 int i = 1;
ahsueh 0:a77a884aa413 110 code[passwordcounter] = i;
ahsueh 0:a77a884aa413 111 passwordcounter++;
ahsueh 0:a77a884aa413 112 //buttonQ.Put(&i);
ahsueh 0:a77a884aa413 113 }
ahsueh 0:a77a884aa413 114
ahsueh 0:a77a884aa413 115 void key1Released( void )
ahsueh 0:a77a884aa413 116 {
ahsueh 0:a77a884aa413 117 //pc.printf("Key Released\n");
ahsueh 0:a77a884aa413 118 }
ahsueh 0:a77a884aa413 119
ahsueh 0:a77a884aa413 120 void key1PressedHeld( void )
ahsueh 0:a77a884aa413 121 {
ahsueh 0:a77a884aa413 122 //pc.printf("Key Pressed Held\n");
ahsueh 0:a77a884aa413 123 }
ahsueh 0:a77a884aa413 124
ahsueh 0:a77a884aa413 125 void key2Pressed( void )
ahsueh 0:a77a884aa413 126 {
ahsueh 0:a77a884aa413 127 //pc.printf("Key Pressed\n");
ahsueh 0:a77a884aa413 128 int i = 2;
ahsueh 0:a77a884aa413 129 code[passwordcounter] = i;
ahsueh 0:a77a884aa413 130 passwordcounter++;
ahsueh 0:a77a884aa413 131 //buttonQ.Put(&i);
ahsueh 0:a77a884aa413 132
ahsueh 0:a77a884aa413 133 }
ahsueh 0:a77a884aa413 134
ahsueh 0:a77a884aa413 135 void key2Released( void )
ahsueh 0:a77a884aa413 136 {
ahsueh 0:a77a884aa413 137 //pc.printf("Key Released\n");
ahsueh 0:a77a884aa413 138 }
ahsueh 0:a77a884aa413 139
ahsueh 0:a77a884aa413 140 void key2PressedHeld( void)
ahsueh 0:a77a884aa413 141 {
ahsueh 0:a77a884aa413 142 //pc.printf("Key Pressed Held\n");
ahsueh 0:a77a884aa413 143 }
ahsueh 0:a77a884aa413 144
ahsueh 0:a77a884aa413 145 void key3Pressed( void )
ahsueh 0:a77a884aa413 146 {
ahsueh 0:a77a884aa413 147 //pc.printf("Key Pressed\n");
ahsueh 0:a77a884aa413 148 int i = 3;
ahsueh 0:a77a884aa413 149 code[passwordcounter] = i;
ahsueh 0:a77a884aa413 150 passwordcounter++;
ahsueh 0:a77a884aa413 151 //buttonQ.Put(&i);
ahsueh 0:a77a884aa413 152
ahsueh 0:a77a884aa413 153 }
ahsueh 0:a77a884aa413 154
ahsueh 0:a77a884aa413 155 void key3Released( void )
ahsueh 0:a77a884aa413 156 {
ahsueh 0:a77a884aa413 157 //pc.printf("Key Released\n");
ahsueh 0:a77a884aa413 158 }
ahsueh 0:a77a884aa413 159
ahsueh 0:a77a884aa413 160 void key3PressedHeld( void )
ahsueh 0:a77a884aa413 161 {
ahsueh 0:a77a884aa413 162 //pc.printf("Key Pressed Held\n");
ahsueh 0:a77a884aa413 163 }
ahsueh 0:a77a884aa413 164
ahsueh 0:a77a884aa413 165 void reedOpen( void )
ahsueh 0:a77a884aa413 166 {
ahsueh 0:a77a884aa413 167 pc.printf("Reed Open\n");
ahsueh 0:a77a884aa413 168 reedIsOpen = 1;
ahsueh 0:a77a884aa413 169
ahsueh 0:a77a884aa413 170 }
ahsueh 0:a77a884aa413 171
ahsueh 0:a77a884aa413 172 void reedClosed( void )
ahsueh 0:a77a884aa413 173 {
ahsueh 0:a77a884aa413 174 pc.printf("Reed Closed\n");
ahsueh 0:a77a884aa413 175 reedIsOpen = 0;
ahsueh 0:a77a884aa413 176 }
ahsueh 0:a77a884aa413 177
ahsueh 0:a77a884aa413 178 void reedOpenHeld( void )
ahsueh 0:a77a884aa413 179 {
ahsueh 0:a77a884aa413 180 //pc.printf("Key Pressed Held\n");
ahsueh 0:a77a884aa413 181 }
ahsueh 0:a77a884aa413 182
ahsueh 0:a77a884aa413 183
ahsueh 0:a77a884aa413 184 int main()
ahsueh 0:a77a884aa413 185 {
ahsueh 0:a77a884aa413 186 // by default, it's red
ahsueh 0:a77a884aa413 187 led_red = 0;
ahsueh 0:a77a884aa413 188 led_green = 1;
ahsueh 0:a77a884aa413 189
ahsueh 0:a77a884aa413 190 // print message to indicate the program has started
ahsueh 0:a77a884aa413 191 pc.printf("CC3000 Lunch Theft\r\n");
ahsueh 0:a77a884aa413 192 wifi.init();
ahsueh 0:a77a884aa413 193
ahsueh 0:a77a884aa413 194 p1.mode(PullUp);
ahsueh 0:a77a884aa413 195 p2.mode(PullUp);
ahsueh 0:a77a884aa413 196 p3.mode(PullUp);
ahsueh 0:a77a884aa413 197 reed.mode(PullUp);
ahsueh 0:a77a884aa413 198
ahsueh 0:a77a884aa413 199 p1.attach_asserted( &key1Pressed);
ahsueh 0:a77a884aa413 200 p1.attach_deasserted( &key1Released);
ahsueh 0:a77a884aa413 201 p1.attach_asserted_held( &key1PressedHeld);
ahsueh 0:a77a884aa413 202 p1.setAssertValue( 0 );
ahsueh 0:a77a884aa413 203 p1.setSampleFrequency( 10000 );
ahsueh 0:a77a884aa413 204
ahsueh 0:a77a884aa413 205 p2.attach_asserted( &key2Pressed);
ahsueh 0:a77a884aa413 206 p2.attach_deasserted( &key2Released);
ahsueh 0:a77a884aa413 207 p2.attach_asserted_held( &key2PressedHeld);
ahsueh 0:a77a884aa413 208 p2.setAssertValue( 0 );
ahsueh 0:a77a884aa413 209 p2.setSampleFrequency( 10000 );
ahsueh 0:a77a884aa413 210
ahsueh 0:a77a884aa413 211 p3.attach_asserted( &key3Pressed);
ahsueh 0:a77a884aa413 212 p3.attach_deasserted( &key3Released);
ahsueh 0:a77a884aa413 213 p3.attach_asserted_held( &key3PressedHeld);
ahsueh 0:a77a884aa413 214 p3.setAssertValue( 0 );
ahsueh 0:a77a884aa413 215 p3.setSampleFrequency( 10000 );
ahsueh 0:a77a884aa413 216
ahsueh 0:a77a884aa413 217 reed.attach_asserted( &reedClosed);
ahsueh 0:a77a884aa413 218 reed.attach_deasserted( &reedOpen);
ahsueh 0:a77a884aa413 219 reed.attach_asserted_held( &reedOpenHeld);
ahsueh 0:a77a884aa413 220 reed.setAssertValue( 0 );
ahsueh 0:a77a884aa413 221 reed.setSampleFrequency( 10000 );
ahsueh 0:a77a884aa413 222
ahsueh 0:a77a884aa413 223 Tune(Buzzer, C_4, 4); //4 Octave C beat 4/16
ahsueh 0:a77a884aa413 224 wait_ms(250);
ahsueh 0:a77a884aa413 225 Tune(Buzzer, D_4, 4); //4 Octave D beat 4/16
ahsueh 0:a77a884aa413 226 wait_ms(250);
ahsueh 0:a77a884aa413 227 Tune(Buzzer, E_4, 4); //4 Octave E beat 4/16
ahsueh 0:a77a884aa413 228 wait_ms(250);
ahsueh 0:a77a884aa413 229
ahsueh 0:a77a884aa413 230 int i;
ahsueh 0:a77a884aa413 231 int init = 0; // init wifi done
ahsueh 0:a77a884aa413 232
ahsueh 0:a77a884aa413 233
ahsueh 0:a77a884aa413 234 while (1) {
ahsueh 0:a77a884aa413 235 if (init == 0) {
ahsueh 0:a77a884aa413 236 if(wifi.is_connected() == false) {
ahsueh 0:a77a884aa413 237 // try to connect
ahsueh 0:a77a884aa413 238 if (wifi.connect() == -1) {
ahsueh 0:a77a884aa413 239 pc.printf("Failed to connect."
ahsueh 0:a77a884aa413 240 "Please verify connection details and try again.\r\n");
ahsueh 0:a77a884aa413 241 } else {
ahsueh 0:a77a884aa413 242 pc.printf("IP address: %s \r\n", wifi.getIPAddress());
ahsueh 0:a77a884aa413 243
ahsueh 0:a77a884aa413 244 //once connected, turn green LED on and red LED off
ahsueh 0:a77a884aa413 245 led_red = 1;
ahsueh 0:a77a884aa413 246 led_green = 0;
ahsueh 0:a77a884aa413 247 }
ahsueh 0:a77a884aa413 248 } else {
ahsueh 0:a77a884aa413 249 sprintf(url, "http://www.charlesding.net/kragl/lunchbox.php?isOpen=0&alarmOn=0");
ahsueh 0:a77a884aa413 250 int ret = http.get(url, str, 128);
ahsueh 0:a77a884aa413 251 init = 1;
ahsueh 0:a77a884aa413 252 int tries = 5;
ahsueh 0:a77a884aa413 253 while (ret && tries > 0) {
ahsueh 0:a77a884aa413 254 ret = http.get(url, str, 128);
ahsueh 0:a77a884aa413 255 if (!ret) {
ahsueh 0:a77a884aa413 256 pc.printf("Requested %s\r\n", url);
ahsueh 0:a77a884aa413 257 pc.printf("Page fetched successfully - read %d characters\r\n",
ahsueh 0:a77a884aa413 258 strlen(str));
ahsueh 0:a77a884aa413 259 pc.printf("Result: %s\r\n", str);
ahsueh 0:a77a884aa413 260 } else {
ahsueh 0:a77a884aa413 261 pc.printf("Error - ret = %d - HTTP return code = %d\r\n",
ahsueh 0:a77a884aa413 262 ret,
ahsueh 0:a77a884aa413 263 http.getHTTPResponseCode());
ahsueh 0:a77a884aa413 264 }
ahsueh 0:a77a884aa413 265 tries--;
ahsueh 0:a77a884aa413 266 }
ahsueh 0:a77a884aa413 267
ahsueh 0:a77a884aa413 268 }
ahsueh 0:a77a884aa413 269 }
ahsueh 0:a77a884aa413 270
ahsueh 0:a77a884aa413 271 if (reedIsOpen && codeEntered) {
ahsueh 0:a77a884aa413 272 pc.printf("LEGAL OPENING");
ahsueh 0:a77a884aa413 273 boxOpenLegal = true;
ahsueh 0:a77a884aa413 274 codeEntered = false;
ahsueh 0:a77a884aa413 275 wait(0.3);
ahsueh 0:a77a884aa413 276 } else if (reedIsOpen && !boxOpenLegal) {
ahsueh 0:a77a884aa413 277 // turn on alarm;
ahsueh 0:a77a884aa413 278 pc.printf("ALARM TIME\n");
ahsueh 0:a77a884aa413 279 for(i=0; i<tones_num; i++) {
ahsueh 0:a77a884aa413 280 Auto_tunes(Buzzer, tones[i], 4); // Auto performance
ahsueh 0:a77a884aa413 281 Stop_tunes(Buzzer);
ahsueh 0:a77a884aa413 282 }
ahsueh 0:a77a884aa413 283 boxOpenLegal = false;
ahsueh 0:a77a884aa413 284
ahsueh 0:a77a884aa413 285 if(wifi.is_connected() == false) {
ahsueh 0:a77a884aa413 286 // try to connect
ahsueh 0:a77a884aa413 287 if (wifi.connect() == -1) {
ahsueh 0:a77a884aa413 288 pc.printf("Failed to connect."
ahsueh 0:a77a884aa413 289 "Please verify connection details and try again.\r\n");
ahsueh 0:a77a884aa413 290 } else {
ahsueh 0:a77a884aa413 291 pc.printf("IP address: %s \r\n", wifi.getIPAddress());
ahsueh 0:a77a884aa413 292
ahsueh 0:a77a884aa413 293 //once connected, turn green LED on and red LED off
ahsueh 0:a77a884aa413 294 led_red = 1;
ahsueh 0:a77a884aa413 295 led_green = 0;
ahsueh 0:a77a884aa413 296 }
ahsueh 0:a77a884aa413 297 } else {
ahsueh 0:a77a884aa413 298 // get input url and then return the value
ahsueh 0:a77a884aa413 299 pc.printf("SENDING TO URL\n");
ahsueh 0:a77a884aa413 300 sprintf(url, "http://www.charlesding.net/kragl/lunchbox.php?isOpen=1&alarmOn=1");
ahsueh 0:a77a884aa413 301
ahsueh 0:a77a884aa413 302 int ret = http.get(url, str, 128);
ahsueh 0:a77a884aa413 303 pc.printf("Trying to Request %s\r\n", url);
ahsueh 0:a77a884aa413 304 int tries = 5;
ahsueh 0:a77a884aa413 305 while (ret && tries > 0) {
ahsueh 0:a77a884aa413 306 if (!ret) {
ahsueh 0:a77a884aa413 307 pc.printf("Requested %s\r\n", url);
ahsueh 0:a77a884aa413 308 pc.printf("Page fetched successfully - read %d characters\r\n",
ahsueh 0:a77a884aa413 309 strlen(str));
ahsueh 0:a77a884aa413 310 pc.printf("Result: %s\r\n", str);
ahsueh 0:a77a884aa413 311 } else {
ahsueh 0:a77a884aa413 312 pc.printf("Error - ret = %d - HTTP return code = %d\r\n",
ahsueh 0:a77a884aa413 313 ret,
ahsueh 0:a77a884aa413 314 http.getHTTPResponseCode());
ahsueh 0:a77a884aa413 315 tries--;
ahsueh 0:a77a884aa413 316 }
ahsueh 0:a77a884aa413 317 }
ahsueh 0:a77a884aa413 318 }
ahsueh 0:a77a884aa413 319
ahsueh 0:a77a884aa413 320
ahsueh 0:a77a884aa413 321 wait(0.3);
ahsueh 0:a77a884aa413 322 } else if (!reedIsOpen && boxOpenLegal) {
ahsueh 0:a77a884aa413 323 boxOpenLegal = false;
ahsueh 0:a77a884aa413 324 wait(0.3);
ahsueh 0:a77a884aa413 325 }
ahsueh 0:a77a884aa413 326 if (passwordcounter==sizeof(code)/4) {
ahsueh 0:a77a884aa413 327 codeEntered = true;
ahsueh 0:a77a884aa413 328 for (int j=0; j<sizeof(code)/4; j++) {
ahsueh 0:a77a884aa413 329 if (code[j]!=password[j]) {
ahsueh 0:a77a884aa413 330 codeEntered = false;
ahsueh 0:a77a884aa413 331 }
ahsueh 0:a77a884aa413 332 }
ahsueh 0:a77a884aa413 333
ahsueh 0:a77a884aa413 334
ahsueh 0:a77a884aa413 335 pc.printf("CODE IS ENTERED\n");
ahsueh 0:a77a884aa413 336 passwordcounter = 0;
ahsueh 0:a77a884aa413 337
ahsueh 0:a77a884aa413 338 pc.printf("SENDING TO URL\n");
ahsueh 0:a77a884aa413 339 sprintf(url, "http://www.charlesding.net/kragl/lunchbox.php?isOpen=0&alarmOn=0");
ahsueh 0:a77a884aa413 340
ahsueh 0:a77a884aa413 341 int ret = http.get(url, str, 128);
ahsueh 0:a77a884aa413 342 pc.printf("Trying to Request %s\r\n", url);
ahsueh 0:a77a884aa413 343 int tries = 5;
ahsueh 0:a77a884aa413 344 while (ret && tries > 0) {
ahsueh 0:a77a884aa413 345 if (!ret) {
ahsueh 0:a77a884aa413 346 pc.printf("Requested %s\r\n", url);
ahsueh 0:a77a884aa413 347 pc.printf("Page fetched successfully - read %d characters\r\n",
ahsueh 0:a77a884aa413 348 strlen(str));
ahsueh 0:a77a884aa413 349 pc.printf("Result: %s\r\n", str);
ahsueh 0:a77a884aa413 350 } else {
ahsueh 0:a77a884aa413 351 pc.printf("Error - ret = %d - HTTP return code = %d\r\n",
ahsueh 0:a77a884aa413 352 ret,
ahsueh 0:a77a884aa413 353 http.getHTTPResponseCode());
ahsueh 0:a77a884aa413 354 tries--;
ahsueh 0:a77a884aa413 355 }
ahsueh 0:a77a884aa413 356 }
ahsueh 0:a77a884aa413 357
ahsueh 0:a77a884aa413 358
ahsueh 0:a77a884aa413 359 }
ahsueh 0:a77a884aa413 360
ahsueh 0:a77a884aa413 361 }
ahsueh 0:a77a884aa413 362
ahsueh 0:a77a884aa413 363 }