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

Lucas Mateus lucasmateus.oliveira at gmail.com
Wed Feb 1 19:28:26 PST 2012


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 <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
>
>
-------------- Pr�xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20120202/bc0a3c9e/attachment-0001.html>


More information about the SaoPaulo-pm mailing list