Interface Web para Controle da Porta Paralela (LINUX)

Salve, pessoal! Nesse post de hoje quero compartilhar um projeto que fiz há uns oito anos atrás… rs um pouco “velho”, portanto, em termos de tecnologia. Além disso, claro, eu o estou compartilhando aqui na exata mesma versão de então (a última alteração consta de 18 de abril de 2007), existem alguns problemas nele de desempenho e certamente que hoje eu já não o faria da mesma forma, mas ele é ótimo para quem quiser se divertir um pouco com um PC e uma porta paralela. Até hoje esse sistema está disponível nos servidores do Robótica Livre, um projeto do professor Danilo César, que à época interessou-se em disponibilizar o sistema em seu site.

Importante! Leia o AVISO contido no final dessa postagem.

O sistema é web, isto é, o usuário acessa através de um navegador, uma página completamente simples, e controla o status dos bits do registrador de dados da porta paralela, onde os sinais variam de 0 a 5V (nivel lógico baixo – zero – e alto – um -, respectivamente). Seguem algumas screenshots (feio pra caramba.. haha):

lpt1

lpt2  lpt3

Mas é isso. Vamos lá!

 

Um pouco sobre porta paralela

A porta paralela possui três registradores: dados, controle e status. Desses, apenas o registrador de dados tem correspondência física nos pinos da porta paralela de todos os seus 8 bits, e pode funcionar como entrada e saída. Os outros (também são de 8 bits) têm apenas algumas correspondências, e o de controle funciona apenas como saída, e status apenas como entrada. Não vou me aprofundar nesses registradores, porque em nosso sisteminha apenas utilizamos o registrador de dados, na sua configuração padrão (como saída). Mais informações sobre a porta paralela e seus registradores você pode encontrar no site rogercom.com (esse artigo de lá foi uma base didática para mim à época, apenas fiz adaptações para usar no linux). Vou utilizar aqui algumas imagens do rogercom.com, e recomendo que você visite o site e aproveite o excelente conteúdo disponível por lá.

Esse é um esquema da pinagem do DB25:

Projeto3

Como dá pra perceber, os pinos de 2 a 9 são correspondentes aos 8 (oito) bits do registrador de dados da porta paralela. Os pinos de 18 a 25 são todos GND (isto é, ground, id est, terra, ou seja, NEGATIVO.. rs). É recomendável que, quando montar o circuito do nosso projeto, você utilize todos os pinos de GND do DB25, por uma questão de distribuição da corrente, para não sobrecarregar nenhum deles.

 

O que você vai precisar

– Um servidor Apache e o PHP rodando na sua máquina (veja sobre isso aqui)

– Uma máquina com porta paralela (por quê será?? rs)

– Uma implementação de hardware (veja abaixo)

 

Uma implementação de hardware

Quando montei esse projeto (na verdade ainda tenho guardado isso em algum lugar…) foi um pouco diferente do que será mostrado aqui. Vou aqui compartilhar os circuitos sugeridos pelo rogercom.com mesmo. Se você apenas quer montar um circuitinho para ver que a paradinha funciona, monte apenas um circuito com 8 leds para que você possa visualizar o byte do registrador de dados, como esse:

Projeto4

Caso você queira, por exemplo, controlar realmente lâmpadas, ventiladores, aparelhos de som, cafeteira, enfim, equipamentos elétricos de sua residência – ligar e desligar apenas, claro -, você pode montar um circuito com um buffer para proteger a porta paralela, e adaptação de potência com transistores e relés para controlar uma carga de, digamos, até 10 ou 20 ampères (depende da corrente suportada pelos contatos do relé que você utilizar). É possível (e no meu projeto eu fiz isso) usar o mesmo CI (circuito integrado) que é buffer, como adaptação de potência para acionar diretamente o(s) relé(s) em 12V, dispensando o uso dos transistores (o BD137, que é utlizado aí). No entanto, vou ficar devendo esse circuito no momento (prometo encontrar meu projeto velho e compartilhar aqui fotos dele e os esquemáticos), e vou usar nesse post o circuito sugerido pelo mestre Antônio Rogério Messias:

Projeto2

As instruções para instalação do “LTP Web Controller” (apelido que dei pro projeto.. rs) estão contidas no arquivo README, o qual transcrevo:

 

PARA FAZER FUNCIONAR O LPT Web controller # 29-Novembro-2006
============================================================

ultima alteracao: 18/04/2007

1. Extraia o pacote em seu diretório Web (“public_html”, por exemplo);
2. Mude o dono do arquivo fazer.txt para o usuario do servidor web (no meu caso, é “www-data”; para descobrir se o seu também é, digite “$ cat /etc/passwd | grep www”).
Para mudar o dono do arquivo, digite (no diretorio lpt/):

$ sudo chown nome_de_usuario_do_servidor_web fazer.txt

Se o usuario do servidor web for www-data, como o meu, fica:

$ sudo chown www-data fazer.txt

3. Inicie a execução do daemon com o comando (no diretório “lpt”):

$ sudo ./daemon

4. Se quiser deixar o daemon rodando em ‘background’, digite o comando e mais o
&, como abaixo:

$ sudo ./daemon &

5. E pronto! Acesse depois a página e boa sorte!

Qualquer problema entre em contato!!!

Jéter Vaz – jetervaz (a) gmail.com
https://jetervaz.wordpress.com

 

Baixe o LTP Web Controller aqui (clique com o botão direito e vá em “Salvar link como”): lpt.tar.gz

Duvídas? Fique à vontade para usar os comentários para questionamentos, tentarei responder assim que possível.

AVISO! Se você decidir montar esse projeto, FAÇA POR SUA PRÓPRIA CONTA E RISCO! Tenha responsabilidade de ter alguma noção do que está fazendo, e mentalize que esse sistema é completamente inseguro e apenas tem finalidade didática.

Anúncios

3 Respostas

  1. Carlos Alberto Pereira | Responder

    Ola Jéter, tudo bem?
    Estou precisando fazer um trabalho para a faculdade e acho que seu artigo é o que estou procurando, porém o arquivo lpt.tar.gz esta corrompido. Você poderia por gentileza enviar para o meu email (cmlmt05@yahoo.com). Agradeço muito pela atenção e pelo excelente artigo. Obrigado

    1. Opa! Vamos dar um jeito nisso, já, Carlos! Desculpe a demora. Estou ajustando o link e também enviando para o seu email. Abraço!

  2. Ola… tentei fazer o download nas ta fora do ar… se possivel enviar para marcus_kress@yahoo.com.br eu agradeço. Obrigado

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: