No me refiero al lanzamiento que fue hace tanto tiempo, me refiero a que ya vino a mi casa el pedido que hice.
Esta vez no tardaron tanto!!! los 2 cd's de Ubuntu que pedí ahora si me los mandaron a tiempo. Aunque ya había descargado la imagen desde el día del lanzamiento, estos me van a servir para regalar libertad.
lunes, 12 de noviembre de 2007
domingo, 11 de noviembre de 2007
Controlar leds desde el puerto paralelo con Java
Esta es una pequeña guía de como enviar información a algún dispositivo a través del puerto paralelo.
Primero que todo tenemos que instalar la javacomm API
El gran dispositivo al que le quiero mandar información es un protoboard con 8 leds para que se enciendan cuando mande un 1 y se apaguen cuando mande un 0.
La construcción en el protoboard es muy sencilla:
Los pines 2-9 que son los del registro de 8 bits, los conectamos al lado positivo del los leds con una resistencia de 470 ohms el pin 25 a todas las patitas negativas de los leds, los pines 10-11 a tierra de una fuente externa y los pines 12, 13, 15 los conectamos a +5v de una fuente externa, estos son pines de estado, y lo que indican es que todo esta normal, para poder enviar los datos. Si no conectamos estos pines así, la API asumirá que hay algún problema y no se enviaran los datos, se quedara la aplicación congelada, en espera que cambie a estado normal. El programa para controlar los leds es este:
Actualización: Este es el diagrama del circuito, solo puse 3 leds, en realidad pueden ser 8 del pin 2 al 9.
Primero que todo tenemos que instalar la javacomm API
El gran dispositivo al que le quiero mandar información es un protoboard con 8 leds para que se enciendan cuando mande un 1 y se apaguen cuando mande un 0.
La construcción en el protoboard es muy sencilla:
Los pines 2-9 que son los del registro de 8 bits, los conectamos al lado positivo del los leds con una resistencia de 470 ohms el pin 25 a todas las patitas negativas de los leds, los pines 10-11 a tierra de una fuente externa y los pines 12, 13, 15 los conectamos a +5v de una fuente externa, estos son pines de estado, y lo que indican es que todo esta normal, para poder enviar los datos. Si no conectamos estos pines así, la API asumirá que hay algún problema y no se enviaran los datos, se quedara la aplicación congelada, en espera que cambie a estado normal. El programa para controlar los leds es este:
import java.io.*;Lo iomprtante en este programa es la linea:
import java.util.*;
import javax.comm.*;
/**
*
* @author juls
*/
public class PruebaLeds {
static CommPortIdentifier idPort;
static ParallelPort pPort;
static OutputStream salida;
private static void iniciarPuerto(String nombrePuerto) throws Exception {
try {
idPort = CommPortIdentifier.getPortIdentifier(nombrePuerto);
pPort = (ParallelPort) idPort.open("Control de Puertos en Java", 0x378);
salida = pPort.getOutputStream();
} catch (Exception e) {
throw new Exception(e.getMessage() + "\n\nLa aplicación se cerrará.");
}
}
public static void main(String args[]) {
try {
iniciarPuerto("/dev/parport0");
System.out.println("Puerto iniciado ...");
System.out.println("Preparandose para escribir en el puerto ...");
salida.write(255);
salida.close();
System.out.println("Escritura sobre el puerto exitosa.");
} catch (Exception e) {
System.out.println(e.getMessage());
System.exit(1);
}
}
}
salida.write(255);porque aqui es donde ponemos el numero que queremos escribir, 255 es en mayor numero que podemos enviarle ya que solo puede escribir 8 bits, con 255 encenderian los 8 leds.
Actualización: Este es el diagrama del circuito, solo puse 3 leds, en realidad pueden ser 8 del pin 2 al 9.
Instalacion de Java Communications API en Linux
javacomm API sirve para comunicarse con dispositivos externos a través del puerto paralelo o serial desde aplicaciones Java, esta disponible para Windows, Linux, Solarias. Estos son los pasos para instalarla y usarla en Linux:
Primero hay que copiar libLinuxSerialParallel.so a /usr/lib
Ahora hay que poner el comm.jar en nuestro classpath, si estamos usando algún IDE lo agregamos en las librerías que usa el proyecto o si no simplemente:
Fuente: http://java.sun.com/products/javacomm/
http://tuxtor.shekalug.org/?p=75
Primero hay que copiar libLinuxSerialParallel.so a /usr/lib
Ahora hay que poner el comm.jar en nuestro classpath, si estamos usando algún IDE lo agregamos en las librerías que usa el proyecto o si no simplemente:
export CLASSPATH=$CLASSPATH:commapi/jar/commPor ultimo copiamos el archivo javax.comm.properties a: JDK/jre/lib. Con esto quedaría instalada la API para poderla usar, podemos probar con este ejemplo, que detecta los puertos disponibles:
import javax.comm.*;
import java.util.Enumeration;
public class Main {
public static void main(String args[]) {
Enumeration ports =
CommPortIdentifier.getPortIdentifiers();
while (ports.hasMoreElements()) {
CommPortIdentifier port =
(CommPortIdentifier)ports.nextElement();
String type;
switch (port.getPortType()) {
case CommPortIdentifier.PORT_PARALLEL:
type = "Paralelo"; //Se ejecuta si el puerto es paralelo
break;
case CommPortIdentifier.PORT_SERIAL:
type = "Serial"; //Se ejecuta si el puerto es serial
break;
default:
type = "Desconocido/Error"; //No deberia de suceder o el puerto esta dañado
break;
}
System.out.println("Nombre del puerto: "+port.getName() + " - " + type);
}
}
}
Fuente: http://java.sun.com/products/javacomm/
http://tuxtor.shekalug.org/?p=75
jueves, 1 de noviembre de 2007
Instalar Turboprint en Sabayon
En Ubuntu uso Turboprint para imprimir con mi PIXMA iP1600 aunque solo se puede imprimir a baja calidad con la versión de prueba pero me funciona muy bien.
Estos son los pasos para instalar Turboprint en Sabayon:
Después de esto sale que hay que actualizar un config file:
Entonces ejecutamos el siguiente comando:
Ahora hacemos Sync con el siguiente comando:
Ahora:
y ya podemos hacer emerge:
Con esto ya tendríamos instalado Turboprint ya solo hay que configurarlo y ponerlo en calidad baja(300dpi) para que no imprima el sello de Turboprint o pagar casi $40 por una versión completa, jajaja
Para configurar Turboprint:
Estos son los pasos para instalar Turboprint en Sabayon:
emerge layman
Después de esto sale que hay que actualizar un config file:
IMPORTANT: 1 config files in '/etc' need updating.
* See the CONFIGURATION FILES section of the emerge
* man page to learn how to update config files.
Entonces ejecutamos el siguiente comando:
etc-update
Ahora hacemos Sync con el siguiente comando:
layman -S
Ahora:
layman -a xwing
y ya podemos hacer emerge:
emerge -av turboprint
Con esto ya tendríamos instalado Turboprint ya solo hay que configurarlo y ponerlo en calidad baja(300dpi) para que no imprima el sello de Turboprint o pagar casi $40 por una versión completa, jajaja
Para configurar Turboprint:
tpsetup
Suscribirse a:
Entradas (Atom)