Enviando mensagens SMS pelo Elipse E3 com o driver Elipse GSM.

Introdução

Para enviar mensagens SMS pelo Elipse E3, deve-se utilizar o driver Elipse GSM. Resumidamente, com este driver o E3 envia e recebe comandos do modem através de mensagens textuais, conhecidas como comandos AT.

É possível encontrar vários sites na internet que explicam sobre os comandos AT disponíveis. Para o envio de SMS, são necessários alguns poucos comandos.

Modem

O modem utilizado para a realização dos testes foi o ZTE MF710. É necessário inserir um chip que tenha a capacidade de enviar SMS (os custos de envio devem ser verificados com a operadora do chip).

Ao adquirir o modem, este pode vir juntamente com um CD que traz os drivers necessários. Caso contrário, ao plugar o modem na máquina aparecerá a opção de instalação do driver.

Após a instalação do driver, é possível verificar no gerenciador de dispositivos do Windows as interfaces instaladas:

Portanto, neste exemplo, o driver deve ser configurado para se conectar a COM5.

No caso deste Modem, foi necessário utilizar o comando AT+CFUN para habilitar a utilização do modem. Este comando configura o nível de funcionalidade do MT: “funcionalidade plena” é quando o maior nível possível de energia é utilizado, e “funcionalidade mínima” é quando o menor nível possível de energia é utilizado. Os valores disponíveis para este comando são:

  • 0: funcionalidade mínima
  • 1: funcionalidade plena
  • 2: fone desabilitado que apenas transmite circuitos RF
  • 3: fone desabilitado que apenas recebe circuitos RF
  • 4: fone desabilitado que transmite e recebe circuitos RF

Neste exemplo, foi necessário enviar o valor 1 para este comando, para a habilitação do Modem. Vale lembrar que caso o Modem seja desconectado e então conectado novamente à máquina, é necessário reenviar o comando. Um evento possível para a execução desse comando é o evento AfterStart do driver.

Além do comando AT+CFUN, é necessário habilitar o “Modo Texto” (AT+CMGF=1) no driver, para que seja possível fazer o envio de SMS. Recomendamos que este modo seja habilitado logo após a execução do comando de habilitar o Modem.

Envio do SMS

Logo após esses comandos, será feito o envio de mensagens SMS. Para isto, é necessário escrever em duas tags no driver, que implementam os seguintes comandos:

1 – AT+CMGS=”

2 – Texto_Mensagem

Note que “numerotelefone” deve ser uma string, porém como serão escritos somente números na tag, o driver pode interpretar essa tag como numérica; isto pode ocasionar erro na escrita do comando CMGS. Portanto, recomenda-se sempre converter o valor para string por script no comando.

Recomendações

  • O timeout padrão do driver é 1 segundo. Recomenda-se aumentar esse tempo (por exemplo, 5 segundos), pois o modem pode demorar mais do que isso para responder o comando.
  • Recomenda-se configurar o driver para efetuar escritas assíncronas, evitando-se o travamento da aplicação durante a escrita.

Conclusão

A aplicação em anexo foi desenvolvida com a versão 4.8 b352 e mostra como enviar um SMS manualmente e também quando um alarme for ativado, e já está configurada de acordo com as recomendações feitas anteriormente. É necessário utilizar a última versão do driver Elipse GSM para o correto funcionamento da aplicação.

NOTA: A maioria dos modems USB suportam dois modos comunicação: Modo Texto e Modo PDU. O driver Elipse GSM suporta somente o modo texto. Portanto, caso algum modem suporte somente o modo PDU, este não será compatível com o driver da Elipse.

Mais informações sobre SMS (comandos AT, modos de comunicação, entre outros) podem ser obtidas no link:
https://www.developershome.com/sms/. Sugestão de leitura: seções 13, 14, 15, 17, 18, 19 e 20.

É possível testar o envio de SMS sem utilizar o Elipse E3; neste caso, utilize softwares que consigam abrir um terminal serial, como por exemplo o Ex: RealTerm e Putty.

 

Anexos:

Elipse_SendSMS.zip

Este artigo foi útil? Was this post helpful?
Yes0
No0

Deixe seu Comentário

Seu endereço de e-mail não será publicado. Campos marcados com asterisco são obrigatórios *