Kiko Ishimoto
/
mbed_esp8266
esp8266
main.cpp@0:28089dd1adda, 2016-03-28 (annotated)
- Committer:
- kikoaac
- Date:
- Mon Mar 28 04:29:04 2016 +0000
- Revision:
- 0:28089dd1adda
- Child:
- 1:49b2903daa5f
esp;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kikoaac | 0:28089dd1adda | 1 | #include "mbed.h" |
kikoaac | 0:28089dd1adda | 2 | |
kikoaac | 0:28089dd1adda | 3 | #include <string> |
kikoaac | 0:28089dd1adda | 4 | |
kikoaac | 0:28089dd1adda | 5 | DigitalOut myled(LED1); |
kikoaac | 0:28089dd1adda | 6 | Serial esp(p9,p10); |
kikoaac | 0:28089dd1adda | 7 | Serial pc(USBTX,USBRX); |
kikoaac | 0:28089dd1adda | 8 | #define end "\r\n" |
kikoaac | 0:28089dd1adda | 9 | |
kikoaac | 0:28089dd1adda | 10 | class esp8266 |
kikoaac | 0:28089dd1adda | 11 | { |
kikoaac | 0:28089dd1adda | 12 | private: |
kikoaac | 0:28089dd1adda | 13 | |
kikoaac | 0:28089dd1adda | 14 | DigitalOut myled; |
kikoaac | 0:28089dd1adda | 15 | Serial *Seri; |
kikoaac | 0:28089dd1adda | 16 | char* buffer; |
kikoaac | 0:28089dd1adda | 17 | int datalen; |
kikoaac | 0:28089dd1adda | 18 | |
kikoaac | 0:28089dd1adda | 19 | void Reception() |
kikoaac | 0:28089dd1adda | 20 | { |
kikoaac | 0:28089dd1adda | 21 | |
kikoaac | 0:28089dd1adda | 22 | char x[100]; |
kikoaac | 0:28089dd1adda | 23 | Seri->scanf("%s",x); |
kikoaac | 0:28089dd1adda | 24 | myled=1; |
kikoaac | 0:28089dd1adda | 25 | Serial pc(USBTX,USBRX); |
kikoaac | 0:28089dd1adda | 26 | pc.baud(115200); |
kikoaac | 0:28089dd1adda | 27 | pc.printf("%s\r\n",x); |
kikoaac | 0:28089dd1adda | 28 | if(strstr(x,"+IPD,")==NULL) |
kikoaac | 0:28089dd1adda | 29 | { |
kikoaac | 0:28089dd1adda | 30 | /* |
kikoaac | 0:28089dd1adda | 31 | if(strcmp(x,"0,CONNECT")==0)break; |
kikoaac | 0:28089dd1adda | 32 | if(strcmp(x,"0,CLOSED")==0)break; |
kikoaac | 0:28089dd1adda | 33 | if(strcmp(x,">")==0)break;*/ |
kikoaac | 0:28089dd1adda | 34 | } |
kikoaac | 0:28089dd1adda | 35 | else |
kikoaac | 0:28089dd1adda | 36 | { |
kikoaac | 0:28089dd1adda | 37 | strtok(x,","); |
kikoaac | 0:28089dd1adda | 38 | strtok(NULL,":"); |
kikoaac | 0:28089dd1adda | 39 | char *data = strtok(NULL,","); |
kikoaac | 0:28089dd1adda | 40 | strtok(x,","); |
kikoaac | 0:28089dd1adda | 41 | char *data_num = strtok(NULL,","); |
kikoaac | 0:28089dd1adda | 42 | datalen = atoi(data_num); |
kikoaac | 0:28089dd1adda | 43 | buffer=data; |
kikoaac | 0:28089dd1adda | 44 | //data = strtok(x,""); |
kikoaac | 0:28089dd1adda | 45 | //buffer = data; |
kikoaac | 0:28089dd1adda | 46 | //pc.printf("%s , %s , %s\r\n",y,data_num,data); |
kikoaac | 0:28089dd1adda | 47 | } |
kikoaac | 0:28089dd1adda | 48 | myled=1; |
kikoaac | 0:28089dd1adda | 49 | } |
kikoaac | 0:28089dd1adda | 50 | bool check() |
kikoaac | 0:28089dd1adda | 51 | { |
kikoaac | 0:28089dd1adda | 52 | |
kikoaac | 0:28089dd1adda | 53 | Serial pc(USBTX,USBRX); |
kikoaac | 0:28089dd1adda | 54 | pc.baud(115200); |
kikoaac | 0:28089dd1adda | 55 | Seri->printf(end); |
kikoaac | 0:28089dd1adda | 56 | bool f = false,ans; |
kikoaac | 0:28089dd1adda | 57 | int i=0; |
kikoaac | 0:28089dd1adda | 58 | while(1) { |
kikoaac | 0:28089dd1adda | 59 | char x = Seri->getc(); |
kikoaac | 0:28089dd1adda | 60 | pc.putc(x); |
kikoaac | 0:28089dd1adda | 61 | if(x=='O')f=true; |
kikoaac | 0:28089dd1adda | 62 | else if(x=='K'&&f==true) |
kikoaac | 0:28089dd1adda | 63 | { |
kikoaac | 0:28089dd1adda | 64 | ans=true; |
kikoaac | 0:28089dd1adda | 65 | break; |
kikoaac | 0:28089dd1adda | 66 | } |
kikoaac | 0:28089dd1adda | 67 | else f=false; |
kikoaac | 0:28089dd1adda | 68 | |
kikoaac | 0:28089dd1adda | 69 | if(x=='F')i=1; |
kikoaac | 0:28089dd1adda | 70 | else if(x=='A'&&i==1)i=2; |
kikoaac | 0:28089dd1adda | 71 | else if(x=='I'&&i==2)i=3; |
kikoaac | 0:28089dd1adda | 72 | else if(x=='L'&&i==3) |
kikoaac | 0:28089dd1adda | 73 | { |
kikoaac | 0:28089dd1adda | 74 | ans=false; |
kikoaac | 0:28089dd1adda | 75 | break; |
kikoaac | 0:28089dd1adda | 76 | } |
kikoaac | 0:28089dd1adda | 77 | else i=0; |
kikoaac | 0:28089dd1adda | 78 | |
kikoaac | 0:28089dd1adda | 79 | } |
kikoaac | 0:28089dd1adda | 80 | wait(0.1); |
kikoaac | 0:28089dd1adda | 81 | return ans; |
kikoaac | 0:28089dd1adda | 82 | } |
kikoaac | 0:28089dd1adda | 83 | bool connected; |
kikoaac | 0:28089dd1adda | 84 | public: |
kikoaac | 0:28089dd1adda | 85 | char* get_data(char *datax,int num) |
kikoaac | 0:28089dd1adda | 86 | { |
kikoaac | 0:28089dd1adda | 87 | get: |
kikoaac | 0:28089dd1adda | 88 | char x[num+2]; |
kikoaac | 0:28089dd1adda | 89 | Seri->scanf("%s",x); |
kikoaac | 0:28089dd1adda | 90 | myled=1; |
kikoaac | 0:28089dd1adda | 91 | Serial pc(USBTX,USBRX); |
kikoaac | 0:28089dd1adda | 92 | pc.baud(115200); |
kikoaac | 0:28089dd1adda | 93 | if(strstr(x,"+IPD,")==NULL) |
kikoaac | 0:28089dd1adda | 94 | { |
kikoaac | 0:28089dd1adda | 95 | |
kikoaac | 0:28089dd1adda | 96 | return NULL; |
kikoaac | 0:28089dd1adda | 97 | /* |
kikoaac | 0:28089dd1adda | 98 | if(strcmp(x,"0,CONNECT")==0)break; |
kikoaac | 0:28089dd1adda | 99 | if(strcmp(x,"0,CLOSED")==0)break; |
kikoaac | 0:28089dd1adda | 100 | if(strcmp(x,">")==0)break;*/ |
kikoaac | 0:28089dd1adda | 101 | } |
kikoaac | 0:28089dd1adda | 102 | else |
kikoaac | 0:28089dd1adda | 103 | { |
kikoaac | 0:28089dd1adda | 104 | |
kikoaac | 0:28089dd1adda | 105 | strtok(x,","); |
kikoaac | 0:28089dd1adda | 106 | strtok(NULL,":"); |
kikoaac | 0:28089dd1adda | 107 | datax = strtok(NULL,","); |
kikoaac | 0:28089dd1adda | 108 | strtok(x,","); |
kikoaac | 0:28089dd1adda | 109 | char *data_num = strtok(NULL,","); |
kikoaac | 0:28089dd1adda | 110 | char len = atoi(data_num); |
kikoaac | 0:28089dd1adda | 111 | |
kikoaac | 0:28089dd1adda | 112 | if(strcmp(datax,"\r\n")==0)goto get; |
kikoaac | 0:28089dd1adda | 113 | else if(len > num)return NULL; |
kikoaac | 0:28089dd1adda | 114 | //for(int i=0;i<len;i++) |
kikoaac | 0:28089dd1adda | 115 | // *datax++=*data++; |
kikoaac | 0:28089dd1adda | 116 | //printf("%s\r\n",datax); |
kikoaac | 0:28089dd1adda | 117 | return datax; |
kikoaac | 0:28089dd1adda | 118 | //data = strtok(x,""); |
kikoaac | 0:28089dd1adda | 119 | //buffer = data; |
kikoaac | 0:28089dd1adda | 120 | //pc.printf("%s , %s , %s\r\n",y,data_num,data); |
kikoaac | 0:28089dd1adda | 121 | } |
kikoaac | 0:28089dd1adda | 122 | } |
kikoaac | 0:28089dd1adda | 123 | /*void uart_setting(int fre=115200,int bit=8,int stopbit=1,int parity=0,int flow_control=3) |
kikoaac | 0:28089dd1adda | 124 | { |
kikoaac | 0:28089dd1adda | 125 | |
kikoaac | 0:28089dd1adda | 126 | Seri->printf("AT+UART_CUR=%d,%d,%d,%d,%d\r\n",fre,bit,stopbit,parity,flow_control); |
kikoaac | 0:28089dd1adda | 127 | Seri->baud(fre); |
kikoaac | 0:28089dd1adda | 128 | Seri->format(bit); |
kikoaac | 0:28089dd1adda | 129 | Seri->set_flow_control(Serial::RTSCTS,p9,p10); |
kikoaac | 0:28089dd1adda | 130 | //check(); |
kikoaac | 0:28089dd1adda | 131 | wait(0.1); |
kikoaac | 0:28089dd1adda | 132 | }*/ |
kikoaac | 0:28089dd1adda | 133 | bool sleep(int mode) |
kikoaac | 0:28089dd1adda | 134 | { |
kikoaac | 0:28089dd1adda | 135 | Seri->printf("AT+SLEEP=%d",mode); |
kikoaac | 0:28089dd1adda | 136 | return check(); |
kikoaac | 0:28089dd1adda | 137 | } |
kikoaac | 0:28089dd1adda | 138 | bool deepsleep(int ms) |
kikoaac | 0:28089dd1adda | 139 | { |
kikoaac | 0:28089dd1adda | 140 | Seri->printf("AT+GSLP=%d",ms); |
kikoaac | 0:28089dd1adda | 141 | return check(); |
kikoaac | 0:28089dd1adda | 142 | } |
kikoaac | 0:28089dd1adda | 143 | bool http_access(char* mode,char* url,int num=80) |
kikoaac | 0:28089dd1adda | 144 | { |
kikoaac | 0:28089dd1adda | 145 | if(connected==false)return false; |
kikoaac | 0:28089dd1adda | 146 | Seri->printf("AT+CIPSTART=\"%s\",\"%s\",%d",mode,url,num); |
kikoaac | 0:28089dd1adda | 147 | return check(); |
kikoaac | 0:28089dd1adda | 148 | } |
kikoaac | 0:28089dd1adda | 149 | void prompt() |
kikoaac | 0:28089dd1adda | 150 | { |
kikoaac | 0:28089dd1adda | 151 | Seri->attach(this,&esp8266::Reception); |
kikoaac | 0:28089dd1adda | 152 | } |
kikoaac | 0:28089dd1adda | 153 | bool connect(const char* ssid,const char* password) |
kikoaac | 0:28089dd1adda | 154 | { |
kikoaac | 0:28089dd1adda | 155 | Seri->printf("AT+CWJAP=\"%s\",\"%s\"",ssid,password); |
kikoaac | 0:28089dd1adda | 156 | connected|=check(); |
kikoaac | 0:28089dd1adda | 157 | if(connected==false)return false; |
kikoaac | 0:28089dd1adda | 158 | Seri->printf("AT+CIFSR"); |
kikoaac | 0:28089dd1adda | 159 | check(); |
kikoaac | 0:28089dd1adda | 160 | return true; |
kikoaac | 0:28089dd1adda | 161 | } |
kikoaac | 0:28089dd1adda | 162 | bool softAPfromIP() |
kikoaac | 0:28089dd1adda | 163 | { |
kikoaac | 0:28089dd1adda | 164 | Seri->printf("AT+CWLIF"); |
kikoaac | 0:28089dd1adda | 165 | return check(); |
kikoaac | 0:28089dd1adda | 166 | } |
kikoaac | 0:28089dd1adda | 167 | //Seri->printf("AT+CIPSTA_CUR=\"%s\",\"%s\",\"%s\"",IP,gateway,netmask); |
kikoaac | 0:28089dd1adda | 168 | bool EDDHCP(int mode,int en) |
kikoaac | 0:28089dd1adda | 169 | { |
kikoaac | 0:28089dd1adda | 170 | printf("AT+CWDHCP_CUR=%d,%d",mode,en); |
kikoaac | 0:28089dd1adda | 171 | return check(); |
kikoaac | 0:28089dd1adda | 172 | } |
kikoaac | 0:28089dd1adda | 173 | bool softAP(const char* ssid,const char* password,int ch,int ecn) |
kikoaac | 0:28089dd1adda | 174 | { |
kikoaac | 0:28089dd1adda | 175 | if(connectmode==AP||connectmode==APST) |
kikoaac | 0:28089dd1adda | 176 | Seri->printf("AT+CWSAP=\"%s\",\"%s\",%d,%d",ssid,password,ch,ecn); |
kikoaac | 0:28089dd1adda | 177 | return check(); |
kikoaac | 0:28089dd1adda | 178 | } |
kikoaac | 0:28089dd1adda | 179 | bool send(int num,char* data) |
kikoaac | 0:28089dd1adda | 180 | { |
kikoaac | 0:28089dd1adda | 181 | if(connected==false)return false; |
kikoaac | 0:28089dd1adda | 182 | Seri->printf("AT+CIPSEND=0,%d",num+2); |
kikoaac | 0:28089dd1adda | 183 | check(); |
kikoaac | 0:28089dd1adda | 184 | wait(0.01); |
kikoaac | 0:28089dd1adda | 185 | Serial pc(USBTX,USBRX); |
kikoaac | 0:28089dd1adda | 186 | pc.baud(115200); |
kikoaac | 0:28089dd1adda | 187 | while(1) |
kikoaac | 0:28089dd1adda | 188 | { |
kikoaac | 0:28089dd1adda | 189 | char i = Seri->getc(); |
kikoaac | 0:28089dd1adda | 190 | pc.putc(i); |
kikoaac | 0:28089dd1adda | 191 | if(i=='>')break; |
kikoaac | 0:28089dd1adda | 192 | } |
kikoaac | 0:28089dd1adda | 193 | Seri->printf("%s",data); |
kikoaac | 0:28089dd1adda | 194 | Seri->printf("\r\n"); |
kikoaac | 0:28089dd1adda | 195 | return check(); |
kikoaac | 0:28089dd1adda | 196 | } |
kikoaac | 0:28089dd1adda | 197 | bool accesspoint() |
kikoaac | 0:28089dd1adda | 198 | { |
kikoaac | 0:28089dd1adda | 199 | Seri->printf("AT+CWLAP\r\n"); |
kikoaac | 0:28089dd1adda | 200 | return check(); |
kikoaac | 0:28089dd1adda | 201 | } |
kikoaac | 0:28089dd1adda | 202 | bool find_accesspoint(char *wifi) |
kikoaac | 0:28089dd1adda | 203 | { |
kikoaac | 0:28089dd1adda | 204 | Seri->printf("AT+CWLAP=\"%s\""); |
kikoaac | 0:28089dd1adda | 205 | return check(); |
kikoaac | 0:28089dd1adda | 206 | } |
kikoaac | 0:28089dd1adda | 207 | bool find_accesspoint() |
kikoaac | 0:28089dd1adda | 208 | { |
kikoaac | 0:28089dd1adda | 209 | Seri->printf("AT+CWLAP"); |
kikoaac | 0:28089dd1adda | 210 | return check(); |
kikoaac | 0:28089dd1adda | 211 | } |
kikoaac | 0:28089dd1adda | 212 | bool multipull(int i) |
kikoaac | 0:28089dd1adda | 213 | { |
kikoaac | 0:28089dd1adda | 214 | Seri->printf("AT+CIPMUX=%d",i); |
kikoaac | 0:28089dd1adda | 215 | return check(); |
kikoaac | 0:28089dd1adda | 216 | } |
kikoaac | 0:28089dd1adda | 217 | void reset() |
kikoaac | 0:28089dd1adda | 218 | { |
kikoaac | 0:28089dd1adda | 219 | Serial pc(USBTX,USBRX); |
kikoaac | 0:28089dd1adda | 220 | pc.baud(115200); |
kikoaac | 0:28089dd1adda | 221 | Seri->printf("AT+RST\r\n"); |
kikoaac | 0:28089dd1adda | 222 | int f=0; |
kikoaac | 0:28089dd1adda | 223 | while(1) |
kikoaac | 0:28089dd1adda | 224 | { |
kikoaac | 0:28089dd1adda | 225 | char a=Seri->getc(); |
kikoaac | 0:28089dd1adda | 226 | pc.putc(a); |
kikoaac | 0:28089dd1adda | 227 | if(a=='r')f=1; |
kikoaac | 0:28089dd1adda | 228 | else if(a=='e'&&f==1)f=2; |
kikoaac | 0:28089dd1adda | 229 | else if(a=='a'&&f==2)f=3; |
kikoaac | 0:28089dd1adda | 230 | else if(a=='d'&&f==3)f=4; |
kikoaac | 0:28089dd1adda | 231 | else if(a=='y'&&f==4)break; |
kikoaac | 0:28089dd1adda | 232 | else f=0; |
kikoaac | 0:28089dd1adda | 233 | |
kikoaac | 0:28089dd1adda | 234 | } |
kikoaac | 0:28089dd1adda | 235 | wait(0.1); |
kikoaac | 0:28089dd1adda | 236 | }/* |
kikoaac | 0:28089dd1adda | 237 | char *read() |
kikoaac | 0:28089dd1adda | 238 | { |
kikoaac | 0:28089dd1adda | 239 | return buffer; |
kikoaac | 0:28089dd1adda | 240 | }*/ |
kikoaac | 0:28089dd1adda | 241 | void tcp_setting(int mode,int port) |
kikoaac | 0:28089dd1adda | 242 | { |
kikoaac | 0:28089dd1adda | 243 | Seri->printf("AT+CIPSERVER=%d,%d",mode,port); |
kikoaac | 0:28089dd1adda | 244 | check(); |
kikoaac | 0:28089dd1adda | 245 | wait(0.1); |
kikoaac | 0:28089dd1adda | 246 | printf("\r\nwait connection\r\n"); |
kikoaac | 0:28089dd1adda | 247 | while(1) |
kikoaac | 0:28089dd1adda | 248 | { |
kikoaac | 0:28089dd1adda | 249 | char x[10]; |
kikoaac | 0:28089dd1adda | 250 | Seri->scanf("%s",x); |
kikoaac | 0:28089dd1adda | 251 | if(strcmp(x,"0,CONNECT")==0)break; |
kikoaac | 0:28089dd1adda | 252 | } |
kikoaac | 0:28089dd1adda | 253 | printf("\r\OK\r\n"); |
kikoaac | 0:28089dd1adda | 254 | } |
kikoaac | 0:28089dd1adda | 255 | bool connection_mode(int mode) |
kikoaac | 0:28089dd1adda | 256 | { |
kikoaac | 0:28089dd1adda | 257 | connectmode=mode; |
kikoaac | 0:28089dd1adda | 258 | Seri->printf("AT+CWMODE=%d",mode); |
kikoaac | 0:28089dd1adda | 259 | return check(); |
kikoaac | 0:28089dd1adda | 260 | } |
kikoaac | 0:28089dd1adda | 261 | bool disconnect() |
kikoaac | 0:28089dd1adda | 262 | { |
kikoaac | 0:28089dd1adda | 263 | Seri->printf("AT+CWQAP"); |
kikoaac | 0:28089dd1adda | 264 | connected=false; |
kikoaac | 0:28089dd1adda | 265 | return check(); |
kikoaac | 0:28089dd1adda | 266 | } |
kikoaac | 0:28089dd1adda | 267 | bool ATcommand(const char* cmd) |
kikoaac | 0:28089dd1adda | 268 | { |
kikoaac | 0:28089dd1adda | 269 | char a[20]; |
kikoaac | 0:28089dd1adda | 270 | strcat(a,"AT+"); |
kikoaac | 0:28089dd1adda | 271 | strcat(a,cmd); |
kikoaac | 0:28089dd1adda | 272 | Seri->printf(a); |
kikoaac | 0:28089dd1adda | 273 | return check(); |
kikoaac | 0:28089dd1adda | 274 | } |
kikoaac | 0:28089dd1adda | 275 | const char AP=2; |
kikoaac | 0:28089dd1adda | 276 | const char ST=1; |
kikoaac | 0:28089dd1adda | 277 | const char APST=3; |
kikoaac | 0:28089dd1adda | 278 | char connectmode; |
kikoaac | 0:28089dd1adda | 279 | esp8266(Serial *ser) : myled(LED2) |
kikoaac | 0:28089dd1adda | 280 | { |
kikoaac | 0:28089dd1adda | 281 | myled=1; |
kikoaac | 0:28089dd1adda | 282 | connected=false; |
kikoaac | 0:28089dd1adda | 283 | //string ; |
kikoaac | 0:28089dd1adda | 284 | Seri = ser; |
kikoaac | 0:28089dd1adda | 285 | bool f = false; |
kikoaac | 0:28089dd1adda | 286 | int i=0; |
kikoaac | 0:28089dd1adda | 287 | |
kikoaac | 0:28089dd1adda | 288 | Seri->printf("AT\r\n"); |
kikoaac | 0:28089dd1adda | 289 | while(1) { |
kikoaac | 0:28089dd1adda | 290 | if(Seri->readable()) |
kikoaac | 0:28089dd1adda | 291 | { |
kikoaac | 0:28089dd1adda | 292 | char x = Seri->getc(); |
kikoaac | 0:28089dd1adda | 293 | pc.putc(x); |
kikoaac | 0:28089dd1adda | 294 | if(x=='O')f=true; |
kikoaac | 0:28089dd1adda | 295 | else if(x=='K'&&f==true)break; |
kikoaac | 0:28089dd1adda | 296 | else f=false; |
kikoaac | 0:28089dd1adda | 297 | } |
kikoaac | 0:28089dd1adda | 298 | } |
kikoaac | 0:28089dd1adda | 299 | //Seri->attach(this,&esp8266::Reception); |
kikoaac | 0:28089dd1adda | 300 | /*data = "AT"; |
kikoaac | 0:28089dd1adda | 301 | //data +=end; |
kikoaac | 0:28089dd1adda | 302 | Seri->printf(data); |
kikoaac | 0:28089dd1adda | 303 | Seri->printf(end);*/ |
kikoaac | 0:28089dd1adda | 304 | wait(0.5); |
kikoaac | 0:28089dd1adda | 305 | } |
kikoaac | 0:28089dd1adda | 306 | |
kikoaac | 0:28089dd1adda | 307 | }; |
kikoaac | 0:28089dd1adda | 308 | /*void end() |
kikoaac | 0:28089dd1adda | 309 | { |
kikoaac | 0:28089dd1adda | 310 | esp.printf("\r\n"); |
kikoaac | 0:28089dd1adda | 311 | }*/ |
kikoaac | 0:28089dd1adda | 312 | void send_AT() |
kikoaac | 0:28089dd1adda | 313 | { |
kikoaac | 0:28089dd1adda | 314 | esp.printf("AT"); |
kikoaac | 0:28089dd1adda | 315 | } |
kikoaac | 0:28089dd1adda | 316 | int main() { |
kikoaac | 0:28089dd1adda | 317 | string a; |
kikoaac | 0:28089dd1adda | 318 | myled = 1; |
kikoaac | 0:28089dd1adda | 319 | pc.baud(115200); |
kikoaac | 0:28089dd1adda | 320 | esp.baud(115200); |
kikoaac | 0:28089dd1adda | 321 | printf("Start\r\n"); |
kikoaac | 0:28089dd1adda | 322 | wait(0.1); |
kikoaac | 0:28089dd1adda | 323 | esp8266 ESP(&esp); |
kikoaac | 0:28089dd1adda | 324 | //send_AT(); |
kikoaac | 0:28089dd1adda | 325 | //end(); |
kikoaac | 0:28089dd1adda | 326 | //ESP.reset(); |
kikoaac | 0:28089dd1adda | 327 | ESP.connection_mode(3); |
kikoaac | 0:28089dd1adda | 328 | ESP.multipull(1); |
kikoaac | 0:28089dd1adda | 329 | ESP.accesspoint(); |
kikoaac | 0:28089dd1adda | 330 | |
kikoaac | 0:28089dd1adda | 331 | ESP.connect("biz","roborobo"); |
kikoaac | 0:28089dd1adda | 332 | //ESP.http_access("TCP","imaoca.webcrow.jp",80); |
kikoaac | 0:28089dd1adda | 333 | ESP.tcp_setting(1,8888); |
kikoaac | 0:28089dd1adda | 334 | char senddata[10];/* |
kikoaac | 0:28089dd1adda | 335 | pc.printf("\r\n tcp send data\r\n"); |
kikoaac | 0:28089dd1adda | 336 | for(int i=0;i<10;i++) |
kikoaac | 0:28089dd1adda | 337 | { |
kikoaac | 0:28089dd1adda | 338 | senddata[i]=pc.getc(); |
kikoaac | 0:28089dd1adda | 339 | pc.putc(senddata[i]); |
kikoaac | 0:28089dd1adda | 340 | }*/ |
kikoaac | 0:28089dd1adda | 341 | //ESP.send(10,senddata); |
kikoaac | 0:28089dd1adda | 342 | //ESP.prompt(); |
kikoaac | 0:28089dd1adda | 343 | ESP.softAP("ESP8266","",10,0); |
kikoaac | 0:28089dd1adda | 344 | char *data,num=30; |
kikoaac | 0:28089dd1adda | 345 | DigitalOut LED(LED4); |
kikoaac | 0:28089dd1adda | 346 | while(1) |
kikoaac | 0:28089dd1adda | 347 | { |
kikoaac | 0:28089dd1adda | 348 | // data = ESP.get_data(data,num); |
kikoaac | 0:28089dd1adda | 349 | // if(data!=NULL) |
kikoaac | 0:28089dd1adda | 350 | // printf("GET->%s\r\n",data); |
kikoaac | 0:28089dd1adda | 351 | myled=1; |
kikoaac | 0:28089dd1adda | 352 | wait(0.01); |
kikoaac | 0:28089dd1adda | 353 | myled=0; |
kikoaac | 0:28089dd1adda | 354 | data=ESP.get_data(data,num); |
kikoaac | 0:28089dd1adda | 355 | printf("%s\r\n",data); |
kikoaac | 0:28089dd1adda | 356 | if (strstr(data,"ON")!=NULL) |
kikoaac | 0:28089dd1adda | 357 | LED=1; |
kikoaac | 0:28089dd1adda | 358 | if (strstr(data,"OFF")!=NULL) |
kikoaac | 0:28089dd1adda | 359 | LED=0; |
kikoaac | 0:28089dd1adda | 360 | //pc.putc( esp.getc()); |
kikoaac | 0:28089dd1adda | 361 | } |
kikoaac | 0:28089dd1adda | 362 | /*while(1) { |
kikoaac | 0:28089dd1adda | 363 | char x = esp.getc(); |
kikoaac | 0:28089dd1adda | 364 | pc.putc(x); |
kikoaac | 0:28089dd1adda | 365 | if(x=='O')f=true; |
kikoaac | 0:28089dd1adda | 366 | else if(x=='K'&&f==true)break; |
kikoaac | 0:28089dd1adda | 367 | else f=false; |
kikoaac | 0:28089dd1adda | 368 | }*/ |
kikoaac | 0:28089dd1adda | 369 | myled=0; |
kikoaac | 0:28089dd1adda | 370 | } |