Pages: [1]   Go Down
Author Topic: Acentuação em SMS  (Read 1047 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 1
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Olá a todos,

Sou novato por aqui e estou com uma dúvida que talvez seja trivial;
Estou querendo saber se há uma maneira de colocar acentos (caracteres especiais) no envio de um SMS.
No código utilizo a seguinte linha:

if (sms.SendSMS("+5561xxxxxxxx", "Ha nova(s) correspondencia(s) na sua Caixa de Correio!"))

No caso, queria que no SMS enviado, aparecesse a mensagem: Há nova(s) correspondência(s) na sua Caixa de Correio!
Quando eu coloco os acentos 'á' e 'ê', só recebo o SMS com a letra H.
Utilizo o Arduino UNO e o Shield IComSat v1.1. Se precisarem, posto o código completo.

Agradeço desde já a quem ajudar.
Logged

Portugal
Online Online
Edison Member
*
Karma: 37
Posts: 1583
Pretending you know everything then you will learn nothing.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Em teoria é possivel a nao ser que o modem os recuse.
Se olhares para a Extended ASCII table esses caracteres são la referidos.
O que tens de fazer é partir esse texto em partes e quando queres imprimir o "á" usas o Serial.write(0x??) onde o "0x??" corresponde ao valor em hexadecimal correspondente a letra com acento.
Para a letra  "á" a instruçao fica Serial.write(0xA0);
Para a letra "ê" a instruçao fica Serial.write(0x88);
Para veres outros codigos de outros caracteres especiais consulta aqui:
http://www.asciitable.com/

Logged

Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B


'round the world...
Online Online
Faraday Member
**
Karma: 42
Posts: 3267
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

O problema pode ter a ver com o uso de extended ascii.

No manual que encontrei na net, não dizia nada lá, mas também não sei exactamente como é que o Arduino faz a translação do código para ascii.

Experimenta enviar esta string:

Code:
unsigned char sms[] = {'H', 160};
Isto dará para entender se o problema estará no Arduino ou no IcomSat.

http://www.asciitable.com/
http://en.wikipedia.org/wiki/Extended_ASCII

No entanto, o problema certamente que estará no IcomSat tendo em conta o ponto 1.5 deste manual:

http://ftp://imall.iteadstudio.com/IM120417009_IComSat/DOC_SIM900_AT%20Command%20Manual_V1.03.pdf

Se mudares o character set do módulo certamente que isso começará a funcionar.
Dá uma vista de olhos aqui, sobre uma discussão sobre character sets.
http://www.nowsms.com/discus/messages/1/1103.html

Logged

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Pages: [1]   Go Up
Jump to: