Envio de SMS con PBP

Tiene que ser lo mismo amigo xq sigue siendo basic el lenguaje, con todo si tu amigo te llega a dar el programa si quieres me lo puedes mandar para yo reisarle y verle que se le puede sacar para que funcione
 
Darkbytes: saludos, estuve viendo tu blog y te felicito hermano eres un verdugo mucho exito y gracias por los aportes.

PD: en Venezuela verdugo = que dominas muy bien lo tuyo

Pull1988; lo que pasa es que él y yo tenemos un acuerdo el me ayuda con el codigo y yo le compro los modulos a él, pero como no se MICKROBASIC, no quiero ser desleal al acuerdo osea que el me de el codigo y despues yo valla a usar otro, eso no lo quiero hacer, por eso estoy tratando de resolverlo en PBP, si no, no me queda mas remedio que fajarme aprender MICROBASIC, se que si le digo que me envie el codigo el lo hara pero no quiero comprometerme aun
 
Última edición:
Por cierto me acaba de decir como te dije anteriormente que ya lo termino y que le funciona perfectaemente, que impotencia siento con el PBP, que es el que medio domino!!!!
 
lo que pasa es que él y yo tenemos un acuerdo el me ayuda con el codigo y yo le compro los modulos a él, pero como no se MICKROBASIC,

Ostia...

Haberlo dicho antes.... pues no dicen....

ahi tengo un codigo que me quedo bestial para la comunicacion serial bidireccional....
como dicen que mandan los modulos :LOL:
 
pues como dicen en Mexico, te deseo un CHORRO de suerte jejejje, saludos

Lubeck si eso fue un chiste, lamento no haberlo entendido de todas formas es bueno tener sentido del humor, si fue una burla (que no creo que lo sea) ten cuidado que no te vallan a tildar el mensaje de inapropiado, saludos
 
Última edición:
Fue entre chiste y en serio :D

si tengo el codigo, de echo si van a unas cuantas o muchas paginas para atras(no se con exactitud), recuerdo haber puesto parte del codigo....

la parte de chiste fue lo de mandar los modulos (saldria mas caro el caldo que la albondigas, como se dice)

yo tambien te o les deseo un chorro de suerte! eso tambien es en serio...

y no entiendo que de inapropiado tiene el mensaje...
lo que entendi es que el te hace el codigo y tu le compras (y supongo que le mandas los modulos GSM) como pago. aunque suena tambien a que el vende y te manda los modulos ,pero bueno en realidad no importa... eso era chiste...:D

Saludos...
 
Última edición:
Amigo DarkBytes acabo de revisar tus aportes y me parece genial ese programita para generar hexadecimales, ahoara mi pregunta es la siguiente: yo quiero recibir un sms proveniente de un modulo al pic puedo utilizar el comando serin y poner la cadena de hexadecimal?
 
(Lubeck :confused:) Amigo mio te haria un dibujo a ver si asi logras entender

pero tratare otra vez, el vende los modulos y el negocio fue, si me ayuda con el codigo debo comprarle todos los demas modulos que necesite a el, cosa que me parece justa,

por otro lado te invito a que compartas el codigo bestial que tienes con nosotros, ya que nos ves que estamos desesperado y apreciariamos mucho tu ayuda

gracias de antemano
 
(Lubeck ) Amigo mio te haria un dibujo a ver si asi logras entender
pero tratare otra vez, el vende los modulos y el negocio fue, si me ayuda con el codigo debo comprarle todos los demas modulos que necesite a el, cosa que me parece justa,
:LOL:
Ok... te creo amigo:D en realidad no preste mucha atencion, y fue un chiste... ahi que quede...

por otro lado te invito a que compartas el codigo bestial que tienes con nosotros, ya que nos ves que estamos desesperado y apreciariamos mucho tu ayuda

lo haria.... pero.... como tu dices el pero....lo hice hace ya rato y suena a lo que tu digiste, pero es verdad,no tengo la menor idea de donde quedo :D te invito a que veas la fecha en la que estuve comentando cosas del puerto serial en este tema y por esa fecha lo termine....

en realidad por lo que digo "bestial" es porque fueron un par de subrutinas de no mas de 10 lineas y se comunicaba bidireccionalmente con PC o con otro pic... no porque tuviera algo que no este explicado en este tema....

si lo encuentro les prometo que lo subo... en realidad he subido otros con mas grado de dificultad, me explico....

intentenlo las cosas que les han o hemos dicho van por el camino que buscan...

Saludos
 
Sabes amigo lubeck estoy todavia intentanlo y logré ver que talves pueda hacerlo utilizando interrupciones, pero la verdad y siendo sincero no he manejado aun interrupciones y la verdad q no entiendo esa parte si puedes darme un mano con eso te agradeceria o talves alguna idea
 
Hola amigo Darkbytes, muchas gracias por tu valioso aporte en mi caso me es de gran ayuda, no se si sea mucha molestia me puedas ayudar a interpretarlo un poco mejor en el lenguaje pbp, xq segun veo y no se si estoy bien esq con el programa que adjuntas tu puedes mandar un sms a esos numero que citas ahi, de ser asi el problema continua xq lo que quiero es receptar un sms en el modulo gsm y este le mande al pic para que el pic active un led, el proglema esq la operadora movil manda un encabezado mas o menos asi: +CMGR: "el numero del q envia","REC UNREAD","FECHA Y HORA DE LA LLEGADA DEL SMS" y despues de todo eso el cuerpo del mensaje com tal, por lo tanto el pic no interpreta ese encabezado ya que en mi programacion m faltan algunas cosas com mencionan otros panelistas de este foro, si sabes de alguna solucion te agradecere me la hagas conocer gracias
Saludos Pull1988
Pues lo que hace el programa que puse aquí convierte los caracteres a hex por que hay comandos AT
que tienen caracteres reservados para PBP (como las comillas y las comas etc.)
Y este programa al generar todos los caracteres en hex es mas fácil el envio con SEROUT
Y bien, como lo que tu quieres es mas que nada omitir la cabecera del SMS y extraer solo el mensaje
te recomiendo que le des un vistazo a la función HSERIN esta tiene varios modificadores,
entre uno de ellos esta uno que es SKIP n donde n son los caracteres que quieres saltar.
"Skip n received characters" No he usado ese modificador pero puedes probar y nos cuentas que tal te fue.
:apreton:

Darkbytes: saludos, estuve viendo tu blog y te felicito hermano eres un verdugo mucho exito y gracias por los aportes.

PD: en Venezuela verdugo = que dominas muy bien lo tuyo
:D Gracias. No habia escuchado eso del verdugo.
Siempre se aprende algo nuevo. ;)
Y Gracias por tus palabras que Igualmente son reciprocas de mi parte.
:apreton:

Amigo DarkBytes acabo de revisar tus aportes y me parece genial ese programita para generar hexadecimales, ahoara mi pregunta es la siguiente: yo quiero recibir un sms proveniente de un modulo al pic puedo utilizar el comando serin y poner la cadena de hexadecimal?
Me supongo que si recibes la cadena en bytes lo puedes hacer con la función HEX :unsure:
Te sugiero que subas algo de lo que estas haciendo para poder ayudarte mejor.
;*******************************************************************
Y bueno por otro lado creo que estamos ocupando un tema acerca de programar en PBP
por mecatrodatos y aunque se trate de resolver el asunto de los SMS en PBP
creo que se deberia de abrir un tema en particular sobre esto para dejar libre este thread.
Creo que debe estar en Tecnologías móviles
;*******************************************************************
BYE4NOW :apreton:
 
Última edición:
"PULL41998 TENEMOS ESPERANZA ESTO LO DICE EN LA AYUDA DEL PBP" debemos enfocarnos en la parte que resalte de futcia,
[/SIZE]

