puertos desde la web

download puertos desde la web

of 23

description

uso de puerto paralelo desde la webarticulo no propio. pero es interesante

Transcript of puertos desde la web

Tomado de: http://www.epanorama.net/circuits/parallel_output_es.htmlPor Fernando Campos

Control Web usando PHP y AJAX en sistemas WindowsA causa de varias peticiones he portado a Windows mi sistema Web de control de puertos usando PHP y AJAX. La versin Windows se basa en los siguiente componentes: Servidor Web capaz de correr PHP en un sistema Windows (Yo he usadoPortableWebApversin 3.2) Versin Windows de mi software de control de puertos (portcontrol.exe) El driverinpout32.dllrequerido por portcontrol.exe para poder controlar hardware en sistemas Windows NT/2000/XP Versin ligeramente modificada de mis scripts PHP Control Web usando PHP y AJAX. Las modificaciones requeridas son mayormente relacionadas con el diferente nombre de ejecutable (portcontrol vs. portcontrol.exe) y ruta al ejecutable (en la versin Windows el ejecutable se encuentra en el mismo directorio que el cdigo PHP)To use the package you need to do the following:Primero tiene que descargar la versin 3.2 dePortableWebApdehttp://www.epanorama.net/counter.php?url=http://portablewebap.com/. Se trata de un paquete software gratuito, aunque requiere que se registre para poder descargarlo. PortableWebAp es una plataforma portable para aplicaciones Web. Con ella se pueden correr aplicaciones Web desde un CDROM, DVD, lpiz USB y desde cualquier directorio de cualquier disco duro. No requiere instalacin. Escog este paquete por la simplicidad de la instalacin: simplemente descomprima el archivo .zip en el directorio desde el que quiere ejecutarlo. No requiere de instalacin ni configuracin. El tamao es de unos 5Mb. El servidor Web para Windows ms fcil de configurar que jams he visto! Puede instalarlo, por ejemplo, en el directorio C:\PortableWebAp3.2A continuacin, necesita descargar elinpout32 driverdehttp://www.epanorama.net/counter.php?url=http://www.logix4u.net/inpout32.htm. Descargue el archivo .zip que contiene el driver. Descomprmalo a un directorio vlido. Copie inpout32.dll a un directorio del sistema donde el sistema pueda encontrarlo. En mi sistema Windows 2000 este directorio es C:\WINNT\system32 directory (este directorio puede ser diferente si usa una versin diferente de Windows).El tercer componente que necesita es mi paquete con mi script PHP y el prontcontrol.exe. Descargue el paqueteWinPortControlAjax.zipAQU.nicamente descargue el archivo .zip. Cree un directorio llamado portcontrol dentro del directorio C:\PortableWebAp3.2\Program\www\localhost. Ahora descomprima el paquete en este directorio C:\PortableWebAp3.2\Program\www\localhost\portcontrolAhora ya tiene todas las partes necesarias para establecer el sistema. La parte siguiente es el testeo:Inicie PortableWebAp ejecutando el archivo portablewebap.exe en el directorio C:\PortableWebAp3.2. Esto iniciar el servidor Web y tambin su navegador. Si su ordenador tiene un cortafuegos, ste puede preguntarle si quiere que este programa pueda ejecutarse como servicio/servidor en su ordenador (permita esto). El navegador al iniciarse se dirige a la URL http://www.epanorama.net/counter.php?url=http://localhost:800/ . Escriba la direccin http://www.epanorama.net/counter.php?url=http://localhost:800/portcontrol/control.php en su navegador para acceder a la aplicacin de control de puertos. Ahora debera tener en la pantalla una aplicacin parecida a la que hemos visto antes en Linux.

