Ir para conteúdo
  • Cadastre-se

dev botao

SMS TRUNK2


Duarte
  • Este tópico foi criado há 2996 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

Boa tarde,

Pessoal comecei hoje a trabalhar num projeto de envio de sms usando o Acbr estou usando a última versão do acbr no trunk2, comprei ainda pouco um moldem (E192) usando operadora VIVO plano 2GB com sms ilimitado, instalei ele no Windows 7 32Bits emulou a porta COM10, COM12. Bem usando o próprio demo por enquanto, ao tentar enviar SMS pequena e sem caracteres especiais tipo: OI ISTO E UM TESTE. a mensagem é enviada com sucesso, mais me retorna este erro:

ERRO_SMS.jpg

Obs. também não consigo ler as mensagem.

TimeOut=10000

Velocidade=115200

Porta=COM10

Modelo = ModGenerico

Editado por Duarte
Link para o comentário
Compartilhar em outros sites

  • Membros Pro
3 horas atrás, Régys Silveira disse:

Tentou com outros modelos?

Boa tarde,

Acabei de comprar um ZTE MF193A, com este conseguir enviar SMS normal, inclusive com quebra de msg, mais não consigo ler as mensagem, sempre aparece "Pronto" mais sem msg, precisava receber também, ainda não testei também o envio por Lote.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
5 horas atrás, Régys Silveira disse:

Tentou com outros modelos?

 

13 minutos atrás, Régys Silveira disse:

O recebimento é algo que está por fazer a um bom tempo no componente, isso realmente não está 100% pronto, ele somente grava hoje um arquivo com as mensagens recebidas.

Boa tarde, verdade, acabei de verificar um arquivo texto é gerado na pasta do demo, vou tentar implementar a leitura dele, qualquer coisa posto aqui... vou ver se consigo comprar o moldem da daruma, assim ficará testado pois teste no: E192=ModGenerico neste as msg são enviada até retorna no final do retorno um OK mais com erro, e com ZTE MF193A neste está tudo legal... Pelo que percebi é apenas o tratamento do índice que está errado no caso do ModGenerico, pois as msg estão sendo enviadas! Outra coisa para ModGenerico, ele não quebra as msg porque na primeira levanta o erro, mais veja o OK no final do exception...

Editado por Duarte
Link para o comentário
Compartilhar em outros sites

  • Membros Pro
Em ‎13‎/‎11‎/‎2015‎ ‎14‎:‎03‎:‎01, Régys Silveira disse:

O recebimento é algo que está por fazer a um bom tempo no componente, isso realmente não está 100% pronto, ele somente grava hoje um arquivo com as mensagens recebidas.

Boa noite,

 

Reys implementei aqui a leitura das mensagens, fiz testes aqui e funcionou, estou postando as unit alteradas, caso seja aceito pelos moderadores. Abraço.

Crie uma função : procedure CarregaSMS(const APath : string); Na unit (ACBrSMSClass) e acrescentei a chamada da mesma em:

procedure TACBrSMS.ListarMensagens(const AFiltro: TACBrSMSFiltro;
  const APath: String);
begin
  TestaAtivo;
  fsSMS.ListarMensagens(AFiltro, APath);
  fsSMS.Mensagens.CarregaSMS(APath);
end;

Pegando as mensagem recebidos e jogando pra ClientDataSet.

ACBrSMS1.ListarMensagens(fltTudo, 'mensagens.txt');
  with ClientDataSet1 do
  begin
    First;
    while not Eof do
      Delete;
    for I:= 0 to ACBrSMS1.SMS.Mensagens.Count -1 do
    begin
      Insert;
      FieldByName('Telefone').AsString := ACBrSMS1.SMS.Mensagens.Telefone;
      FieldByName('Mensagem').AsString := ACBrSMS1.SMS.Mensagens.Mensagem;
      Post;
    end;     
  end;

Veja resultado...

ACBrSMS.pas

ACBrSMSClass.pas

LerSMS.png

Editado por Duarte
Link para o comentário
Compartilhar em outros sites

  • Membros Pro
6 horas atrás, Régys Silveira disse:

Muito obrigado, a tempos o ACBrSMS estava precisando desta função :), já está no repositório.

Seria interessante atualizar o Demo do ACBrSMS também se não for pedir demais.

Claro vou atualizar, estou melhorando a função para pegar o código, e data/hora, pois assim caso seja necessário esvaziar o chip poderá através dos códigos das msg. Posto aqui após terminar.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
8 horas atrás, Régys Silveira disse:

Muito obrigado, a tempos o ACBrSMS estava precisando desta função :), já está no repositório.

Seria interessante atualizar o Demo do ACBrSMS também se não for pedir demais.

Bom dia,

Segue melhorias na leitura das SMS acrescentado, propriedades (Código, DataHora), atualizado também o demo. Resultados na imagem:LerSMS.png.c3cdc61f470f5ed789adb60830e81

DemoACBrSMS.rar

FonteACBrSMS.rar

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Membros Pro
Em ‎15‎/‎11‎/‎2015‎ ‎11‎:‎02‎:‎45, Régys Silveira disse:

Perfeito, muito obrigado mesmo pela implementação e acertos, já está tudo no repositório.

Bom dia,

Fiz mais umas melhorias no método para ler as SMS. em anexo .pas alterado.

Pessoal, alguém ai tem interesse em dar continuidade no AcbrSMS? Estamos aqui num projeto bem grande com tratamento de SMS, trata-se de gerenciador aonde ele vai interagir com usuário via SMS (Receber -> Processar -> Devolve). Alguns pontos que já constamos no componente:

1º Se enviar sms de celulares com acentuações, o componente não consegue interpretar a SMS ela vem como se fosse criptografada, pedindo para ler as SMS pelo aplicativo do moldem ele consegue interpreta 100%.

2º Se enviar SMS grande, caso esteja marcado "QuebrarMensagem" e após a quebrar a SMS tiver quebra de linha, para cada linha o componente envia uma SMS separada ex.

Bom dia,

Hoje tem reuniao para equie

....... Aqui chega no limite de (160 caractere) então vai quebrar e envia outra SMS Veja o restante da SMS para cada linha agora será uma sms.

Por favor a presenta de todos é importante, (+ 1 SMS)

Grato, (+ 1 SMS)

Glênio Duarte Moura (+ 1 SMS)

ACBrSMSClass.pas

Editado por Duarte
Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Certo,

As alterações que envie ai, trata-se do erro ListofIndex. pois nem sempre o fim do .txt das mensagem retornada pelo componente termina com "O"... do jeito que estava dava este erro... acrescentei: if (Pos('O', ListaSMS[ListaSMS.Count -1]) > 0) and (Length(Trim(ListaSMS[ListaSMS.Count -1])) = 1) then
        ListaSMS.Delete(ListaSMS.Count -1);

Na função em questão "CarregaSMS(const APath: string);" removo o inicio e fim para ficar apenas as SMS em si...

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Boa noite,

Amigos, o nosso projeto usando ACBrSMS evoluiu bastante... Hoje estamos utilizando ele em alta escala, envio em torno de 300.00 por hora, nisto começou dar este erro: Communication error 10002: Receive Parity Error. Teria alguma dica de como resolver isto. veja os dados:

Modem: ZTE MF193A / ZTE MF112

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
3 minutos atrás, Régys Silveira disse:

Na configuração da comunicação serial existe uma propriedade de configuração da paridade, provavelmente ela está errada.

Bom dia, está configurado: pNone, funciona durante um período, mais quando envia/recebe muitas SMS para, as porta COM que são emuladas  some, ai tem retirar o modem e reconectar.

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2996 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.