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() |
Partager