Este proyecto fue concebido como un regalo para mi amigo Chris Lasher para conmemorar su movimiento y comienza un programa de posgrado en Bioinformática. Chris estará haciendo un montón de programación y es un adherente de pragmática y ágil programación, uno de los principios de que es la unidad de prueba. Mientras se ejecutan las pruebas de unidad de un programa, es bueno saber si están logrando o no, y que es predominante. Famoso, algunos programadores pragmáticos hizo un sistema de retroalimentación mediante el control de tamaño completo de lámparas de lava de una unidad de prueba marco tapando algunos dispositivos de control dispositivos caseros (les costó sobre $60). Las lámparas les permitieron ver si estaban pasando por pruebas o en su defecto, y el gradual calentamiento de una lámpara les permitió ver que los acontecimientos eran predominantes. Esta es una idea fresca, pero yo quería hacer Chris algo que:
1) control de dos lámparas de lava pequeñas con USB,
2) apagado de lujo portátil de Chris e interfaz vía USB (no puertos heredados en equipos más nuevos, especialmente laptops),
3) sería un poco más caseras y hacker,
4) le asignan más barato.
Relés de conducción desde un USB al convertidor de puerto serie parece ser una solución sencilla. Hay muchos circuitos disponibles en línea para proyectos de control de puerto serie. Un excelente proyecto que adapté fue en http://www.windmeadow.com/node/4. Por desgracia, casi todos USB a dispositivos seriales no permiten poco bajo nivel golpeando (la manualmente conmutar de líneas de control) que se requiere para utilizar estos circuitos. Otro enfoque sería comprar un circuito de interfaz USB, o construir uno desde un microcontrolador. De cualquier manera, el proyecto requeriría una gran cantidad de código del microcontrolador y conductores (incluso usando los drivers de interfaz humano preexistente o un controlador prefabricado).
Decidí solucionar este problema con un teclado USB rescatado, ya que son relativamente baratos y todo lo que se necesita para tres simples en contienen/apagado salidas, en forma de número, mayúsculas y Bloq Despl LED. En Linux existen una serie de mecanismos para cambiar el LED de un programa o línea de comandos (uno incluso es referencia en Cryptonomicon). Ser es el más simple y viene preinstalado en casi todas las máquinas, ledd se basa en un modelo cliente-servidor, e incluso hay un módulo en el lenguaje de programación Ruby . Windows y sistemas operativos de Mac y otros lenguajes de programación, deben tener mecanismos comparables - publicarlos en los comentarios si sabes como cambiar teclado de LEDs en otros OSs o lenguajes de programación!
Le di a Chris su presente, y ahora no puede ver sólo si pasan sus pruebas de unidad, todos los programadores en su nuevo Departamento pueden saber lo que un fabricante de bricolaje es.