Programación Específica > Microcontroladores

 Microcontrolador & Nokia 3220

<< < (27/33) > >>

PEDRO ALZAMORA:
Buenas Noches,

Te comento que la parte gprs es complicada en mi pais (ecuador) por el motivo que la operadora celular debe darte un sim gprs
que es igual a las demas la diferencia es que la sim gprs tiene una ip definida y cuando mandes el comando at por esa ip  esa informacion llega a los servidores de la operadora celular y se debe pagar para que de hay te la envien a tu servidor que tengas.

Quizas en tu pais sea diferente , se de esto porque he investigado de esto por mi tesis la cual la estoy terminando y tuve que enviar los datos por msn. Espero halla podido ayudarte y hazme saber de informacion que tengas estimado companero investigador.

viejobatman:
Buenas tardes compañeros de solocodigo. Agradecemos todos sus aportes, ya que gracias a ellos hemos avanzado bastante en nuestro proyecto, y ademas hemos comprobado que todo lo que en este foro se menciona para el nokia 3220, también funciona para el nokia 6070. Quisiéramos pedirle el favor a quien pueda colaborarnos, que nos ayude con el tema de leer un msj desde el pic16f877a, ya que intentamos hacerlo de la misma manera que enviamos msj pero obviamente con los comandos at correspondientes a lectura pero no funciona. La idea, es si recibimos un determinado msj desde el celular como abrir, o cerrar, podamos activar un switch con el microcontrolador. No estamos seguros si se debe a la velocidad en la transmisión de datos del celular que el pic no alcanza a tomarlos. Realmente dudamos entre si será un problema de compatibilidad entres los votlajes del pic o del celular o si es problema del código dentro del microcontrolador con el que estamos intentando recibir del celular. Agradecemos cualquier aporte con respecto a este tema. A continuación, colocamos el código con el intentamos leer el msj del celular para recibir. Ya que consideramos que el problema se puede deber a la velocidad, hacemos una especie de maquina de estados, comparando que lo recibido, sea lo que queremos recibir.

#include<pic.h>
#include "delay.c"
#include "lcd.c"
#include "stdlib.h"
#include "stdio.h"
#include "usart.c"
 
__CONFIG(0x3f32);//palabra de configuracion para crystal de 20Mhz

void inicializa()void{
     //en esta función inicializamos el celular, y sabemos que funciona, ya que podemos enviar los msj desde el pic.
}
void leemsj(void){
      char i;
      printf("AT+CMGF=1");
      //maqest();
      putch(0x0D);//printf("nr");//putch(0x0D);
      putch(0x0A);
      DelayMs(250);
      DelayMs(250);
      DelayMs(250);
      printf("AT+CSCA="+573103150030"");
      putch(0x0D);//printf("nr");//putch(0x0D);
      putch(0x0A);
      DelayMs(250);
      DelayMs(250);
      DelayMs(250);
      printf("AT+CMGR=1");
      putch(0x0D);//printf("nr");//putch(0x0D);
      putch(0x0A);
      DelayMs(250);
      DelayMs(250);  
      contcarac=0;
      while(caracteres<=28){
         //putch((contcarac+98));
         maqest();
      }
      lcd_clear();
      lcd_puts(" Leido");
      for(a=0;a<=4;a++){
            DelayMs(255);
      }
}

void maqest(void){
   
   switch(caracteres){
      case 0: if(RCREG=='A'){
               recibido[caracteres]=RCREG;
               caracteres++;
            }      
            recibido[caracteres]=RCREG;
            break;
      case 1: if(RCREG=='T'){
               recibido[caracteres]=RCREG;
               caracteres++;
            }
            recibido[caracteres]=RCREG;
            break;
      case 2: if(RCREG=='+') {
               recibido[caracteres]=RCREG;
               caracteres++;
             }
            recibido[caracteres]=RCREG;
            break;
      case 3: if(RCREG=='C'){
               recibido[caracteres]=RCREG;
               caracteres++;
            }
            recibido[caracteres]=RCREG;
            break;
      case 4: if(RCREG=='M'){
               recibido[caracteres]=RCREG;
               caracteres++;
            }
            recibido[caracteres]=RCREG;
            break;
      case 5: if(RCREG=='G'){
               recibido[caracteres]=RCREG;
               caracteres++;
            }
            recibido[caracteres]=RCREG;
            break;
      
                ...............
                //Aqui tenemos otros case, (una gran cantidad, ya que estamos comparando bit a bit lo que recibimos del celular)
   }
   contcarac++;
}

PEDRO ALZAMORA:
Buenas Noches,

Estimado amigo , yo y mi companero de tesis pudimos recibir el dato del mensaje de texto, la diferencia es que programamos en picbasic y te asombrarias cuantas lineas solo se empleo para esa aplicación , claro que nos costo conseguirlo investigar y preguntar mucho pero no se si te interesa,

saludos cordiales

viejobatman:
Muchas gracias por su respuesta compañero Pedro. Por supuesto que nos interesa cualquier ayuda con respecto a este tema. De antemano agradecemos.

PEDRO ALZAMORA:
Buenas Noches,

Le expongo parte del programa de recepción esta en pic basic , cualquier inquietud hazmela saber.

inicio:

   
    serout2  txu,84,["AT", 10,13]
    pause  500
    serout2  sms,84,["hola",10,13]
    pause 300
    serout2  txu,84,["AT+CMGF=1",10,13]
    pause 500
    serout2  txu,84, ["AT+CNMI=1,2,0,0,0",10,13]
    PAUSE 500
ini2:
    high portb.6
    serIN2 RXU,84,[wait("cmgs"),skip 16,STR A39]
    pause 300
    low portb.6                                    
    SEROUT2 sms,84,[str a,10,13]
                                   
goto ini2


Para las personas que siguen investigando la comunicación con el celular 3220 , porfavor comuniquen, agradezco el interes

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa