teste de publish
Dependencies: DS1820 HighSpeedAnalogIn devices mbed
Diff: modem.cpp
- Revision:
- 2:55b7b466e742
- Parent:
- 1:0e0967c88590
- Child:
- 3:9598af355293
--- a/modem.cpp Thu Mar 30 19:54:09 2017 +0000 +++ b/modem.cpp Wed May 10 12:57:13 2017 +0000 @@ -97,7 +97,7 @@ sprintf(aux,";imsi=%s}log",modemCom::status.MAC); sdCardBuf.fill(aux,strlen(aux)); - if((!modemCom::status.emComunicacao)&&(!sdCard::arquivoAberto())){ + if(!sdCard::arquivoAberto()){ sdCard::insereDadosArquivo(&sdCard::armazenamento,sdCardBuf.get(),sdCardBuf.getLength()); } } @@ -125,7 +125,7 @@ case dadosArmazenados: if(!sdCard::preparaEnvio()){ pc.printf("Nao foi possivel preparar o envio.\n"); - return false; + return false; } if(sdCard::envio.bytes==0) { sdCard::getFileTam(&sdCard::envio); @@ -139,10 +139,10 @@ switch(tipoDado) { case dadosArmazenados: - result = modemCom::postFileCommandMode("www.vitaesolucoes.com.br","/drome/Parser/",&sdCard::envio); + result = modemCom::postFileCommandMode(serverAddress,"/drome/Parser/",&sdCard::envio); break; case dadosStatus: - result = modemCom::postFileCommandMode("www.vitaesolucoes.com.br","/drome/Parser/",&sdCard::status); + result = modemCom::postFileCommandMode(serverAddress,"/drome/Parser/",&sdCard::status); break; } @@ -301,7 +301,7 @@ passaParaProximaParte = false; maxTentativas = maxRetentativasEnvioParteArquivo; while((maxTentativas)&&(!passaParaProximaParte)) { - sprintf(aux,"AT+CIPSEND=1,%u\r\n",restoDoEnvio+19); //Para incluir "\n--xxBOUNDARYxx--\n\n" no fim da msg http + sprintf(aux,"AT+CIPSEND=1,%u\r\n",restoDoEnvio+strlen("\n--xxBOUNDARYxx--\n\n")); //Para incluir "\n--xxBOUNDARYxx--\n\n" no fim da msg http if(modemCom::sendToModem(aux,1,&modemCom::status.PROMPT_ENVIO_COMMAND_MODE,100,3)) { for(numeroByteSendoEnviado=0; numeroByteSendoEnviado<restoDoEnvio; numeroByteSendoEnviado++) { //Envio os bytes aqui! Menos o ultimo para ter o check; @@ -443,6 +443,17 @@ + if(strstr(bufInPtr,"favicon.ico")){ + //sprintf(buf,"<!DOCTYPE html><html><body><h1>DROME-Seu processo na palma da sua mao!</h1><img src='http://criandoriquezaimagens.s3.amazonaws.com/wp-content/uploads/2014/12/casaPropria.png' width='200' height='210'><br><p><a href='/lecomandocontrole.htm'>Ler comando do controle.</a></p><br></body></html>"); + sprintf(buf,"<!DOCTYPE html><html><link rel=\"icon\" href=\"http://vitaesolucoes.com.br/drome/assets/local/images/favicon/favicon.ico\" type=\"image/x-icon\"></html>"); + if(cipSend(connID,buf,0)==1){ + printf("Requisicao enviada!\n"); + }else{ + printf("Requisicao nao enviada 1!!\n"); + } + encontrado = 1; + } + if(strstr(bufInPtr,"comandos.htm")){ //sprintf(buf,"<!DOCTYPE html><html><body><h1>DROME-Seu processo na palma da sua mao!</h1><img src='http://criandoriquezaimagens.s3.amazonaws.com/wp-content/uploads/2014/12/casaPropria.png' width='200' height='210'><br><p><a href='/lecomandocontrole.htm'>Ler comando do controle.</a></p><br></body></html>"); @@ -485,11 +496,11 @@ strcpy(modemCom::status.port,strtok(NULL," ")); //pegando port if(strlen(modemCom::status.ssid) && strlen(modemCom::status.password)){ - sprintf(buf,"Novos parametros: ssid = %s, password = %s, port = %s.\n",modemCom::status.ssid,modemCom::status.password,modemCom::status.port); + sprintf(buf,"HTTP/1.1 200 OK\n\nACK",modemCom::status.ssid,modemCom::status.password,modemCom::status.port); cipSend(connID,buf,0); mudaRede = true; }else{ - sprintf(buf,"Erro nos parametros.\n"); + sprintf(buf,"HTTP/1.1 200 OK\n\nNACK"); cipSend(connID,buf,0); } encontrado = 1; @@ -540,7 +551,7 @@ if(IrDetect.read_ms()<timeout){ serializaPacoteIR(connID); }else{ - sprintf(buf,"callback({\"response\": \"ERROR\"})"); + sprintf(buf,"erro"); if(cipSend(connID,buf,0)==1){ printf("Requisicao enviada!\n"); } @@ -550,8 +561,7 @@ led2=0; } - if(!encontrado){ - + if(!encontrado){ sprintf(buf,"Pagina Nao Encontrada."); if(cipSend(connID,buf,0)==1){ printf("Requisicao enviada!\n"); @@ -560,8 +570,9 @@ } } - sprintf(buf,"AT+CIPCLOSE=%u\r\n",connID); - sendToModem(buf,1,&modemCom::status.OK,2000,1); + modemCom::closeConnection(connID); + /*sprintf(buf,"AT+CIPCLOSE=%u\r\n",connID); + sendToModem(buf,1,&modemCom::status.OK,300,1);*/ if(mudaRede){ mudaRede = false; @@ -577,9 +588,9 @@ } int16_t modemCom::getRSSI(void){ - char *ptr; + /*char *ptr; int16_t RSSI = 0; - if(modemCom::sendToModem("modem:AT+CWLAP\r\n",1,&modemCom::status.OK,1000,1)){ + if(modemCom::sendToModem("AT+CWLAP\r\n",1,&modemCom::status.OK,1000,1)){ ptr = strstr(modemCom::bufIn,(const char*)modemCom::status.ssid); if(ptr){ ptr = strtok(ptr,","); @@ -587,7 +598,8 @@ RSSI = atoi(ptr); } } - return RSSI; + return RSSI;*/ + return -50; } void modemCom::conectaWiFi(void){ @@ -600,26 +612,47 @@ //Pegando SSID fgets(modemCom::status.ssid,40,sdCard::config.fp); - ptr = strtok(modemCom::status.ssid,":"); - ptr = strtok(NULL,"\r\n"); - strcpy(modemCom::status.ssid,ptr); - - //Pegando PASSWORD - fgets(modemCom::status.password,50,sdCard::config.fp); - ptr = strtok(modemCom::status.password,":"); - ptr = strtok(NULL,"\r\n"); - strcpy(modemCom::status.password,ptr); - - //Pegando PORT - fgets(modemCom::status.port,20,sdCard::config.fp); - ptr = strtok(modemCom::status.port,":"); - ptr = strtok(NULL,"\r\n"); - strcpy(modemCom::status.port,ptr); - + ptr = strstr(modemCom::status.ssid,"SSID"); + if(ptr!=NULL){ + ptr = strtok(modemCom::status.ssid,":"); + ptr = strtok(NULL,"\r\n"); + strcpy(modemCom::status.ssid,ptr); + + //Pegando PASSWORD + fgets(modemCom::status.password,50,sdCard::config.fp); + ptr = strtok(modemCom::status.password,":"); + ptr = strtok(NULL,"\r\n"); + strcpy(modemCom::status.password,ptr); + + //Pegando PORT + fgets(modemCom::status.port,20,sdCard::config.fp); + ptr = strtok(modemCom::status.port,":"); + ptr = strtok(NULL,"\r\n"); + strcpy(modemCom::status.port,ptr); + }else{ + strcpy(modemCom::status.ssid,"VSA"); + strcpy(modemCom::status.password,"vitaeBBYP"); + strcpy(modemCom::status.port,"80"); + } sdCard::fechaArquivo(&sdCard::config); pc.printf("Lidos os parametros de configuracao de wifi como sendo:\r\nSSID:<%s>\r\nPASSWORD:<%s>\r\nPORT:<%s>\r\n\r\n",modemCom::status.ssid,modemCom::status.password,modemCom::status.port); - pc.printf("Iniciando conexao wifi.\r\n"); + pc.printf("Iniciando conexao wifi.\r\n"); + }else{ + strcpy(modemCom::status.ssid,"VSA"); + strcpy(modemCom::status.password,"vitaeBBYP"); + strcpy(modemCom::status.port,"80"); + } + //Mudando mode para AP e Station + if(modemCom::sendToModem("AT+CWMODE=3\r\n",1,&modemCom::status.OK,10000,1)) { + pc.printf("Modo AP+STATION aceito.\n"); + } + + //AT+CWJAP=\"\",\"\"\r\n + sprintf(aux,"AT+CWJAP=\"%s\",\"%s\"\r\n",modemCom::status.ssid,modemCom::status.password); + if(modemCom::sendToModem(aux,1,&modemCom::status.OK,10000,1)) { + pc.printf("WiFi Conectado.\n"); + } //AT+CIPSERVER=1,80 if(modemCom::sendToModem("AT+CIPMUX=1\r\n",1,&modemCom::status.OK,250,4)) { @@ -634,7 +667,7 @@ if(modemCom::sendToModem("AT+CIPSTO=60\r\n",1,&modemCom::status.OK,250,4)) { pc.printf("Recebeu o comando AT+CIPSTO=60.\n"); - } + } sprintf(aux,"AT+CWSAP_CUR=\"DROME_WIFI_%s\",\"VsaDROME\",5,3\r\n",modemCom::status.MAC); if(modemCom::sendToModem(aux,1,&modemCom::status.OK,250,4)) { @@ -648,14 +681,7 @@ if(modemCom::sendToModem("AT+CWDHCP_CUR=2,1\r\n",1,&modemCom::status.OK,250,4)) { pc.printf("Recebeu o comando AT+CWDHCP_CUR=2,1.\n"); - } - - //AT+CWJAP=\"\",\"\"\r\n - sprintf(aux,"AT+CWJAP=\"%s\",\"%s\"\r\n",modemCom::status.ssid,modemCom::status.password); - if(modemCom::sendToModem(aux,1,&modemCom::status.OK,10000,1)) { - pc.printf("WiFi Conectado.\n"); - } - } + } }