Esto tambin funciona en Windows. Hay una desventaja en la forma que se implementa este sistema Windows. Puede ser que vea un flash intermitente en la pantalla del ordenador que corre el servidor. Esto es causado porque portcontrol.exe se inicia cada pocos segundos (iniciado por control.php cuando el navegador AJAX le pide una actualizacin del estado). Cada vez que se inicia portcontrol.exe, su consola Windows aparece (ve la consola Windows porque portcontrol.exe es una aplicacin de consola Windows) y se cierra una fraccin de segundo ms tarde.Ideas de modificaciones para la interfaz WebSe me ha preguntado muchas veces cmo preguntar otras clavijas en el puerto paralelo que no sean las clavijas de datos. Aqu hay algunas instrucciones que explican cmo modificar el cdigo fuente de la interfaz Web para hacer precisamente esto.El programa portcontrol que se encarga del control de puertos en nuestra interfaz ya suporta el control de muchas otras cosas aparte de las clavijas de datos del puerto paralelo. El ejemplo de cdigo en PHP control.php no suporta estas opciones. Si quiere usar estas opciones, tendr que modificar el cdigo fuente de control.php y cambiar la definicin del puerto en ste. Si quiere controlar tanto clavijas de datos como otras clavijas, seguramente sea una buena idea hacer una copia de control.php con otro nombre y hacer las modificaciones en l.Para hacer modificaciones abra el cdigo php de control de puertos y modifique las lneas siguientes:En sistemas Windows:return " Time: " . date("M dS, Y, H:i:s ") . "Estado: " . shell_exec("portcontrol.exe LPT1DATA read print bin");shell_exec("portcontrol.exe LPT1DATA read setbit " . $x . " write");shell_exec("portcontrol.exe LPT1DATA read resetbit " . $x . " write");En sistemas Linux:return " Time: " . date("M dS, Y, H:i:s ") . "Estado: " . shell_exec("/usr/local/sbin/portcontrol LPT1DATA read print bin");shell_exec("/usr/local/sbin/portcontrol LPT1DATA read setbit " . $x . " write");shell_exec("/usr/local/sbin/portcontrol LPT1DATA read resetbit " . $x . " write");Cambiando LPT1DATA por uno de los identificadores de puertos suportados, el control se llevar a cabo en se puerto: * Identificadores de puerto suportados * LPT1DATA * LPT1STATUS * LPT1HANDSHAKE * JOYSTICK * NONEPara controlar clavijas de puerto paralelo los puertos a usar son LPT1STATUS y LPT1HANDSHAKE.Controlando algunos sistemas electrnicos realesLa idea de la interfaz mostrada ms arriba se puede expander para controlar algunos dispositivos electrnicos externos simplemente aadiendo un circuito bfer al puerto paralelo. La programacin se llevara a cabo de la misma forma que hemos visto en mis ejemplos.Construyendo sus propios circuitos de control de relEl circuito siguiente es la interfaz ms simple que puede usar para controlar rel desde el puerto paralelo: Vcc | +------+ | __|__ Espiral /^\ Dodo 1N4002 de rel /---\ | | +------+ | | / 4.7K B |/ CClavija de control >-\/\/\/--| Transistor NPN: BC547A o 2N2222Ade datos del puerto paralelo |\ E | V |Clavija tierra >--------------+del puerto paralelo | SueloEl circuito puede ocuparse de rels que tomen corrientes de hasta 100mA y operen a 24V o menos. El circuito necesita una fuente de energa externa que tenga la salida de voltaje adecuada para el control del rel (5..24V en funcin del rel). El transistor se encarga del cambio de corriente y el dodo previene que picos de la espiral de rel daen a su ordenador (si no pone el dodo, el transistor y su ordenador se pueden daar).Como los espirales (solenoides y espirales de rel) tienen una cantidad de inductancia muy grande, cuando se liberan (cuando se corta la corriente) generan un poco de voltaje muy grande. La mayora de los diseos tienen un dodo o un circuito de palanca para impedir que esta subida de voltaje golpee al resto del circuito. Si el dodo es malo, el voltaje puede, con el tiempo, destruir su transistor de entierro o hasta su tarjeta de entrada/salida. El modo de fallo del transistor puede ser un cortocircuito y consecuentemente, tendra el solenoide acortado a tierra indefinidamente.El circuito tambin se puede usar para controlar otras cargas pequeas como LEDs potentes, lmparas y pequeos motores DC. Recuerde que los dispositivos que planee controlar directamente con el transistor deben tomar menos de 100mA de corriente.ADVERTENCIA: Compruebe y vuelva a comprobar el circuito antes de conectarlo a su PC. Usar componentes estropeados o inadecuados puede provocar que su puerto paralelo se estropee. Errores en la construccin del circuito pueden resultar en la prdida del puerto paralelo y obligarle a comprar una tarjeta multi-IO nueva. El dodo 1N4002 en paralelo con el rel es un componente esencial de proteccin y nunca debera ser dejado fuera del circuito o su puerto paralelo se puede ver daado a causa del gran pico de voltaje que provoca la alta inductancia del rel (el dodo se encarga de evitar este pico).Nuevo diseo ms seguroEl ejemplo de circuito detallado ms arriba es correcto y funciona bien. Si por alguna razn B y C tienen que ser juntados y est pidiendo ms de +5V por el lado del rel, el circuito puede enviar un voltaje as de alto y con ello daar el puerto paralelo. El circuito siguiente usa dos dodos 1N4148 para proteger el puerto paralelo de seales ms altas de +5V y tambin contra la polarizacin equivocada de las seales (la electricidad en el circuito est por error en la polaridad incorrecta).

