Nesse tutorial você irá aprender a criar um sistema de envio SMS utilizando uma IHM da série X2 e o Modem GSM/GPRS GDW-11 conectados através da interface de comunicação RS-232.
Nesse tutorial foram utilizados os seguintes equipamentos:
Interface Homem Máquina: X2 Base 7
Cabo para programação da IHM: AL-2319
Software de Programação da IHM: iX Developer
Modem GSM/GPRS: GDW-11
Software de configuração do Modem: GD-Tool
Cabo para programação do Modem: Conv. USB-Serial
Cabo para comunicação entre IHM e Modem: AL-1752
1. Iniciando um projeto para a IHM
Abra o software iX Developer e crie um novo projeto clicando em "Create New Project".
Selecione o modelo de IHM e clique em Next. Na próxima tela selecione o nome e o diretório da aplicação e clique em Finish.
2. Criando tela para envio de SMS
Utilizando os objetos disponíveis no iX Developer, crie uma tela semelhante à mostrada abaixo. A tela precisa possuir, obrigatoriamente, As duas caixas de texto e o botão, o resto é opcional.
3. Módulos de Scripts - C#
É necessário a criação de um módulo de Script para comandar corretamente o envio dos dados pela porta serial COM1 da IHM e que possibilite a relação com os objetos da tela criada anteriormente. Para a criação do módulo de Script, clique na aba "Insert" e adicione um novo Script.
O Script criado pode ser visualizado e alterado com um duplo clique no módulo desejado, para alterar o título do Script clique com o botão direito e selecione a opção "Renomear".
No Script criado será feita a lógica de comunicação com o modem através da interface RS-232, ou seja, a COM1 da IHM. Os comentários detalhados podem ser visualizados no próprio Script do programa exemplo anexado a esse documento. A seguir ressalva apenas os principais pontos.
Dois namespaces devem ser adicionados, um para o acessar a porta serial e o outro para utilização das codificações ASCII:
//namespaces necessários para acesso a porta serial
using System.IO.Ports;
using System.Text;
O método utilizado possui 3 entradas do tipo string, para definição da porta que será utilizada, entrada do número do telefone e mensagem a serem escritos:
public void MetodoEnvioSMS(string COMporta, string telefone, string mensagem)
A lógica do método possui comandos específicos que o modem exige para início de comunicação e término dela caso a mesma ocorra com sucesso, esses comandos podem ser vistos nas linhas 41 e 61:
41 portaCOM.Write("AT+CMGS=\"" + telefone + "\"" + Environment.NewLine);
Nesse caso a linha 41 envia o comando na forma de String AT+CMGS é necessário para iniciar a comunicação.
61 portaCOM.Write(new byte[] {26}, 0, 1);
A linha 61 envia em um byte o código da combinação de teclas CTRL+Z para finalizar a comunicação exigido pelo modem, onde 26 é o código das teclas 0 o offset inicial do byte e 1 a quantidade de byte.
4. Script da Tela - C#
Após a criação dos objetos na tela é possível acessa-los via script e atribuir propriedades e vincula-los com os métodos criados em módulos de scripts, para acessar o script da tela selecione-a e no canto inferior esquerdo da tela clique em Script.
O passo seguinte é vincular os objetos TextBox1, TextBox2 com o método criado dentro do módulo de Script e executá-lo quando o botão da tela é pressionado. Note que os objetos criados na tela ficam listados ao lado e possuem métodos pré-definidos relacionados a cada tipo. Nesse caso utilize o método Click do objeto Button1, que é o botão criado na tela.
O script criado deverá ficar da seguinte forma:
Em seguida para vincular com as entradas do método responsável pelo envio do SMS, ou seja, o módulo de Script, ele deve ficar da seguinte forma:
5. Configuração do Modem GSM/GPRS GDW-11
Conecte o cabo USB/Serial entre o Modem e o seu computador. Ao iniciar o software configure a porta COM utilizada no computador (isso pode ser visto através do Gerenciador de Dispositivos do Windows) e clique no botão "Autoconnect".
O próximo passo é configurar os parâmetros da porta serial do Modem. Para isso, clique na aba "Serial" e defina os mesmos parâmetros do Script do módulo criado na IHM (SerialPort portaCOM = new SerialPort(COMporta, 9600, Parity.None, 8, StopBits.One);)
O último passo é conectar ambos os equipamentos, inserir o telefone e mensagem nos campos correspondentes e acionar o botão "Enviar SMS", caso alguma configuração ou conexão entre os equipamentos não esteja correto um Popup informou que houve falha no envio.
No campo correspondente ao número de telefone utilizar o padrão:
+55(DDD)telefone
O conteúdo da mensagem pode ter no máximo 160 caracteres.
Comentários
0 comentário
Por favor, entre para comentar.