HSERIN {ParityLabel,}{Timeout,Label,}[Item{,...}]
Receive one or more items from the hardware serial port on devices that support asynchronous serial communications in hardware.
HSERIN is one of several built-in asynchronous serial functions. It can only be used with devices that have a hardware USART. See the device data sheet for information on the serial input pin and other parameters. The serial parameters and baud rate are specified using DEFINEs:
' Set receive register to receiver enabled
DEFINE HSER_RCSTA 90h
' Set transmit register to transmitter enabled
DEFINE HSER_TXSTA 20h
' Set baud rate
DEFINE HSER_BAUD 2400
' Set SPBRG directly (normally set by HSER_BAUD)
DEFINE HSER_SPBRG 25
HSERIN assumes a 4MHz oscillator when calculating the baud rate. To maintain the proper baud rate timing with other oscillator values, be sure to DEFINE the OSC setting to the new oscillator value. An optional Timeout and Label may be included to allow the program to continue if a character is not received within a certain amount of time. Timeout is specified in 1 millisecond units.
The serial data format defaults to 8N1, 8 data bits, no parity bit and 1 stop bit. 7E1 (7 data bits, even parity, 1 stop bit) or 7O1 (7data bits, odd parity, 1 stop bit) can be enabled using one of the following DEFINEs:
' Use only if even parity desired
DEFINE HSER_EVEN 1
' Use only if odd parity desired
DEFINE HSER_ODD 1
The parity setting, along with all of the other HSER DEFINEs, affect both HERIN and HSEROUT. An optional ParityLabel may be included in the statement. The program will continue at this location if a character with a parity error is received. It should only be used if parity is enabled using one of the preceding DEFINEs. Since the serial reception is done in hardware, it is not possible to set the levels to an inverted state to eliminate an RS-232 driver. Therefore a suitable driver should be used with HSERIN. HSERIN supports the same data modifiers that SERIN2 does.
Modifier
Operation
BIN{1..16}​
Receive binary digits​
DEC{1..5}​
Receive decimal digits​
HEX{1..4}​
Receive hexadecimal digits​
SKIP n
Skip n received characters
STR ArrayVar\n{\c}
Receive string of n characters optionally ended in character c
WAIT ( )
Wait for sequence of characters
WAITSTR ArrayVar{\n}
Wait for character string
On 17Cxxx devices with 2 serial ports, HSERIN will only access the first port. The second port should be set up and read by accessing the registers directly.
See Also
SERIN
SERIN2
SEROUT
SEROUT2
HSEROUT
Copyright © 1999 microEngineering Labs, Inc.
All rights reserved.
<B>
</B>
 
Para la selección del dispositivo es importante considerar: la interfaz de comunicación, los protocolos de comunicación, el modo de manejo de datos y la disponibilidad en el mercado, es importante tomar consideración que solo ciertas marcas de telefonía celular ofrecen un puerto de comunicación que permita interactuar con un microcontrolador, ente los que conozco son Nokia y Sony.De acuerdo a los diferentes tipos de teléfono se desarrollo el protocolo de comandos AT, estas son instrucciones que conforman un lenguaje entre el hombre y un terminal MODEM, que son cadenas de caracteres ASCII que comienzan con AT y terminan con un retorno de carro (ASCII13) .Cada vez que el MODEM recibe un comando este lo procesa y emite su respuesta dependiendo como se lo haya configurado al MODEM.Comando de configuración:
AT, es un comando cuya función es monitorear si existe una buena conexión en el canal de comunicación.AT +CMGT= “A”, permite elegir el modo de interpretación de los datos por parte del teléfono, si la equivalencia de A = 1 los datos son interpretados como texto, es decir la secuencia de caracteres que se envían al teléfono son ASCII normales. Si A = 0 los datos son interpretados en modo PDU, por lo tanto los datos son interpretados en HEX.
Comandos para envió de SMSAT+CMGW =”# Telefónico”, permite cargar en el teléfono la información del SMS.AT+CMPS=”LOCALIDAD MEM”, permite enviar el SMS cargado en el teléfono.
Hay otros tantos que no me acuerdo pero que son aplicados a NOKIA, en la parte de recepción, en la eliminación de mensaje ubicados en la memoria de teléfono o en el BUZON de mensajes del mismo.
Para comunicación con pic - ( NOKIA) y el PBP los comandos son:
HSEROUT, con este comando se envía uno o más caracteres al puerto serial de hardware en dispositivos que soportan comunicación serial asincrónica.
HSERIN que tiene unas particularidades para su utilización. El tema se ve bueno y estare atento en ayudar en lo que pueda.
 