Vcc | +------+ | __|__ Espiral /^\ Dodo 1N4002 de rel /---\ | | +------+ | Dodo | / 1N4148 4.7K B |/ CClavija de >-|>|-+--\/\/\/--| Transistor NPN: BC547A o 2N2222Adatos de puerto | |\ Eparalelo +-|-----------+------+puerto paralelo | Tierra

Idea para aadir an ms seguridad: Sustituya el dodo 1N4148 conectado a tierra con un dodo zener de 5.1V. Este dodo proteger de picos de sobrevoltaje y de voltaje negativo al mismo tiempo.Ejemplo de circuito mal diseadoNo s POR QU veo principiantes que an no PIENSAN muy bien la electrnica, pero an as insisten en poner el rel DESPUS del transistor, como si eso fuera algo importante. Pues NO lo es, de hecho, es una MALA PRCTICA si quiere que el puerto paralelo funcione bien! Este tipo de circuitos mal diseados se publican a menudo en los grupos de noticias de electrnica de usenet. EL circuito siguiente es un ejemplo de este tipo de circuitos mal diseados (no pruebe a construirlo): Vcc | | / 4.7K B |/ CPuerto paralelo---\/\/\/\/---| Transistor NPN: BC547A o 2N2222A |\ E | V | +------+ | __|__ Espiral /^\ Diode 1N4002 de rel /---\ | | +------+ | Tierra

NOTA: ste es un mal diseo. No pruebe a construirlo.El problema de este circuito es que el voltaje que va por el rel siempre se encuentra limitado a 4.5V, aunque use una fuente Vcc mayor. El circuito acta como un seguidor de emisor, lo que causa que el voltaje en el emisor siempre se encuentre en el valor base de voltaje base al emisor de voltaje (0.6..0.7V). Esto significa que con el mximo de 5.1V de voltaje controlado, obtendr un mximo de 4.5V sin importar cual sea el voltaje aportado (cuando sea mayor de 5V y por debajo, el transistor rompe el voltaje).Otro problema es que en algunos casos este circuito puede empezar a oscilar si la resistencia base se encuentra justo en el extremo.Circuito bsico con aislamiento pticoUno de los ejemplos ms simples de circuito de salida aislado pticamente es el siguiente circuito basado en 4N33:

El dispositivo de par ptico4N33tiene un transistor de salida Darlington que es capaz de conducir hasta 30mA de forma segura. El voltaje mximo en el lado de salida es de 30V. Uno conecta el lado de entrada + a la clavija de salida del puerto paralelo que quiere usar para el control. A continuacin, conecta el lado de entrada a la clavija tierra del puerto paralelo. El lado de salida se conecta al circuito para ser controlado con la polaridad correcta. En este circuito de ejemplo us una resistencia de 1Kohm para limitar el control de corriente (el circuito tambin debera funcionar bien con una resistencia de 470Ohm). Como la corriente que se sirve al par ptico es muy baja (slo unos mA), la corriente de salida del par ptico disponible garantida es baja. Puede esperar obtener algo parecido a una capacidad de conduccin de 10mA en la salida (puede que ms si tiene la suerte de tener un acoplador con alto CTR y un puerto paralelo con una alta corriente de salida). El circuito tambin se puede construir usando un par ptico 4N32 que es muy similar al 4N33.Datos del componente 4N33: El 4N32 y el 4N33 son aislantes acoplados pticamente con un LED infrarrojo de arseniato de galio y un sensor photodarlington de silicona. El intercambio se puede conseguir al mismo tiempo que se mantiene un alto nivel de aislamiento entre los circuitos de carga y de conduccin. Muy alto ratio de transferencia de corriente, mn. 500%. Alta resistencia de aislamiento Transmite corriente continua hasta un mximo de 60mA Rotura del voltaje del colector-emisor de salida a 30V. La salida puede conducir fcilmente una corriente de 50mA. Mximo de disipacin de energa por la salida de 150mW. Voltaje de testeo de aislamiento a 5300VLos datos del componente se han sacado de la tabla de datos obtenible enhttp://www.epanorama.net/counter.php?url=http://www.vishay.com/docs/83736/83736.pdf. Estos acopladores pticos se pueden usar para sustituir rels de caa o de mercurio con las consiguientes ventajas de larga vida, intercambio de alta velocidad y eliminacin de los campos magnticos.Circuito de acoplador ptico amplificado con transistorSi quiere tener una muy buena proteccin de su puerto paralelo y ms capacidad de conduccin puede considerar el aislamiento ptico usando un circuito de este tipo: V+ (12V) | +------------+ | +------+Puerto | | |Paralelo | D1 --- | | 1N4001 / \ Espiral de rel R1 1 ----------- 5 | /---\ | D(x) ----1k------| Opto- |-----+ | | | aislante | +------+ GND -------------| |-+ | 2 ----------- 4| | CNY 17 o | R2 | / 4N25 | 4.7K B |/ C T1 +--\/\/\/\/---| BC547A o 2N2222A |\ E | V | Tierra del circuito externo

Asignacin de clavijas tpica en un opto-aislante (CNY 17 y 4N25):

