TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: martinchd en 04 de Mayo de 2020, 10:34:52

Título: Símbolo grado "°" en SMS
Publicado por: martinchd en 04 de Mayo de 2020, 10:34:52
Hola buen dia. Estoy renegando y buscando y lo logro encontrar como enviarlo, si pongo
printf("Temp -> %2i °C"temp); en el SMS me manda un @ (Temp -> 20 @C).
Título: Re:Símbolo grado "°" en SMS
Publicado por: Fabri Olivari en 05 de Mayo de 2020, 09:06:30
Eso es debido a que no te reconoce el caracter, que libreria estas usando?? Podes mandar mas info.
Título: Re:Símbolo grado "°" en SMS
Publicado por: martinchd en 08 de Mayo de 2020, 09:39:58
Eso es debido a que no te reconoce el caracter, que libreria estas usando?? Podes mandar mas info.


Las librerias que uso son.
<stdio.h>  , <16F877a.h> , <lcd.c>
Título: Re:Símbolo grado "°" en SMS
Publicado por: Kspids en 12 de Mayo de 2020, 06:26:19
Prueba con \337 a ver si funciona.

Título: Re:Símbolo grado "°" en SMS
Publicado por: Kid_Bengala en 12 de Mayo de 2020, 08:22:23
Hola

Has probado a cambiar la codificación del modem gsm? Donde estoy yo currando ahora (empresa de un amigo), tenian un modulo que desarrollo hace años (es que ando mirando cosas viejas para aprender) y cambian la codificación para enviar ese simbolo, según la documentación que vi. Es un modulo que desarrollo para el tema de temperatura y demas de unos centros, por eso es algo similar.

Saludos.
Título: Re:Símbolo grado "°" en SMS
Publicado por: martinchd en 13 de Mayo de 2020, 17:58:14
Prueba con \337 a ver si funciona.

si pongo
printf("Temp -> %2i \337C\nHr -> %2i %%",temp,hr);

me manda  el mensaje (adjunto imagen)
Título: Re:Símbolo grado "°" en SMS
Publicado por: martinchd en 13 de Mayo de 2020, 17:59:14
Hola

Has probado a cambiar la codificación del modem gsm? Donde estoy yo currando ahora (empresa de un amigo), tenian un modulo que desarrollo hace años (es que ando mirando cosas viejas para aprender) y cambian la codificación para enviar ese simbolo, según la documentación que vi. Es un modulo que desarrollo para el tema de temperatura y demas de unos centros, por eso es algo similar.

Saludos.

Amigo... noo no he probado... cambiarla como decís?
Título: Re:Símbolo grado "°" en SMS
Publicado por: martinchd en 13 de Mayo de 2020, 18:04:21
Prueba con \337 a ver si funciona.

si uso \337 para visualizar el simbolo "°" en el display LCD.
Título: Re:Símbolo grado "°" en SMS
Publicado por: Robert76 en 13 de Mayo de 2020, 20:33:24
Hola, quizás el problema no sea la librería para ese caracter, ya que sólo es una parte de la cadena de comunicación. En el medio está sistema GSM de cómo interpreta la codificación ASCII y además está el terminal(destinatario)
Título: Re:Símbolo grado "°" en SMS
Publicado por: Eduardo2 en 13 de Mayo de 2020, 22:20:18
....
si pongo
printf("Temp -> %2i \337C\nHr -> %2i %%",temp,hr);

me manda  el mensaje (adjunto imagen)

octal  337  es la letra eszett (la que mostrás en la imagen)  en ISO-8859.

El caracter que corresponde a '°'  es octal 260

Probá con   printf("Temp -> %2i \260C\nHr -> %2i %%",temp,hr);
Título: Re:Símbolo grado "°" en SMS
Publicado por: martinchd en 14 de Mayo de 2020, 17:32:51
....
si pongo
printf("Temp -> %2i \337C\nHr -> %2i %%",temp,hr);

me manda  el mensaje (adjunto imagen)

octal  337  es la letra eszett (la que mostrás en la imagen)  en ISO-8859.

El caracter que corresponde a '°'  es octal 260

Probá con   printf("Temp -> %2i \260C\nHr -> %2i %%",temp,hr);

Eduardo, al poner asi como me decis tambien me muestra la letra "arroba", al igual que si pongo 
printf("Temp -> %2i °C\nHr -> %2i %%",temp,hr);
Título: Re:Símbolo grado "°" en SMS
Publicado por: Eduardo2 en 14 de Mayo de 2020, 18:51:04
Es como si estuviera seleccionado el juego de caracteres asiático pues:

\337 == '°'  en el juego europeo 
\337 == 'ß'  en el juego asiático