Saludos y mil gracias @mecatrodatos:

nuestro amigo Pull1998 y yo no tenemos problemas en lo de los comandos AT, pues de tanto buscar la solución a esta necesidad hemos aprendido bastante de dichos comandos, en mi caso he hecho varios programitas en Visual Basic, con el cual puedo administrar muy bien la recepción y envío de mensajes de texto y poder gobernar cosas desde el móvil con solo un mensaje, de hecho ya termine una aplicación que es para toda la casa el cual envío un mensaje al MODEM este al PC y PC a través del com2 se lo envía a un PIC por conexión Max232, hasta allí todo va muy bien, el problema radica en que quiero en vez de usar la PC de intermediario poner el MODEM directamente al PIC y poder discriminar los mensajes como lo hago con la PC, ya que con la PC le envío por ejemplo "MENSAJE ENVIADO DESDE EL NUMERO 0414158965 APAGAR BOMBA DE AGUA" y de allí solo extraigo el numero del celular y las palabra apagar bomba, y desde el PC al PIC le envío "A" al PIC ya que solo se leer un caracter, como veras lo único que nos falta es poder leer cadenas de caracteres desde el PIC, pues enviarla ya sabemos, si tienes alguna solución te estaremos agradecidísimos o alguna luz, lo que nos recomendó el amigo darkbytes es lo mas cerca de la solución que tenemos ahora estoy en eso. Un saludo y mil gracias
 
Última edición:
MAXTORCAMPOS prueba este codigo y me comentas como te fue

Código:
DEFINE OSC 4                    
'DEFINE OSC 8                 
DEFINE HSER_TXSTA 20h   
DEFINE HSER_RCSTA 90h   
DEFINE HSER_BAUD 2400   
'DEFINE HSER_BAUD 4800  
'DEFINE HSER_BAUD 9600  
DEFINE HSER_SPBRG 25            
DEFINE HSER_CLROERR 1   
 
i var byte
TRISB=%00000000
PORTB=%00000000
TRISD=%00001111
PORTD=%00000000
 
FIRSTCHECK:
    HIGH PORTB.7
    PAUSE 500
    HIGH PORTB.6
    PAUSE 500
    HIGH PORTB.5
    PAUSE 500
    HIGH PORTB.4
    PAUSE 500
    PORTB=%00000000
GSM_CHECK:
HSEROUT ["AT",13]          'Enviar AT al módem seguido por un retorno de carro
HSERIN 5000, GSM_CHECK, [WAIT("OK")]'Comprobar respuesta OK, espere 5 segundos max.
HIGH PORTB.7
PAUSE 1000
HSEROUT ["AT+GMM",13]                           'Pregunte el nombre del modelo
HSERIN 5000, GSM_CHECK, [WAIT("T610 series")]   'Comprobar nombre del modelo
HIGH PORTB.6
PAUSE 1000
HSEROUT ["AT+IPR=2400",13]      'Establece la velocidad de transferencia
HSERIN 5000, GSM_CHECK, [WAIT("OK")]'Comprobar respuesta OK, espere 5 segundos max
HIGH PORTB.5
PAUSE 1000
HSEROUT ["AT+CMGF=1",13]            ''envía AT al módem seguido por un retorno de carro y salto de línea
HSERIN 5000, GSM_CHECK, [WAIT("OK")]''Comprobar respuesta OK, espere 5 segundos max.
HIGH PORTB.4
PAUSE 1000
PORTB=%00000000
BEGIN:
IF PORTB.5=1 THEN ERROR_CALL
IF PORTB.6=1 THEN ERROR_SMS
HIGH PORTB.7
pause 1000
LOW PORTB.7
if PORTD.2 = 0 then SEND_SMS
IF PORTD.3 = 0 THEN CALL_PHONE
PAUSE 1000
GOTO BEGIN
SEND_SMS:
HIGH PORTB.6
HSEROUT ["at+cmgs=",34,"xxxxxxxxx",34,13]
PAUSE 1000
HSEROUT ["este es un mensaje de prueba",26]    'ENVIAR MENSAJE
HSERIN 10000, BEGIN, [WAIT("OK")]''Comprobar respuesta OK, espere 5 segundos max.
LOW PORTB.6
GOTO BEGIN
CALL_PHONE:
HIGH PORTB.5
HSEROUT ["atd[0xxxxxxxxx];",13]
HSERIN 5000, BEGIN, [WAIT("OK")]'Comprobar respuesta OK, espere 5 segundos max.
PAUSE 2000
LOW PORTB.5
GOTO BEGIN
ERROR_CALL:
FOR i = 1 to 5
HIGH PORTB.4
PAUSE 500
LOW PORTB.4
PAUSE 500
next i
PORTB=%00000000
GOTO BEGIN
 
