แก้ให้แล้ว

Dependencies:   NOKIA_5110 mbed

Fork of Lost-Found_BOX by FRA221:A

Committer:
mustwillza
Date:
Mon Dec 07 14:43:15 2015 +0000
Revision:
7:725f5fb7e3a3
Child:
8:e683edc8a530
First Working : Integration Tested

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mustwillza 7:725f5fb7e3a3 1 #include "mbed.h"
mustwillza 7:725f5fb7e3a3 2 #include <string>
mustwillza 7:725f5fb7e3a3 3
mustwillza 7:725f5fb7e3a3 4 extern Serial pc;
mustwillza 7:725f5fb7e3a3 5 extern Serial esp; //tx rx
mustwillza 7:725f5fb7e3a3 6 int count,ended,timeout;
mustwillza 7:725f5fb7e3a3 7 char buf[1024]; //reply buffer for esp8266
mustwillza 7:725f5fb7e3a3 8 char snd[256];
mustwillza 7:725f5fb7e3a3 9 Timer t; //Timeout comparison for get reply ESP8266
mustwillza 7:725f5fb7e3a3 10
mustwillza 7:725f5fb7e3a3 11 void SendCMD()
mustwillza 7:725f5fb7e3a3 12 {
mustwillza 7:725f5fb7e3a3 13 esp.printf("%s", snd);
mustwillza 7:725f5fb7e3a3 14 }
mustwillza 7:725f5fb7e3a3 15
mustwillza 7:725f5fb7e3a3 16
mustwillza 7:725f5fb7e3a3 17 void getreply()
mustwillza 7:725f5fb7e3a3 18 {
mustwillza 7:725f5fb7e3a3 19 memset(buf, '\0', sizeof(buf));
mustwillza 7:725f5fb7e3a3 20 t.start();
mustwillza 7:725f5fb7e3a3 21 ended=0;count=0;
mustwillza 7:725f5fb7e3a3 22 while(!ended) {
mustwillza 7:725f5fb7e3a3 23 if(esp.readable()) {
mustwillza 7:725f5fb7e3a3 24 buf[count] = esp.getc();count++;
mustwillza 7:725f5fb7e3a3 25 }
mustwillza 7:725f5fb7e3a3 26 if(t.read() > timeout) {
mustwillza 7:725f5fb7e3a3 27 ended = 1;t.stop();t.reset();
mustwillza 7:725f5fb7e3a3 28 }
mustwillza 7:725f5fb7e3a3 29 }
mustwillza 7:725f5fb7e3a3 30 }
mustwillza 7:725f5fb7e3a3 31
mustwillza 7:725f5fb7e3a3 32
mustwillza 7:725f5fb7e3a3 33 int setupESP(string ssid,string password)
mustwillza 7:725f5fb7e3a3 34 {
mustwillza 7:725f5fb7e3a3 35 pc.printf("Sending Reset CMD\n");
mustwillza 7:725f5fb7e3a3 36 esp.printf("AT+RST\r\n"); /* reset module */
mustwillza 7:725f5fb7e3a3 37 wait(3);
mustwillza 7:725f5fb7e3a3 38
mustwillza 7:725f5fb7e3a3 39 esp.printf("AT+CWMODE=1\r\n"); /* configure as access point */
mustwillza 7:725f5fb7e3a3 40 timeout = 2;
mustwillza 7:725f5fb7e3a3 41 getreply();
mustwillza 7:725f5fb7e3a3 42 pc.printf(buf);
mustwillza 7:725f5fb7e3a3 43 /* Error checking is not required */
mustwillza 7:725f5fb7e3a3 44
mustwillza 7:725f5fb7e3a3 45 /*
mustwillza 7:725f5fb7e3a3 46 pc.printf("Access Point List!\n");
mustwillza 7:725f5fb7e3a3 47 esp.printf("AT+CWLAP\r\n");
mustwillza 7:725f5fb7e3a3 48 timeout = 5;
mustwillza 7:725f5fb7e3a3 49 getreply();
mustwillza 7:725f5fb7e3a3 50 pc.printf(buf);
mustwillza 7:725f5fb7e3a3 51 wait(1);
mustwillza 7:725f5fb7e3a3 52 */
mustwillza 7:725f5fb7e3a3 53
mustwillza 7:725f5fb7e3a3 54 string buffer("AT+CWJAP=\"");
mustwillza 7:725f5fb7e3a3 55 buffer += ssid;
mustwillza 7:725f5fb7e3a3 56 buffer += "\",\"";
mustwillza 7:725f5fb7e3a3 57 buffer += password;
mustwillza 7:725f5fb7e3a3 58 buffer += "\"\r\n";
mustwillza 7:725f5fb7e3a3 59
mustwillza 7:725f5fb7e3a3 60 esp.printf(buffer.c_str());
mustwillza 7:725f5fb7e3a3 61 timeout = 6;
mustwillza 7:725f5fb7e3a3 62 getreply();
mustwillza 7:725f5fb7e3a3 63 pc.printf(buf);
mustwillza 7:725f5fb7e3a3 64 // wait(1);
mustwillza 7:725f5fb7e3a3 65
mustwillza 7:725f5fb7e3a3 66 esp.printf("AT+CIPMUX=1\r\n");
mustwillza 7:725f5fb7e3a3 67 timeout =3;
mustwillza 7:725f5fb7e3a3 68 getreply();
mustwillza 7:725f5fb7e3a3 69 pc.printf("Open Multi Connection : %s\n",buf);
mustwillza 7:725f5fb7e3a3 70 //wait(1);
mustwillza 7:725f5fb7e3a3 71
mustwillza 7:725f5fb7e3a3 72 pc.printf("\n---------- Get IP's ----------\r\n");
mustwillza 7:725f5fb7e3a3 73 char aa[]= "AT+CIFSR\r\n";
mustwillza 7:725f5fb7e3a3 74 esp.printf(aa);
mustwillza 7:725f5fb7e3a3 75 timeout=3;
mustwillza 7:725f5fb7e3a3 76 getreply();
mustwillza 7:725f5fb7e3a3 77 pc.printf(buf);
mustwillza 7:725f5fb7e3a3 78
mustwillza 7:725f5fb7e3a3 79 //wait(1);
mustwillza 7:725f5fb7e3a3 80
mustwillza 7:725f5fb7e3a3 81 return 1;
mustwillza 7:725f5fb7e3a3 82 }
mustwillza 7:725f5fb7e3a3 83
mustwillza 7:725f5fb7e3a3 84 //Domain 192.168.1.88
mustwillza 7:725f5fb7e3a3 85 // directory : /l-f-box/getdata.php?check=1
mustwillza 7:725f5fb7e3a3 86 void getStatus(const char domain[],const char dir[],char id[]){
mustwillza 7:725f5fb7e3a3 87 pc.printf("Start Get Status\n");
mustwillza 7:725f5fb7e3a3 88 esp.printf("AT+CIPSTART=0,\"TCP\",\"%s\",80\r\n",domain);
mustwillza 7:725f5fb7e3a3 89 timeout=5;
mustwillza 7:725f5fb7e3a3 90 getreply();
mustwillza 7:725f5fb7e3a3 91 pc.printf(buf);
mustwillza 7:725f5fb7e3a3 92 //wait(1);
mustwillza 7:725f5fb7e3a3 93
mustwillza 7:725f5fb7e3a3 94 char cmd[128] = "GET http://";
mustwillza 7:725f5fb7e3a3 95 strcat(cmd,domain);
mustwillza 7:725f5fb7e3a3 96 strcat(cmd,dir);
mustwillza 7:725f5fb7e3a3 97
mustwillza 7:725f5fb7e3a3 98 char buffer[2] = "";
mustwillza 7:725f5fb7e3a3 99 strcat(cmd," HTTP/1.0\r\n\r\n");
mustwillza 7:725f5fb7e3a3 100 sprintf(buffer , "%d",strlen(cmd) );
mustwillza 7:725f5fb7e3a3 101
mustwillza 7:725f5fb7e3a3 102 strcpy(snd,"AT+CIPSEND=0,");
mustwillza 7:725f5fb7e3a3 103 strcat(snd,buffer);
mustwillza 7:725f5fb7e3a3 104 strcat(snd,"\r\n");
mustwillza 7:725f5fb7e3a3 105 SendCMD();
mustwillza 7:725f5fb7e3a3 106 timeout=3;
mustwillza 7:725f5fb7e3a3 107 getreply();
mustwillza 7:725f5fb7e3a3 108 pc.printf(buf);
mustwillza 7:725f5fb7e3a3 109 //wait(2);
mustwillza 7:725f5fb7e3a3 110
mustwillza 7:725f5fb7e3a3 111 pc.printf("Start point to url...\n");
mustwillza 7:725f5fb7e3a3 112 strcpy(snd,cmd);
mustwillza 7:725f5fb7e3a3 113 SendCMD();
mustwillza 7:725f5fb7e3a3 114 timeout=5;
mustwillza 7:725f5fb7e3a3 115 getreply();
mustwillza 7:725f5fb7e3a3 116 pc.printf(buf);
mustwillza 7:725f5fb7e3a3 117
mustwillza 7:725f5fb7e3a3 118 char* data2;
mustwillza 7:725f5fb7e3a3 119 pc.printf("Declare data2 \n");
mustwillza 7:725f5fb7e3a3 120 data2 = strstr(buf,"</st>");
mustwillza 7:725f5fb7e3a3 121 pc.printf("Strstr </st> : %s\n",data2);
mustwillza 7:725f5fb7e3a3 122 data2 = data2+6;
mustwillza 7:725f5fb7e3a3 123 pc.printf("Shift +5 : %s\n",data2);
mustwillza 7:725f5fb7e3a3 124 id[0] = data2[0];
mustwillza 7:725f5fb7e3a3 125 id[1] = data2[1];
mustwillza 7:725f5fb7e3a3 126 id[2] = '\0';
mustwillza 7:725f5fb7e3a3 127 pc.printf(id);
mustwillza 7:725f5fb7e3a3 128
mustwillza 7:725f5fb7e3a3 129 pc.printf("--Extract status from http--\n");
mustwillza 7:725f5fb7e3a3 130 pc.printf("UID : %s\n",id);
mustwillza 7:725f5fb7e3a3 131 esp.printf("AT+CIPCLOSE=0\r\n");
mustwillza 7:725f5fb7e3a3 132 timeout=3;
mustwillza 7:725f5fb7e3a3 133 getreply();
mustwillza 7:725f5fb7e3a3 134 pc.printf(buf);
mustwillza 7:725f5fb7e3a3 135 }
mustwillza 7:725f5fb7e3a3 136
mustwillza 7:725f5fb7e3a3 137
mustwillza 7:725f5fb7e3a3 138 // domain : 192.168.1.88
mustwillza 7:725f5fb7e3a3 139 // directory : /l-f-box/getdata.php?rfid=
mustwillza 7:725f5fb7e3a3 140 // value : 1
mustwillza 7:725f5fb7e3a3 141 void getDataHTTP(const char domain[],const char dir[],const char value[],char uid[] , char name[] ,char tel[]){
mustwillza 7:725f5fb7e3a3 142
mustwillza 7:725f5fb7e3a3 143 pc.printf("Start HTTP Request\n");
mustwillza 7:725f5fb7e3a3 144 esp.printf("AT+CIPSTART=0,\"TCP\",\"%s\",80\r\n",domain);
mustwillza 7:725f5fb7e3a3 145 timeout=5;
mustwillza 7:725f5fb7e3a3 146 getreply();
mustwillza 7:725f5fb7e3a3 147 pc.printf(buf);
mustwillza 7:725f5fb7e3a3 148
mustwillza 7:725f5fb7e3a3 149 wait(1);
mustwillza 7:725f5fb7e3a3 150
mustwillza 7:725f5fb7e3a3 151 char cmd[128] = "GET http://";
mustwillza 7:725f5fb7e3a3 152 strcat(cmd,domain);
mustwillza 7:725f5fb7e3a3 153 strcat(cmd,dir);
mustwillza 7:725f5fb7e3a3 154 strcat(cmd,value);
mustwillza 7:725f5fb7e3a3 155 //="GET http://%s%s%s",domain,dir,value;
mustwillza 7:725f5fb7e3a3 156 char buffer[2] = "";
mustwillza 7:725f5fb7e3a3 157 strcat(cmd," HTTP/1.0\r\n\r\n");
mustwillza 7:725f5fb7e3a3 158 sprintf(buffer , "%d",strlen(cmd) );
mustwillza 7:725f5fb7e3a3 159
mustwillza 7:725f5fb7e3a3 160 strcpy(snd,"AT+CIPSEND=0,");
mustwillza 7:725f5fb7e3a3 161 strcat(snd,buffer);
mustwillza 7:725f5fb7e3a3 162 strcat(snd,"\r\n");
mustwillza 7:725f5fb7e3a3 163 pc.printf("%d %d",strlen(cmd) ,strlen(snd));
mustwillza 7:725f5fb7e3a3 164 pc.printf(snd);
mustwillza 7:725f5fb7e3a3 165 pc.printf(cmd);
mustwillza 7:725f5fb7e3a3 166
mustwillza 7:725f5fb7e3a3 167
mustwillza 7:725f5fb7e3a3 168 SendCMD();
mustwillza 7:725f5fb7e3a3 169 timeout=3;
mustwillza 7:725f5fb7e3a3 170 getreply();
mustwillza 7:725f5fb7e3a3 171 pc.printf(buf);
mustwillza 7:725f5fb7e3a3 172 wait(1);
mustwillza 7:725f5fb7e3a3 173
mustwillza 7:725f5fb7e3a3 174 pc.printf("Start point to url...\n");
mustwillza 7:725f5fb7e3a3 175 strcpy(snd,cmd);
mustwillza 7:725f5fb7e3a3 176 SendCMD();
mustwillza 7:725f5fb7e3a3 177 timeout=3;
mustwillza 7:725f5fb7e3a3 178 getreply();
mustwillza 7:725f5fb7e3a3 179 pc.printf(buf);
mustwillza 7:725f5fb7e3a3 180 char* data;
mustwillza 7:725f5fb7e3a3 181
mustwillza 7:725f5fb7e3a3 182 data = strstr(buf,"</data>");
mustwillza 7:725f5fb7e3a3 183 data = data+7;
mustwillza 7:725f5fb7e3a3 184 data = strtok(data,";");
mustwillza 7:725f5fb7e3a3 185 strcpy(uid,data);
mustwillza 7:725f5fb7e3a3 186 data = strtok(NULL,";");
mustwillza 7:725f5fb7e3a3 187 strcpy(name,data);
mustwillza 7:725f5fb7e3a3 188 data = strtok(NULL,";");
mustwillza 7:725f5fb7e3a3 189 strcpy(tel,data);
mustwillza 7:725f5fb7e3a3 190
mustwillza 7:725f5fb7e3a3 191 pc.printf("--Extract data from http--\n");
mustwillza 7:725f5fb7e3a3 192
mustwillza 7:725f5fb7e3a3 193 pc.printf("ID : %s : %d\n",uid,strlen(uid));
mustwillza 7:725f5fb7e3a3 194 pc.printf("Name : %s : %d\n",name,strlen(name));
mustwillza 7:725f5fb7e3a3 195 pc.printf("Tel : %s : %d\n",tel,strlen(tel));
mustwillza 7:725f5fb7e3a3 196
mustwillza 7:725f5fb7e3a3 197 esp.printf("AT+CIPCLOSE=0\r\n");
mustwillza 7:725f5fb7e3a3 198 timeout=3;
mustwillza 7:725f5fb7e3a3 199 getreply();
mustwillza 7:725f5fb7e3a3 200 pc.printf(buf);
mustwillza 7:725f5fb7e3a3 201 }
mustwillza 7:725f5fb7e3a3 202
mustwillza 7:725f5fb7e3a3 203
mustwillza 7:725f5fb7e3a3 204 //http://localhost/l-f-box/update.php?key=fra221a0636&uid=11&withdrawer=57340500000
mustwillza 7:725f5fb7e3a3 205 void updateWithdrawer(const char domain[],const char dir[],char withdrawer[],char uid[]){
mustwillza 7:725f5fb7e3a3 206 pc.printf("Start HTTP Request\n");
mustwillza 7:725f5fb7e3a3 207 esp.printf("AT+CIPSTART=0,\"TCP\",\"%s\",80\r\n",domain);
mustwillza 7:725f5fb7e3a3 208 timeout=5;
mustwillza 7:725f5fb7e3a3 209 getreply();
mustwillza 7:725f5fb7e3a3 210 pc.printf(buf);
mustwillza 7:725f5fb7e3a3 211
mustwillza 7:725f5fb7e3a3 212 wait(1);
mustwillza 7:725f5fb7e3a3 213
mustwillza 7:725f5fb7e3a3 214 char cmd[128] = "GET http://";
mustwillza 7:725f5fb7e3a3 215 strcat(cmd,domain);
mustwillza 7:725f5fb7e3a3 216 strcat(cmd,dir);
mustwillza 7:725f5fb7e3a3 217 strcat(cmd,"?key=fra221a0636");
mustwillza 7:725f5fb7e3a3 218 strcat(cmd,"&uid=");
mustwillza 7:725f5fb7e3a3 219 strcat(cmd,uid);
mustwillza 7:725f5fb7e3a3 220 strcat(cmd,"&withdrawer=");
mustwillza 7:725f5fb7e3a3 221 strcat(cmd,withdrawer);
mustwillza 7:725f5fb7e3a3 222
mustwillza 7:725f5fb7e3a3 223 //="GET http://%s%s%s",domain,dir,value;
mustwillza 7:725f5fb7e3a3 224 char buffer[2] = "";
mustwillza 7:725f5fb7e3a3 225 strcat(cmd," HTTP/1.0\r\n\r\n");
mustwillza 7:725f5fb7e3a3 226 sprintf(buffer , "%d",strlen(cmd) );
mustwillza 7:725f5fb7e3a3 227
mustwillza 7:725f5fb7e3a3 228 strcpy(snd,"AT+CIPSEND=0,");
mustwillza 7:725f5fb7e3a3 229 strcat(snd,buffer);
mustwillza 7:725f5fb7e3a3 230 strcat(snd,"\r\n");
mustwillza 7:725f5fb7e3a3 231 pc.printf("%d %d",strlen(cmd) ,strlen(snd));
mustwillza 7:725f5fb7e3a3 232 pc.printf(snd);
mustwillza 7:725f5fb7e3a3 233 pc.printf(cmd);
mustwillza 7:725f5fb7e3a3 234
mustwillza 7:725f5fb7e3a3 235
mustwillza 7:725f5fb7e3a3 236 SendCMD();
mustwillza 7:725f5fb7e3a3 237 timeout=5;
mustwillza 7:725f5fb7e3a3 238 getreply();
mustwillza 7:725f5fb7e3a3 239 pc.printf(buf);
mustwillza 7:725f5fb7e3a3 240 wait(2);
mustwillza 7:725f5fb7e3a3 241
mustwillza 7:725f5fb7e3a3 242 pc.printf("Start point to url...\n");
mustwillza 7:725f5fb7e3a3 243 strcpy(snd,cmd);
mustwillza 7:725f5fb7e3a3 244 SendCMD();
mustwillza 7:725f5fb7e3a3 245 timeout=5;
mustwillza 7:725f5fb7e3a3 246 getreply();
mustwillza 7:725f5fb7e3a3 247 pc.printf(buf);
mustwillza 7:725f5fb7e3a3 248 }
mustwillza 7:725f5fb7e3a3 249
mustwillza 7:725f5fb7e3a3 250 //http://localhost/l-f-box/update.php?key=fra221a0636&uid=11&withdrawer=57340500000
mustwillza 7:725f5fb7e3a3 251 void newDepositor(const char domain[],const char dir[],char depositor[]){
mustwillza 7:725f5fb7e3a3 252 pc.printf("Start HTTP Request\n");
mustwillza 7:725f5fb7e3a3 253 esp.printf("AT+CIPSTART=0,\"TCP\",\"%s\",80\r\n",domain);
mustwillza 7:725f5fb7e3a3 254 timeout=5;
mustwillza 7:725f5fb7e3a3 255 getreply();
mustwillza 7:725f5fb7e3a3 256 pc.printf(buf);
mustwillza 7:725f5fb7e3a3 257
mustwillza 7:725f5fb7e3a3 258 wait(1);
mustwillza 7:725f5fb7e3a3 259
mustwillza 7:725f5fb7e3a3 260 char cmd[128] = "GET http://";
mustwillza 7:725f5fb7e3a3 261 strcat(cmd,domain);
mustwillza 7:725f5fb7e3a3 262 strcat(cmd,dir);
mustwillza 7:725f5fb7e3a3 263 strcat(cmd,"?key=fra221a0636");
mustwillza 7:725f5fb7e3a3 264 strcat(cmd,"&depositor=");
mustwillza 7:725f5fb7e3a3 265 strcat(cmd,depositor);
mustwillza 7:725f5fb7e3a3 266
mustwillza 7:725f5fb7e3a3 267 //="GET http://%s%s%s",domain,dir,value;
mustwillza 7:725f5fb7e3a3 268 char buffer[2] = "";
mustwillza 7:725f5fb7e3a3 269 strcat(cmd," HTTP/1.0\r\n\r\n");
mustwillza 7:725f5fb7e3a3 270 sprintf(buffer , "%d",strlen(cmd) );
mustwillza 7:725f5fb7e3a3 271
mustwillza 7:725f5fb7e3a3 272 strcpy(snd,"AT+CIPSEND=0,");
mustwillza 7:725f5fb7e3a3 273 strcat(snd,buffer);
mustwillza 7:725f5fb7e3a3 274 strcat(snd,"\r\n");
mustwillza 7:725f5fb7e3a3 275 pc.printf("%d %d",strlen(cmd) ,strlen(snd));
mustwillza 7:725f5fb7e3a3 276 pc.printf(snd);
mustwillza 7:725f5fb7e3a3 277 pc.printf(cmd);
mustwillza 7:725f5fb7e3a3 278
mustwillza 7:725f5fb7e3a3 279
mustwillza 7:725f5fb7e3a3 280 SendCMD();
mustwillza 7:725f5fb7e3a3 281 timeout=5;
mustwillza 7:725f5fb7e3a3 282 getreply();
mustwillza 7:725f5fb7e3a3 283 pc.printf(buf);
mustwillza 7:725f5fb7e3a3 284 wait(2);
mustwillza 7:725f5fb7e3a3 285
mustwillza 7:725f5fb7e3a3 286 pc.printf("Start point to url...\n");
mustwillza 7:725f5fb7e3a3 287 strcpy(snd,cmd);
mustwillza 7:725f5fb7e3a3 288 SendCMD();
mustwillza 7:725f5fb7e3a3 289 timeout=5;
mustwillza 7:725f5fb7e3a3 290 getreply();
mustwillza 7:725f5fb7e3a3 291 pc.printf(buf);
mustwillza 7:725f5fb7e3a3 292 }