[SP-pm] Porta serial via web. é possivel ??

Eduardo Almeida eduardo at web2solutions.com.br
Wed Feb 1 21:20:43 PST 2012


Com certeza algo em C é bem mais low level do que usar uma dll. Que bom que você achou engraçado, rir é bom.

Eduardo Almeida - Engenharia de Software
eduardo em web2solutions.com.br - 27 3021-1530 / 27 9839 3755

WEB2 Solutions - Inovando, sempre!

From: Lucas Mateus 
Sent: Thursday, February 02, 2012 2:59 AM
To: saopaulo-pm em mail.pm.org 
Subject: Re: [SP-pm]Porta serial via web. é possivel ??

Hahaha "soluções mais low level" foi boa, pagou a madrugada hehehehe. 



2012/2/2 Eduardo Almeida <eduardo em web2solutions.com.br>

  Existem empresas e empresas. Metodologias e metodologias. Em alguns lugares, existem coisas como homologação, o que logo esbarraria na possibilidade de comprar uma balança na esquina.

  Não estou criticando sua solução, nem muito menos mandando alguem escrever uma api nova, acho válido procurar fabricantes que forneça e pronto, há inclusive solucoes mais low level, nao so activex ...




  Eduardo Almeida - Engenharia de Software
  eduardo em web2solutions.com.br - 27 3021-1530 / 27 9839 3755

  WEB2 Solutions - Inovando, sempre!

  From: Lucas Mateus 
  Sent: Thursday, February 02, 2012 2:04 AM
  To: saopaulo-pm em mail.pm.org 
  Subject: Re: [SP-pm]Porta serial via web. é possivel ??

  O dia que der problema na balança o cara vai correr na esquina comprar outra balança que ao invés de mandar o buffer redondo manda quadrado e ele vai querer espetar e funcionar o negócio. 

  Ai vai o cara la acessar todos os recursos e blablablabla pra fazer um "modulo" de leitura para a nova balança.
  É vai fácil limpar os 2 (ou 3 nao lembro) promeiros bytes pegar a sequência númerica e converter.

  Se o valor é 250 nao pode ser kg so pode ser gramas. (isso para uma balança de mesa)


  2012/2/2 Eduardo Almeida <eduardo em web2solutions.com.br>

    “A única coisa chata é que tem balança que envia o peso em Kg outras em gramas. E a app web era Perl.”

    Tendo acesso à todos os recursos do equipamento, muito provavelmente vc conseguiria recuperar informacoes como modelo, tara, unidade de medida, etc .... e usálos como parâmetros nesses casos ....

    É onde eu digo, nem sempre o peso é tudo que se precisa ...

    My cents

    Eduardo Almeida - Engenharia de Software
    eduardo em web2solutions.com.br - 27 3021-1530 / 27 9839 3755

    WEB2 Solutions - Inovando, sempre!

    From: Lucas Mateus 
    Sent: Thursday, February 02, 2012 1:30 AM
    To: saopaulo-pm em mail.pm.org 
    Subject: Re: [SP-pm]Porta serial via web. é possivel ??

    A única coisa chata é que tem balança que envia o peso em Kg outras em gramas. E a app web era Perl. 



    Em 2 de fevereiro de 2012 01:28, Lucas Mateus <lucasmateus.oliveira em gmail.com> escreveu:

      Trabalhei numa empresa de Logística e la utilizamos algo semelhante para pesar os pacotes, os desktops eram Ubuntu então o que fizemos foi um programa em C que lia a seria chamava o buffer do teclado e escrevia os números se a tela de foco tive o Title XPTO que era nossa tag <title> do HTML. 

      Para isso funcionar bem o formulário tem sempre que manter o foco no campo de pesagem, funcionava muito bem isso.



      2012/2/2 Eduardo Almeida <eduardo em web2solutions.com.br>

        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
        eduardo em web2solutions.com.br - 27 3021-1530 / 27 9839 3755

        WEB2 Solutions - Inovando, sempre!

        From: Daniel Vinciguerra 
        Sent: Wednesday, February 01, 2012 10:55 PM
        To: saopaulo-pm em mail.pm.org 
        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 <renato.cron em gmail.com> 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 <dan.vinciguerra em gmail.com>

            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 <eduardo em web2solutions.com.br> 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
              eduardo em web2solutions.com.br - 27 3021-1530 / 27 9839 3755

              WEB2 Solutions - Inovando, sempre!

              From: Eduardo Almeida 
              Sent: Wednesday, February 01, 2012 8:41 PM
              To: saopaulo-pm em mail.pm.org 
              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
              eduardo em web2solutions.com.br - 27 3021-1530 / 27 9839 3755

              WEB2 Solutions - Inovando, sempre!

              From: Ricardo Stock 
              Sent: Wednesday, February 01, 2012 9:28 PM
              To: saopaulo-pm em mail.pm.org 
              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: saopaulo-pm em pm.org 
                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: SaoPaulo-pm em pm.org
                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: SaoPaulo-pm em pm.org
              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: SaoPaulo-pm em pm.org
              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: SaoPaulo-pm em pm.org
              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: SaoPaulo-pm em pm.org
            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: SaoPaulo-pm em pm.org
          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: SaoPaulo-pm em pm.org
        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: SaoPaulo-pm em pm.org
        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: SaoPaulo-pm em pm.org
    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: SaoPaulo-pm em pm.org
    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: SaoPaulo-pm em pm.org
  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: SaoPaulo-pm em pm.org
  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: SaoPaulo-pm em pm.org
L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
=end disclaimer
-------------- Pr�xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20120202/ba3c86b0/attachment-0001.html>


More information about the SaoPaulo-pm mailing list