Cabe observar o seguinte, equipamentos como balanças e impressoras fiscais, 
possuem funções muito além de simplesmente retorna o peso que está sobre ela, 
ou simplesmente emitir uma nota.

Esses equipamentos possuem diversas funções de configuração, carga, etc. A 
melhor forma de usufruir de todo o equipemento, é utilizar os recursos que o 
frabricantes oferecem. Usar esses equipamentos, no windows, quase sempre 
exigirão o uso de um activeX, na maioria das vezes fornecido pelo fabricante, é 
contendo um objeto implementado que tenha total controle dos recursos do 
hardware em questao.

A grande maioria dos softwares de automação, for win, sejam eles em delphi, 
visual basic, ou whatever, usam o modelo COM/DCOM para comunicação com 
hardware, isto é, e em outras palavras, usam activeX.

Quem tem experiência com automação, com certeza ja ouviu falar da bematech por 
exemplo, nesse link http://www.bematech.com.br/assistencia-downloads.html  eles 
oferecem diversos modelos de implemetação e usos, vcs encontrarão não só os 
drivers, como também activeXs pra cada modelo.

Então, seja lá como você vai fazer, client, serviço, não importa, o melhor 
caminho, procurando produtividade, é sem duvida usar o activeX do fabricante, 
caso exista, instanciando ele sempre abaixo do IE, justamente pra nao ficar 
preso nele. No win, vc pode instanciar um activeX qualquer, com diversas 
linguagens, VB, VBScript, JScript, PHP, Perl, Python, bla, bla, bla ....

Usar o activeX nao é um mal caminho, usá-lo através do IE sim, é uma péssima 
escolha. Ao todo, você pode simplesmente fingir que ele nao existe, e criar uma 
nova API, compilá-la como dll e registrá-la no windows e logo após usar ..... 
se vc tiver usando o APACHE::ASP ou Perlscript, under IIS, por exemplo, após 
registrar sua DLL, é só fazer isso pra instanciar o objeto:

my $balanca = $Server->CreateObject(“Nomedoseu.COM.Registrado”);
my $pesoatual = $balanca->pesa();

O mesmo em VBscript X ASP – roda no server

dim balanca = Server.CreateObject(“Nomedoseu.COM.Registrado”)
dim pesoatual = balanca.pesa()

O mesmo em VBscript X IE – roda no client 
dim balanca = document.CreateObject(“Nomedoseu.COM.Registrado”)
dim pesoatual = balanca.pesa()

e por ai vai, nao importa se é delphi, visual basic, php, perl, or whatever, no 
win, quase todos softwares de automacao que eu conheco usa COM/DCOM e activeXs

Ai você decide, quer escrever uma livraria nova? ou quer usar uma que ja existe?


Eduardo Almeida - Engenharia de Software
[email protected] - 27 3021-1530 / 27 9839 3755

WEB2 Solutions - Inovando, sempre!

From: Daniel Vinciguerra 
Sent: Wednesday, February 01, 2012 10:55 PM
To: [email protected] 
Subject: Re: [SP-pm]Porta serial via web. é possivel ??

É certo que seria mais rápido com menos conexões, ou (quase) nenhuma no caso do 
activeX, mas dependendo de como for feito, não vejo um grande impacto em 
performance com um serviço visto que a quantidade de informações trafegadas não 
vai ser significativa. 

E alem disso terá um sistema cross-browser ao invés de ficar preso ao IE ou 
outro navegador usando a tecnologia X ou Y...

[]'s

Daniel Vinciguerra
Web Solutions Architect and Co-Owner at Bivee
http://github.com/dvinciguerra



On 1 February 2012 22:38, Renato Santos <[email protected]> wrote:

  Nunca mexi com uma balança, 
  mas acho que ele deve ficar enviando
    "olá, peso atual: 234 gramas"
  e ficar enviado isso a cada mudança de peso.

  Então seria só fazer um serviço que fica recebendo esses dados,
  e a cada mudança em N tempo (por exemplo, a cada 1 segundo) enviar, se exitir 
mudança do ultimo enviado, para o servidor,

  o servidor pode ser um WEB que recebe um POST ou um GET com os dados:
  IP da maquina, peso,

  talvez pra facilitar qual maquina vai ser qual usuario na tela, vc pode fazer 
um botão na aplicação para o usuario informar algum numero (tipo, 1 ou 2, bem 
simples) que seja informado o temop todo em todas as paginas no site (poe na 
sessão)
  assim no lado servidor, vc pode por na pagina que precisa do dado da balança 
um ajax (ou de preferencia um long-polling/socket) que recebe o peso e exibe.

  não é o mais rapido (pois tem o temo da internet) mas é (na minha opinião que 
nunca mexeu direito com activex e IE) o mais simples



  2012/2/1 Daniel Vinciguerra <[email protected]>

    Escrever um serviço para isso não é muito mais fácil que ficar fazendo 
forms e outras coisas!?!?! 

    Cria um serviço local para pegar os dados da serial, criar uma sessão com 
isso e disponibilizar de forma local via HTTP/json... e via JS você você faz o 
navegador buscar os dados desse serviço e preencher o campo que vc quer!

    Fiz isso em um sistema desktop de leilao cujo um banco (dono dos carros) 
via a necessidade de um chat para se comunicar com os responsáveis pelo leilão 
quando ele estava acontecendo. Então a cada espaço de tempo ou estimulo do 
sistema eu atualizo as informações disponibilizo em formato JSON via serviço.

    Como o chat eh uma pagina web em um servidor da empresa... eu faço a 
atualizações das informações do chat usando JS/Ajax para não haver a 
necessidade do reload.


    Não sei se o cenário é este mesmo ou eu perdi algum paragrafo na 
