sexta-feira, 1 de novembro de 2013

WS Bridge & SIM900 Lendo pagina na WEB

English version.

Fala pessoal!

Aprofundando nos módulos SIM900 e WS Bridge, mês que vem vou estar vendendo os módulos WS Bridge para quem se interessar. E para quem esta desenvolvendo algum projeto pequeno ou grande, TCC etc... se estiver procurando acessória fique a vontade em entrar em contato.

Então nesse post vamos tratar de um assunto muito legal, leitura de paginas da internet usando seu SIM900, é complexo, vou tentar explicar ao máximo o funcionamento de tudo.


Configurando modem:

  • AT+CGATT? -> Ativa/desativa serviço GPRS
  • AT+SAPBR -> Defini aplicações que usam IP, entra com APN de sua operadora

Buscando dados da internet:

  • AT+HTTPINIT -> Inicia serviço http
  • AT+HTTPPARA -> define parametro a ser acessado (site)
  • AT+HTTPACTION -> define tipo de ação a ser tomada
  • AT+HTTPREAD -> faz a leitura da resposta HTTP(é bom dar um tempo para essa leitura pois varia com velocidade da internet e processamento de dados pela porta serial usando microcontrolador)
  • AT+HTTPTERM -> finaliza o serviço HTTP
Código utilizado:

  1. #include <SoftwareSerial.h>
  2. SoftwareSerial mySerial(3,2);
  3. String  linhaAtual = "";              
  4. String  tweet = "";  
  5. boolean lendoTweet = false;
  6. void setup()
  7. {
  8.   mySerial.begin(19200);
  9.   Serial.begin(19200);
  10.   Serial.println("Config SIM900...");
  11.   delay(20000);
  12.   Serial.println("Done!...");
  13.   mySerial.flush();
  14.   Serial.flush();
  15.   mySerial.println("AT+CSQ");
  16.   delay(100);
  17.   mostraDadosSerial();
  18.        
  19.   mySerial.println("AT+CGATT?");
  20.   delay(100);
  21.   mostraDadosSerial();
  22.        
  23.   mySerial.println("AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\"");
  24.   delay(2000);
  25.   mostraDadosSerial();
  26.    
  27.   mySerial.println("AT+SAPBR=3,1,\"APN\",\"zap.vivo.com.br\"");
  28.   delay(2000);
  29.   mostraDadosSerial();
  30.        
  31.   mySerial.println("AT+SAPBR=1,1");
  32.   delay(2000);
  33.   mostraDadosSerial();
  34. }
  35. void loop()
  36. {
  37.    mySerial.println("AT+HTTPINIT");
  38.    delay(3500);
  39.    mostraDadosSerial();
  40.    
  41.    mySerial.println("AT+HTTPPARA=\"URL\",\"http://microembarcado.vacau.com/uc.php\"");
  42.    delay(1000);
  43.    mostraDadosSerial();
  44.      
  45.    mySerial.println("AT+HTTPACTION=0");
  46.    delay(15000);
  47.    mostraDadosSerial();
  48.    
  49.    mySerial.println("AT+HTTPREAD");
  50.    delay(15000);
  51.    mySerial.println("");
  52.    mySerial.println("AT+HTTPTERM");
  53.    mostraDadosSerial();
  54.    delay(300);
  55.    
  56.    mySerial.println("");
  57.    delay(50000);
  58. }
  59. void mostraDadosSerial()
  60. {
  61.   while(mySerial.available()!=0)
  62.   {
  63.     Serial.write(mySerial.read());
  64.   }
  65. }

Resposta do Serial Monitor:

Config SIM900...
Done!...
AT+CSQ

+CSQ: 7,0

OK
AT+CGATT?

+CGATT: 1

OK
AT+SAPBR=3,1,"CONTYPE","GPRS"

OK
AT+SAPBR=3,1,"APN","zap.vivo.com.br"

OK
AT+SAPBR=1,1

OK
AT+HTTPREAD

OK

AT+HTTPTERM

OK

AT+HTTPINIT

OK
AT+HTTPPARA="URL","http://microembarcado.vacau.com/uc.php"

OK
AT+HTTPACTION=0

OK

+HTTPACTION:0,200,189
AT+HTTPREAD

+HTTPREAD:189
Bem vindo amigo do MicroEmbarcado!!
<!-- Hosting24 Analytics Code -->
<script type="text/javascript" src="http://stats.hosting24.com/count.php"></script>
<!-- End Of Analytics Code -->

OK



Se acessarmos a pagina http://microembarcado.vacau.com/uc.php podemos visualizar que a resposta esta correta e é a mesma lida pelo SIM900.


No próximo post vamos modificar esse código, para ler uma parte especifica de texto no corpo de uma pagina na web, filtrando assim a informação desejada. Até!!

Nenhum comentário:

Postar um comentário