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 <[email protected]> > 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 <[email protected]> > *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 <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 >>> <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%203021-1530> / 27 9839 >>>> 3755 >>>> >>>> WEB2 Solutions - Inovando, sempre! >>>> >>>> *From:* Eduardo Almeida <[email protected]> >>>> *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%203021-1530> / 27 9839 >>>> 3755 >>>> >>>> WEB2 Solutions - Inovando, sempre! >>>> >>>> *From:* Ricardo Stock <[email protected]> >>>> *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 <[email protected]> >>>> *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 <http://twitter.com/#!/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 > >
=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