discussão???
    Vejo possibilidade de se implementar isso de forma bem simples... barata e 
incluindo até a utilização de HTTPS para aumentar o lance da segurança...

    []'s

    Daniel Vinciguerra
    Web Solutions Architect and Co-Owner at Bivee
    http://github.com/dvinciguerra 




    On 1 February 2012 21:11, Eduardo Almeida <[email protected]> 
wrote:

      Acrescentando .... muitos fabricantes de balanças, leitores, impressoras 
fiscais, etc, ja fornecem os activeX, no formato .dll na maioria das vezes. 

      Ao invés de usar o IE pra instanciar o activeX, o que me prenderia no IE, 
e me daria dor de cabeças com políticas de segurança, eu instanciaria esse 
activeX diretamente do meu client em CGI/Perl/Plack. CGI é só uma sugestão =]


      My cents

      Eduardo Almeida - Engenharia de Software
      [email protected] - 27 3021-1530 / 27 9839 3755

      WEB2 Solutions - Inovando, sempre!

      From: Eduardo Almeida 
      Sent: Wednesday, February 01, 2012 8:41 PM
      To: [email protected] 
      Subject: Re: [SP-pm]Porta serial via web. é possivel ??

      O JS sozinho nao resolve o problema, no máximo serve pra detectar a 
entrada do serial no input do form, assim como funciona com um leitor de código 
de barra numa app web, vc da um focus() no input e o leitor, ao ler um código, 
retorna o mesmo como se fosse um teclado qualquer, com o evento onchage do JS, 
vc consegue incluir esse produto que acabou de ser “lido” no “ pedido que está 
em aberto.

      Pra interação com hardware, (no caso do leitor de código de barra nao ha 
interacao), como portas seriais, modens, etc, você precisará sempre de uma 
“aplicação” instalada localmente que consiga fazer isso. Entao voltamos á 
sugestão do Nilson, ou à minha sugestão ... faria um client, ainda web, rodando 
sobre o plack, e instalaria em cada client ... rodando seu “client web” na 
maquina, vc consegue ter total controle sobre a mesma.

      Usar activeX, ainda irá esbarrar em diversas políticas de segurança do 
windows, principalmente os mais novos.


      Meus cents


      Eduardo Almeida - Engenharia de Software
      [email protected] - 27 3021-1530 / 27 9839 3755

      WEB2 Solutions - Inovando, sempre!

      From: Ricardo Stock 
      Sent: Wednesday, February 01, 2012 9:28 PM
      To: [email protected] 
      Subject: Re: [SP-pm]Porta serial via web. é possivel ??

      Estou vendo justamente isso no google, vi ate um artigo do daniel... 
minha duvida é como pegar os dados. vi outras soluçoes até mesmo em JS

      Veja                                                (sempre)
      Balança filizola -> maquina windows -> Browser IE -> form -> depois é 
fácil. -> input -> servidor linux -> retorno em html

      estou pensando em deixar algo escutando a porta, porem a primeira ideia é 
deixar o mais transparente possivel para o usuario. Pensei tambem em gravar um 
txt e ler sempre que receber o foco. Ou seja estou pensando em todas as 
possibilidades.

      Mas uma coisa eu ja percebi... vou trabalhar com Mozila ;-p

      Mas agradeço as respostas.. vou olhar todas e voltar a postar.

      Realmente obrigado


      Ricardo Stock

        ----- Original Message ----- 
        From: Ricardo Stock 
        To: [email protected] 
        Sent: Wednesday, February 01, 2012 7:49 PM
        Subject: [SP-pm] Porta serial via web. é possivel ??

            boa tarde a todos.

            Tenho um sistema rodando em um cliente (tres restaurantes), é 
necessário ser web pois roda on line em diferentes locais. O sistema  esta ok. 
Porém agora o mesmo decidiu automatizar as balanças. Ai esta o problema.

            Com um sistema via web, rodando como uma pagina de web no desktop. 
O servidor remotamente distante. é possivel através da porta serial ler os 
dados vindo de uma balança ???

            Sei que em perl tem como ler a porta serial. Mas vou ler os dados e 
colocar em um form ? Isso é possivel. Eu consigo por exemplo ler um leitor de 
codigo de barras e jogar no form, pois é onde esta o foco. Mas sendo serial.... 
como proceder

            
        alguma sugestão ???


        Obrigado
        Ricardo Stock

------------------------------------------------------------------------
        =begin disclaimer
           Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
        SaoPaulo-pm mailing list: [email protected]
        L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
        =end disclaimer


--------------------------------------------------------------------------
      =begin disclaimer
         Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
      SaoPaulo-pm mailing list: [email protected]
      L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
      =end disclaimer


--------------------------------------------------------------------------
      =begin disclaimer
         Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
      SaoPaulo-pm mailing list: [email protected]
      L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
      =end disclaimer


      =begin disclaimer
        Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
      SaoPaulo-pm mailing list: [email protected]
      L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
      =end disclaimer




    =begin disclaimer
      Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
    SaoPaulo-pm mailing list: [email protected]
    L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
    =end disclaimer






  -- 

  Saravá,
  Renato CRON Santos
  http://www.renatocron.com/blog/
  @renato_cron





  =begin disclaimer
    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
  SaoPaulo-pm mailing list: [email protected]
  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
  =end disclaimer





--------------------------------------------------------------------------------
=begin disclaimer
   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
SaoPaulo-pm mailing list: [email protected]
L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
=end disclaimer
=begin disclaimer
   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
 SaoPaulo-pm mailing list: [email protected]
 L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
=end disclaimer

Responder a