Controlar Led's por Serial

Requerimientos

  • 2 Leds
  • 2 Resistencias
  • 1 Conector hembra para Com1
  • Paquetes
    • python
    • python-serial

Circuito

         _____________________(-)-----------------------------------------------
         |                                           |                         |
         | ___________________(+)_                Resistencia              Resistencia
         | |                      |                  |                         |
       __|_|________              |                 LED1                      LED2
       \ 5 4 3 2 1 /              |                  |                         |
        \_9_8_7_6_/               |__________________|                         |
              |                                                                |
              |_______________(+)______________________________________________|

5 GND (-)
4 DTR (+) 5v
7 RTS (+) 5v 

Programas

apt-get install python python-serial

Script

   1 #!/usr/bin/python
   2 
   3 import serial,time,os
   4 
   5 #Abrimos el puerto
   6 s = serial.Serial(0)
   7 #Apagamos los 2 leds
   8 s.setDTR(0)
   9 s.setRTS(0)
  10 
  11 while(True):
  12 #Buscamos el servicio olrsd si esta prendemos la luz, si no esta ,parpadea
  13         process = os.popen("ps aux | grep -v grep |grep olrsd").read().splitlines()
  14         if len(process) > 0:
  15                 s.setDTR(1)
  16         else:
  17                 s.setDTR(0)
  18                 time.sleep(1)
  19                 s.setDTR(1)
  20                 time.sleep(1)
  21                 s.setDTR(0)
  22 #Buscamos el proseso pts (si alguien esta logueado prendemos la luz, si no esta ,parpadea
  23         process2 = os.popen("ps x | grep -v grep |grep pts/").read().splitlines()
  24         if len(process2) > 0:
  25                 s.setRTS(1)
  26         else:
  27                 s.setRTS(0)
  28                 time.sleep(1)
  29                 s.setRTS(1)
  30                 time.sleep(1) 
  31                 s.setRTS(0)
  32 #esperamos 5 segundos para revisar de nuevo
  33         time.sleep(5)



  • http://i.creativecommons.org/l/by-nc-sa/2.5/ar/88x31.png Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 2.5 Argentina License de Creative Commons.

CategoryDocuments CategoryDocuments

Wiki: HowToLedSerial (last edited 2009-05-13 22:42:07 by MatiasFernandez)

USLA