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

Lucas Mateus lucasmateus.oliveira at gmail.com
Wed Feb 1 20:04:33 PST 2012


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 <lucasmateus.oliveira em gmail.com>
> *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%203021-1530> / 27 9839
>>> 3755
>>>
>>> WEB2 Solutions - Inovando, sempre!
>>>
>>>  *From:* Daniel Vinciguerra <dan.vinciguerra em gmail.com>
>>> *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 <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
>>>>>  <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%203021-1530> / 27
>>>>>> 9839 3755
>>>>>>
>>>>>> WEB2 Solutions - Inovando, sempre!
>>>>>>
>>>>>>  *From:* Eduardo Almeida <eduardo em web2solutions.com.br>
>>>>>> *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%203021-1530> / 27
>>>>>> 9839 3755
>>>>>>
>>>>>> WEB2 Solutions - Inovando, sempre!
>>>>>>
>>>>>>  *From:* Ricardo Stock <ricardostock em bol.com.br>
>>>>>> *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 <ricardostock em bol.com.br>
>>>>>> *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 <http://twitter.com/#!/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
>
>
-------------- Pr�xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20120202/faabe222/attachment-0001.html>


More information about the SaoPaulo-pm mailing list