ERROR_SMS:
FOR i = 1 to 5
HIGH PORTB.4
PAUSE 500
LOW PORTB.4
PAUSE 500
next i
PORTB=%00000000
GOTO BEGIN
 
End
 
Saludos Mecatrodatos,

lamentablemente estoy fuera de casa, y no traje mis juguetes para probar el código que me diste, sin embargo leyéndolo creo que su función es activar algunas funciones del MODEM y luego enviar un mensaje y esperar la palabra OK en cada devolución que reciba, ahora bien supongamos que este código nos funcione perfectamente; como haría yo para condicionar la palabra que llega desde el MODEM o sea "OK" con una variable que se llame recepción "por ejemplo" ? como seria la línea si quisiera decir por ejemplo (If OK = recepción then portb = %11111111)? eso es lo que me falta como comparar la cadena que llega desde el MODEM para hacer una determinada función, yo he escrito varios códigos para enviar y recibir desde el PIC y lo hace bien pero no se como condicionar esa cadena que viene del moden en este caso no se si al "OK" hay que meterlo en paréntesis o en corchetes o en comillas? espero me halla explicado, saludos y gracias
 
Disculpen que me meta....
es la ultima vez...:D

lamentablemente estoy fuera de casa,
osea que para cuando llegues a tu casa ya debe de estar el codigo???
no amigo, prueba el codigo, y ojala cuando vuelvas a postear un... "Gracias amigo Mecatrodatos con tu ayuda y con el esfuerzo que yo hice ya logre el algoritmo que necesitaba..."

o un "mira modifique el codigo y asi pienso que deberia de ser en que me equivoco..." y anexas un intento de programa aunque este mal....

y si gustan tilden mi mensaje de inapropiado... por mi no hay ningun problema...

SAludos y suerte....
 
Última edición:
Pero de que estas hablando lubeck,?

escuchate a ti mismo amigo!!! te estas consumiendo en tu propia hiel, eres una persona mal intencionada, te lo dije antes y te lo repito no quiero que me hagan el trabajo no estoy acostumbrado a eso, yo se cual es tu dolor pero eso solo te puede ayudar un profesional, aunque no deberia explicar cual es la situacion lo hare para que tu mala intencion no influya a los demas, los fines de semana me voy a mi finca a descansar y eso es lo que pretendo hacer, pero eso no me priva de leer el foro y preguntar, quiero que sepas algo para mi es mucho mas gratificante decir "Gracias amigo Mecatrodatos con tu ayuda y con el esfuerzo que yo hice ya logre el algoritmo que necesitaba" a decir gracia por haberme hecho el trabajo, por ultimo debo decirte que yo soy un viejo quizas mucho mas que tu y por eso te pido que respetes, te repito yo se cual es tu dolor pero alli no te puedo ayudar yo, no voy a marcar tu mensaje como inapropiado pues no voy a caer en tu juego, y si respondi a esto fue para que los demas compañeros del foro sepan cual es la situacion, buenas noches
 
Atrás
Arriba