Envio de mensagens SMS Através de um automáto

Responder
gtavares
Curioso
Curioso
Mensagens: 31
Registado: 24 jul 2009, 16:08

Envio de mensagens SMS Através de um automáto

Mensagem por gtavares »

Caros colegas, estou a desenvolver um sistema de envio de mensagens SMS através de um autómato, AB. Alguém já desenvolveu alguma coisa deste género?
diamantino
Faça a sua apresentação
Faça a sua apresentação
Mensagens: 2
Registado: 04 dez 2007, 16:53
Localização: torres vedras

Re: Envio de mensagens SMS Através de um automáto

Mensagem por diamantino »

Boas
Isso e simples lê o manual de protocolo AT do modem que está la tudo explicado do lado do autómato ele tem de permitir o envio de strings em caracteres ASCII para o modem através da porta RS232, isto caso utilizes um autómato AB e um modem de outro fabricante

ex de um comando AT:
fazer uma chamada telefónica simples para um telemóvel
comando em ASCII

ATD+351910000000

estes são os caracteres que o autómato terá de enviar para o modem
nokPT
Velha Guarda
Velha Guarda
Mensagens: 228
Registado: 26 set 2008, 22:45
Been thanked: 2 times

Re: Envio de mensagens SMS Através de um automáto

Mensagem por nokPT »

Já fiz com o MicroLogix e CompactLogix, teoricamente é muito simples, na realidade há algumas cuidados a ter em conta:

Na AB uma string são 41 Words ou 82 Bytes, cada carácter ocupa um Byte, por isso há que ter o cuidado se a string (texto da mensagem) foi maior que 82 bytes, tens que enviar várias.

Antes de enviar deves limpar o buffer (de envio e de recepção), depois de dares a ordem de limpeza do buffer, tens que esperar cerca de 120ms (está no manual da AB) para poderes dar a ordem para envio de string (ou recepção).

Só podes dar uma ordem de cada vez (envio ou recepção) se enviares 2ª antes de acabar a primeira ou mandares ler antes de acabar de enviar ou enviar antes de acabar de ler, podes bloquear a porta.

Se não enviares mensagens durante "muito tempo" deves periodicamente mandar um comando AT (só "AT") para o modem não entrar em sleep.

Tens que ter também cuidado que na AB, quando gravas, gravas tudo, programa, memória e estados de bits de controlo, o que quer dizer que quando fizeres download, o estado do autómato fica como estava na altura que gravas-te quer dizer:

Mandas enviar -> liga o bit de envio e o de EN e outros
Gravas neste momento -> gravas tudo, mesmo estes bits.
Mais tarde, fazes download do programa para o autómato -> estes bits ficam activos, mas desta vez não está a enviar nada, porque não começou, mas tem a indicação que está a enviar, pode facilmente bloquear-te o envio porque está a enviar.

A melhor maneira para não teres problemas com este particularidade é limpares esses bits no First-Scan, mesmo que não os uses e limpares no fim de os usares ou quando souberes.

Há ainda outra particularidade, no MicroLogix, quando mandas enviar uma mensagem ele envia tudo a string e no fim apresenta o nº de caracteres enviados, se estiveres a usar o CompactLogix isso não acontece, ele envia o nº de caracteres que estiver no Length da memória de controlo, quer dizer que começas a receber mensagens truncadas, para isso não acontecer, tens que antes de dar a ordem de envio, fazer um MOV de Zero para o Length.

Há ainda outro problema, para mandares um SMS tens que enviar para o Modem: AT+CMGS... (não sei de cor) depois o modem responde-te com ">" quer dizer que aceitou o comando e está pronto para receber o texto do SMS, só que por vezes não sei porquê, não recebemos os carácter ">" e ficamos parados à espera, uma alternativa é esperar cerca de 50ms pelo carácter se não receberes enviar o texto do SMS na mesma.

Tirando isso, só tens que configurar a porta para ASCII, o baud-rate para o que quiseres (desde que o modem o permita), mas não necessitas de usar bauds muito altos, porque não se justifica.

Ainda há mais alguns truques que se vão apanhando com o funcionamento da coisa, não é tão simples e tão linear como ligar o modem ao PC e comunicar com o Hyperterminal, é mais complicado (cheguei a passar 2 e 3 dias a olhar para o programa a funcionar para apanhar pequenos bugs, alguns dos que relatei a cima).
Ricardo Timóteo
gtavares
Curioso
Curioso
Mensagens: 31
Registado: 24 jul 2009, 16:08

Re: Envio de mensagens SMS Através de um automáto

Mensagem por gtavares »

Obrigado pela ajuda.
Responder

Voltar para “Automatismos / Domótica”