Pero \260 == '°'  en el juego asiático (en realidad es un poco mas grande)  pero no es una arroba '@'  :(
Título: Re:Símbolo grado "°" en SMS
Publicado por: Kid_Bengala en 15 de Mayo de 2020, 12:12:46
Hola

Has probado a cambiar la codificación del modem gsm? Donde estoy yo currando ahora (empresa de un amigo), tenian un modulo que desarrollo hace años (es que ando mirando cosas viejas para aprender) y cambian la codificación para enviar ese simbolo, según la documentación que vi. Es un modulo que desarrollo para el tema de temperatura y demas de unos centros, por eso es algo similar.

Saludos.

Amigo... noo no he probado... cambiarla como decís?

No se que modulo tienes, pero algunos (al menos el que yo he visto del trabajo) se le indica que tipo de codificación va a usar y luego se le manda los mensajes. Así se ve correctamente los mensajes, pasa como las webs, editores de texto, etc.

Saludos
Título: Re:Símbolo grado "°" en SMS
Publicado por: Eduardo2 en 15 de Mayo de 2020, 12:43:57
¿Por que no hacés un for mandando caracteres para ver cual corresponde al '°' si es que lo tiene?
Título: Re:Símbolo grado "°" en SMS
Publicado por: martinchd en 15 de Mayo de 2020, 15:46:42
Hola

Has probado a cambiar la codificación del modem gsm? Donde estoy yo currando ahora (empresa de un amigo), tenian un modulo que desarrollo hace años (es que ando mirando cosas viejas para aprender) y cambian la codificación para enviar ese simbolo, según la documentación que vi. Es un modulo que desarrollo para el tema de temperatura y demas de unos centros, por eso es algo similar.

Saludos.

Amigo... noo no he probado... cambiarla como decís?

No se que modulo tienes, pero algunos (al menos el que yo he visto del trabajo) se le indica que tipo de codificación va a usar y luego se le manda los mensajes. Así se ve correctamente los mensajes, pasa como las webs, editores de texto, etc.

Saludos

estoy usando SIM800L
Título: Re:Símbolo grado "°" en SMS
Publicado por: martinchd en 15 de Mayo de 2020, 15:59:27
¿Por que no hacés un for mandando caracteres para ver cual corresponde al '°' si es que lo tiene?

siii no me va a quedar otra... o sino cambiarlo por (*C ) y listo... no es tan critico.. es de mera información al usuario nada mas.
Título: Re:Símbolo grado "°" en SMS
Publicado por: martinchd en 15 de Mayo de 2020, 19:11:02
No hay forma de encontrar ese caracter. Lo dejo asi.

Título: Re:Símbolo grado "°" en SMS
Publicado por: KILLERJC en 16 de Mayo de 2020, 10:00:38
Haciendo una par de busquedas por internet te doy unas pistas, pero si se puede hacer, pero no facil:

- Depende de la codificacion que estes usando en tu SIM800L y las codificaciones que permitan.

Código: [Seleccionar]
AT+CSCS=?Las opciones son:
Código: [Seleccionar]
"GSM" GSM 7 bit default alphabet (3GPP TS 23.038);
"UCS2" 16-bit universal multiple-octet coded character set (ISO/IEC10646); UCS2 character strings are converted to hexadecimal numbers from 0000 to FFFF; e.g. "004100620063" equals three 16-bit characters with decimal values 65, 98 and 99
"IRA" International reference alphabet (ITU-T T.50)
 "HEX" Character strings consist only of hexadecimal

Usando GSM:
El problema esta en que GSM usa un alfabeto de 7bits nomas y no incluye el º que estas buscando, entonces la que te queda es poner la C directamente o buscar alguna alternativa como el asterisco. Entonces si vas por GSM es un NO.

Usando UCS2:
Genial, ahora tenemos 16bits para hacer nuestras letras, por lo que tenemos muchas mas posibilidades,
PERO:
- Los mensajes van a ser mas cortos ya que cada caracter requiere 16bits y no 7. Pero esto no es lo "malo"
- Lo malo: TODO string que envies al modem requiere de esta codificación "extra" para pasar todo a 16bits antes de enviarlo al modem. Y si esto incluye el numero de telefono el cual antes era:
Código: [Seleccionar]
+123456Ahora sera
Código: [Seleccionar]
002B 0031 0032 0033 0034 0035 0036             En realidad es sin separar, lo separe para que se note la diferencia entre caracteres
Charset Table
http://www.columbia.edu/kermit/ucs2.html
Degree Simbol º 00B2

Si no mal lei UCS2 es obsoleto y los dispostivos android lo suplantan por UTF-16BE (big endian) ya que son parecidos pero el UTF agrega un par de cosas mas. Algo sobre UCS2
https://www.twilio.com/docs/glossary/what-is-ucs-2-character-encoding

GSM 7-bit charset table
ftp://www.3gpp.org/tsg_t/tsg_t/tsgt_04/docs/pdfs/tp-99127.pdf (Para bajar)

Informacion sobre el simbolo de grado
http://www.fileformat.info/info/unicode/char/b0/index.htm
Título: Re:Símbolo grado "°" en SMS
Publicado por: Kid_Bengala en 16 de Mayo de 2020, 10:49:30
Hola

Mirate el comando AT+CSCS y prueba a usarlo con AT+CSCS="UCS2", a ver si te funciona.

Saludos

EDITO: No me habían salido las nuevas respuestas... Ya te hablan de la codificación UCS2.
Título: Re:Símbolo grado "°" en SMS
Publicado por: martinchd en 16 de Mayo de 2020, 19:39:02
Muchísimas gracias chicos por esa información. No encontraba el motivo por el cual no podía enviar ese caracter.

Lo voy a dejar con el (*C), no es tan importante.

Saludos ....