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=”< numerotelefone >”
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.