1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
   | #!/usr/bin/env python
# -*- coding: latin-1 -*-
 
#!/usr/bin/env python3
 
import io
import serial
import RPi.GPIO as GPIO
import time
 
 
PORT = "/dev/rfcomm0"
BAUDRATE = 9200
TIMEOUT = 0.05
ENCODING = "Utf-8"
LED_PIN = 22
 
try:
    GPIO.setmode(GPIO.BOARD)
    GPIO.setwarnings(False)
    GPIO.setup(LED_PIN, GPIO.OUT)
    etat = 0
 
    while True :
        ser = serial.Serial(PORT, BAUDRATE, timeout=TIMEOUT)
        #print(ser.inWaiting())
        #buffer = io.BufferedReader(ser)
        sio = io.TextIOWrapper(io.BufferedRWPair(ser, ser))
        sio.flush()
        line = sio.readline().decode('utf-8').strip().lower()
        if len(line)>0 :
            print(line)
            print("line :",line.encode("hex"))                   
            if line in ['on', 'on\r', 'on\n',('on\r\n')]:
                GPIO.output(LED_PIN, GPIO.HIGH)
                etat = 1
            elif line in ['off', 'off\r', 'off\n','off\r\n']:
                GPIO.output(LED_PIN, GPIO.LOW)
                etat = 0
        if etat == 1 : GPIO.output(LED_PIN, GPIO.HIGH)
 
finally:
    GPIO.cleanup() |