----------------------------- 1--|---- |------------|--6 | | | | | \---/ \ | ------ | | \ / \ | | / C | | | --- \ \| | |/ | | | | \ -- --| ---|--5 | | \| B |\ | 2--|---- -- | V E | | --------|--4 3--|--NC | -----------------------------El opto-aislante est all para proteger el puerto. Ntese que no hay conexiones entre las partes elctricas del puerto. El circuito est abastecido por una fuente de energa externa que no est conectada al PC si no hay necesidad de que sea as. Esta disposicin previene que alguna corriente en los circuitos externos pueda daar el puerto paraleloLa entrada del opto-aislante es un dodo emisor de luz. R1 se usar para limitar la corriente cuando la salida del puerto est activada. La resistencia de 1Kohm limita la corriente a alrededor de 3mA, lo que es ms que suficiente para la conduccin del transistor de salida.El lado de salida del opto-aislante es como un transistor, con el colector arriba de todo del circuito y el emisor abajo. Cuando se activa la salida (con la luz de entrada del LED interno del opto-aislante), la corriente fluye a travs de la resistencia dentro del transistor, encendindolo. Esto permite que la corriente fluya dentro del rel. La corriente de salida del opto-aislante con la entrada de corriente explicada arriba debera ser dentro del rango de 1-3mA. (depende del tipo exacto de opto-aislante y de la variacin de componentes). Esta corriente pasa a travs de R2 en direccin a la base transistor.Apagando la entrada en el puerto paralelo provoca que la salida del opto-aislante se apague, de forma que ni pasa ninguna corriente a travs de ste y hacia el transistor, de forma que ste ltimo tambin se apaga. Cuando el transistor est apagado, no pasa corriente por el rel y est tambin se apaga. El dodo nos ofrece una salida para la energa guardada en el espiral, previniendo as, que este devuelva parte de la corriente al circuito de forma indeseada.El transistor en el circuito se puede usar para controlar las cargas de salida hasta un mximo de alrededor de 100mA (depende un poco de los componentes y del voltaje de la operacin usada). La fuente de energa externa puede estar dentro del rango de 5V a 24V. Cuando use un rel que toma menos de estos 100mA de corriente y funcione con la fuente de energa que use, todo debera ir bien. La carga de salida que usted puede controlar con el circuito con un rel nicamente depende de los ratings de contacto de los rels de salida (mximo corriente y mximo voltaje).Este circuito tambin se puede usar directamente para controlar pequeas cargas (menos de 100mA de corriente). Simplemente coloque la carga que quiera controlar en el sitio del rel.Datos de componente de algunos de los componentes usados: 2N2222A: transistor NPN, caja T018, Vce=40V, Vcb=75V, Ic=800mA, Hfe=100-300, 300MHz, 500mW BC547A: transistor NPN en caja TO92, Vce=45V, Vcb=50V, Ic=100mA, Hfe=110-800, 300MHz, 625mW CNY17: Acoplador ptico con fototransistor de salida, CTR de 40% a 200% en funcin de la versin, aislamiento 4400 Vdc 4N25: Acoplador ptico con fototransistor de salida, CTR normalmente 50% (20% mnimo), aislamiento 2500V, entrada transmite adelante una carga mx. 80 mA, voltaje mx. de salida 30VCircuito de control aislado pticamente de alta energaAqu hay una versin de alta energa del circuito descrito ms arriba: V+ (12V) | +------------+-----+------+ | | |Puerto | | |paralelo | D1 --- | | 1N4001 / \ Espiral de rel R1 1 ----------- 5 | /---\ | D(x) ----1k------| Opto- |-----+ | | | aislante | +-----+------+ GND -------------| |-+ | | 2 ----------- 4| | | CNY 17 o | R2 | / | 4N25 | 4.7K B |/ C T1 | +--\/\/\/\/---| BC547A | | |\ E | | | V | / / | B |/C T2 \ R3 +----------| power / 10 kohm |\E transistor \ | v | | +----------------------------+ | Tierra del circuito externoEn este circuito Q1 se usa para controla la base de corriente de Q1, quien controla la corriente en s misma. Puede seleccin prcticamente cualquier transistor para este circuito mientras cumpla sus necesidades de corriente y voltaje. Algunas alternativas a modo de ejemplo son TIP41C (6A 100V) o 2N3055 (100V 15A). En funcin de su factor heredado de amplificacin al transistor Q1, puede que no sea posible usar toda la capacidad de corriente de su dispositivo de salida T2 antes que haya demasiadas perdidas (calor) en este transistor.Este circuito es bsicamente una modificacin muy simple del circuito aislante ptico original con un transistor. La diferencia en este circuito es que en este caso T2 controla la carga de corriente y Q1 acta como un amplificador para el control de corriente base de T2. Los aislantes pticos R1, R2, Q1, D1 funcionan exactamente de la misma forma que en el circuito de un transistor descrito anteriormente en este documento. R3 acta como una resistencia extra que garantiza que T2 no conduce cuando no se le da seal al aislante ptico (impide que T1 y T2 conduzcan a causa de un pequeo escape de corriente de la salida del aislante ptico).Control de la red de suministro de energa con puertos paralelosEs posible controla el voltaje de la red de