Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from time import *
- GPIO.setmode(GPIO.BOARD)
- GPIO.setup(11, GPIO.OUT)
- GPIO.setup(19,GPIO.IN)
- def sendeByte(bitzeit, bitfolge):
- GPIO.output(11, True)
- sleep(bitzeit)
- for i in bitfolge:
- if i == '1':
- GPIO.output(11, True)
- else:
- GPIO.output(11, False)
- sleep(bitzeit)
- GPIO.output(11, False)
- sleep(bitzeit)
- def sendeText(bitzeit, text):
- for zeichen in text:
- bitfolgeBuchstabe = bin(ord(zeichen))[2:].zfill(8)
- sendeByte(bitzeit, bitfolgeBuchstabe)
- def empfangeByte(bitzeit):
- # warte auf Startbit
- while not GPIO.input(19):
- sleep(0.1*bitzeit)
- sleep(bitzeit * 1.5)
- # Frage acht mal die Leitung ab und warte eine Bitzeit
- bitfolge = ''
- for i in range(8):
- if GPIO.input(19):
- bitfolge = bitfolge + '1'
- else:
- bitfolge = bitfolge + '0'
- sleep(bitzeit)
- # Gebe Bitfolge zurück, z.B. '01000001'
- return bitfolge
- def empfangeText(bitzeit):
- while True:
- byte = empfangeByte(bitzeit)
- zeichen = chr(int(byte, 2))
- def uebersetzenAusBinaer(binaercode):
- buchstabe = ""
- binaercode = int(binaercode,2)
- buchstabe = chr(binaercode)
- return buchstabe
- while True:
- GPIO.output(11, False)
- sendeText(0.0005, (input("Nachricht: ") + "*"))
- text=""
- Buchstabe = ""
- while Buchstabe!= "*":
- daten = empfangeByte(0.0005)
- Buchstabe = (uebersetzenAusBinaer(daten))
- text = text + Buchstabe
- print(text[:-1])
- GPIO.cleanup()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement