¿encender el cable físico desde linux?

2

¿Cómo puedo conectar energía a algunos cables [posiblemente conectados a través del puerto serie?], usando un script? Yo uso Ubuntu. Quiero programar una hora [usando cron] para automatizar encender algo, por ejemplo, un LED, un pequeño motor, algo así. Solo necesito la energía para continuar cuando ejecuto el comando, y puedo usar un transistor o lo que sea para obtener más energía.

¿Cómo puedo hacerlo? Mi computadora portátil no tiene un puerto serie, pero puedo obtener un adaptador de usb a serie.

    
pregunta Matt

4 respuestas

4

¿Qué es el algo que quieres activar? Dijo LED en su pregunta, pero luego dijo algo en la pregunta. :) Solo pregunto porque un LED frente a un solenoide puede tener requisitos de energía muy diferentes. ¿Hay un presupuesto en mente? ¿Quieres algo llave en mano?

Iba a recomendar probar el TI Launchpad , que le brinda un micro con un poco de E / S, además de un adaptador USB a serie incorporado, y es compatible con Linux, por un $5 . El precio es tan bueno, es increíble. Y las herramientas son gratuitas. Pero si desea hacer algo que requiera más corriente que un LED encendido con un comando en serie enviado a través de cron a través de Linux, entonces tendrá que conectar componentes adicionales para que funcione.

Si no tiene mucho presupuesto y desea algo que parece que funcionaría de inmediato, eche un vistazo a este módulo de Phidgets para ver si es lo suficientemente fácil para trabajar en Linux. Proporcionan un montón de código fuente y tienen controladores de Linux disponibles.

También hay otra opción obvia, Arduino, que por lo que he leído funciona en Linux. Simplemente no soy un fanático de las herramientas, ni el precio en comparación con el Launchpad.

EDITAR - un comentario totalmente no relacionado que tuve que compartir - hoy quería obtener más de las encabezados femeninos para el Launchpad de Digikey. Bueno, los dos encabezados cuestan $ 1 cada uno. Terminé comprando otro Launchpad, porque obtendría ambos encabezados, así como un cable USB, la placa de desarrollo y un MSP430G2 adicional por 3 dólares adicionales. En serio, TI? :)

EDITAR (en relación con el adaptador USB a serie): en realidad me cuesta mucho obtener información de que esto funciona en el Launchpad. Desde esta publicación , parece que es posible, pero soy un poco Confundido porque algunas respuestas hablan del ez430, en lugar del Launchpad. Definitivamente tengo la aplicación UART MSP430 en mi Administrador de dispositivos, pero no he intentado usarla de ninguna manera. Intentaré jugar con esto la próxima semana para ver si realmente funciona.

    
respondido por el Dave
4

Si solo desea cambiar un solo LED, la programación de un microcontrolador es excesiva. Use un adaptador serial USB > y active el pin DTR o RTS usando la API serial de su lenguaje de scripting. (Recomiendo Python + pySerial, pero cada lenguaje convencional tendrá alguna forma de direccionar puertos seriales). Esto solo proporcionará unos pocos mA, probablemente lo suficiente como para encender un LED. Puede obtener más corriente agregando un transistor. Los detalles de eso están fuera del alcance de esta pregunta.

editar: para ubuntu, primero instale pyserial:

sudo apt-get install python-serial

Luego intente algo como lo siguiente:

#!/usr/bin/python

import serial

s=serial.Serial('/dev/ttyUSB0')
s.setDTR(1)
    
respondido por el markrages
2

Conecte una MCU adecuada con USB, como un PIC18F2455, a la computadora portátil a través del puerto USB. Conecte un LED al PIC y escriba algún software para controlarlo a través de un programa Linux que se ejecuta en la computadora portátil. He hecho algo parecido que funciona con un programa de Windows, basado en el trabajo de Brad Minch. Aquí hay detalles sobre cómo compilar el código para el PIC y Windows, y detalles sobre el hardware del PIC, incluido dónde comprar el PCB que diseñé. Solo necesitas escribir algún software de Linux similar al código de Windows. Se puede hacer mucho más con este hardware que simplemente encender un LED, por supuesto, ya que se proporciona un área de creación de prototipos considerable.

La forma más sencilla y económica de hacerlo es emitir un tono desde el puerto de auriculares de la computadora portátil, amplificarlo (un solo transistor) y rectificar la señal amplificada, y usarla para controlar un LED a través de otro transistor. Esto debería costar menos de $ 1 para construir. Al generar diferentes frecuencias y detectarlas, es posible un control más complejo.

    
respondido por el Leon Heller
1

¿Es esto lo que estás buscando? Utiliza la línea de handshake del puerto serie. También tiene código en C para Linux & Windows para controlarlo.

    
respondido por el lyndon

Lea otras preguntas en las etiquetas