Navegación
Proyectos
Inicio de sesión
Datos Extras
Coundown Ubuntu
Lector de Códigos DataMatrix (Software Nuevo)
sebest — Jue, 01/28/2010 - 01:56
"Datamatrix, o codificación de datos 2D, es un nuevo sistema industrial de codificación bidimensional que permite la generación de un gran volumen de información en un formato muy reducido, con una alta fiabilidad de lectura gracias a sus sistemas de información redundante y corrección de errores (legible hasta con un 20%-30% dañado). Además no es necesario un alto contraste para reconocer el código. El código está formado por celdas de color blanco y negro (perforadas o no perforadas en el caso de la micropercusión) que forman una figura cuadrada o rectangular. Cada una de esas celdas representa un bit de información. La información puede estar codificada como texto o datos en bruto." cita: Wikipedia
Para poder leer estos códigos es necesario un lector, y como la verdad no tengo idea si esto se puede comprar en argentina, decidimos crear uno nosotros mismos.
Para este post lo único que vamos a necesitar es una webcam usb y un bulk de CD/DVD. Es posible que a los lectores en este momento este post les resulta un poco ecologista, pero no era la idea, simplemente salio así, A RECICLAR!!!! jajaja
Tomamos el bulk de CDs, y le quitamos lo más prolijamente el palito central. Luego con algún pegamento pegamos la cámara en la base del bulk (nosotros la pegamos en el medio pero el campo de visión es mucho mayor si la pegamos cerca de un borde. También hay que hacer un pequeño corte en el plástico con el que se cierra el bulk para que pueda pasar el cable de la webcam.
Por último abrimos algún software con el que podamos ver las imágenes de la cámara y ajustamos el foco, hasta que haga foco en el plástico de afuera. Luego le pegamos con cinta de papel, todo al borde del campo visual de la cámara para usarlo de referencia. Una buena idea es enmascarar por dentro con cinta de papel el campo visual de la cámara y después pintar, también por dentro todo el plástico con aerosol negro.
Con esto ya tenemos nuestro lector ahora es necesario instalar algún driver que permita usar la webcam como un lector, para poder integrar esto a cualquier cosa. Esto es claramente una desventaja, pero comparando costos se justifica mucho!!!
Las malas noticias son que no existe tal driver, sin embargo, ya estoy escribiendo uno, y estará posteado acá próximamente. Sin embargo para lo que ya quieren probar esto, se pueden descargar de los repositorios de ubuntu una librería para decodificar y codificar estos codigos (libdmtx) o desde este link se puede descargar para multiplataforma http://www.libdmtx.org/, es necesario instalar opencv además.
Programa para codificar y decodificar
Tengo hecho un inventario que interactúa con códigos data matrix. Permite decodificar los códigos directamente desde la webcam.
programa para codificar y decodificar codigos datamatrix. Permite decodificar codigos directamente con la webcam como un escaner.
Además el programa es un inventario que se conecta a una base de datos Mysql.
Requerimientos: Mysql, libdmtx y opencv
/*
program to encode and decode Data Matrix. Allows decoding codes directly to the webcam as a scanner.
In addition the program is an inventory that is connected to a Mysql database.
Requirements: Mysql, libdmtx and opencv
*/
Screenshots



Descarga
Base de datos Mysql
-- MySQL Administrator dump 1.4
--
-- ------------------------------------------------------
-- Server version 5.1.37-1ubuntu5
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
--
-- Create schema diputados
--
CREATE DATABASE IF NOT EXISTS diputados;
USE diputados;
--
-- Definition of table `diputados`.`areas`
--
DROP TABLE IF EXISTS `diputados`.`areas`;
CREATE TABLE `diputados`.`areas` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`area` varchar(45) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1;
--
-- Dumping data for table `diputados`.`areas`
--
/*!40000 ALTER TABLE `areas` DISABLE KEYS */;
LOCK TABLES `areas` WRITE;
INSERT INTO `diputados`.`areas` VALUES (7,'BLOQUE UCR'),
(6,'BLOQUE PJ'),
(5,'BLOQUE PS'),
(4,'TESORERIA'),
(1,'INFORMÁTICA'),
(3,'CEREMONIAL'),
(2,'MESA DE ENTRADA'),
(8,'COMEDOR');
UNLOCK TABLES;
/*!40000 ALTER TABLE `areas` ENABLE KEYS */;
--
-- Definition of table `diputados`.`inventario`
--
DROP TABLE IF EXISTS `diputados`.`inventario`;
CREATE TABLE `diputados`.`inventario` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`producto` varchar(45) NOT NULL,
`alta` date NOT NULL,
`area` int(11) NOT NULL,
`detalle` text,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=171 DEFAULT CHARSET=latin1;
--
-- Dumping data for table `diputados`.`inventario`
--
/*!40000 ALTER TABLE `inventario` DISABLE KEYS */;
LOCK TABLES `inventario` WRITE;
UNLOCK TABLES;
/*!40000 ALTER TABLE `inventario` ENABLE KEYS */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
- Inicie sesión o regístrese para enviar comentarios









Muy buena esta libreria
Turkos — Lun, 02/01/2010 - 11:21La verdad que está muy buena esta librería, todavía esta tecnología no está popularizada en el mundo occidental, pero ya se va a empezar a ver.