SHARE
TWEET

Chatportal Phython ich trage ne Mütze

a guest Sep 19th, 2019 98 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. from time import *
  2. GPIO.setmode(GPIO.BOARD)
  3. GPIO.setup(11, GPIO.OUT)
  4. GPIO.setup(19,GPIO.IN)
  5.  
  6. def sendeByte(bitzeit, bitfolge):
  7.         GPIO.output(11, True)
  8.         sleep(bitzeit)
  9.  
  10.         for i in bitfolge:
  11.              if i == '1':
  12.                  GPIO.output(11, True)
  13.              else:
  14.                  GPIO.output(11, False)
  15.              sleep(bitzeit)
  16.  
  17.         GPIO.output(11, False)
  18.         sleep(bitzeit)
  19.  
  20. def sendeText(bitzeit, text):
  21.         for zeichen in text:
  22.             bitfolgeBuchstabe = bin(ord(zeichen))[2:].zfill(8)        
  23.             sendeByte(bitzeit, bitfolgeBuchstabe)
  24.            
  25.  
  26. def empfangeByte(bitzeit):
  27.     # warte auf Startbit
  28.     while not GPIO.input(19):
  29.         sleep(0.1*bitzeit)
  30.     sleep(bitzeit * 1.5)
  31.    
  32.  
  33.     # Frage acht mal die Leitung ab und warte eine Bitzeit
  34.     bitfolge = ''
  35.     for i in range(8):
  36.         if GPIO.input(19):
  37.             bitfolge = bitfolge + '1'
  38.         else:
  39.             bitfolge = bitfolge + '0'
  40.         sleep(bitzeit)
  41.     # Gebe Bitfolge zurück, z.B. '01000001'
  42.     return bitfolge
  43.  
  44. def empfangeText(bitzeit):
  45.     while True:
  46.         byte = empfangeByte(bitzeit)
  47.         zeichen = chr(int(byte, 2))
  48.        
  49.  
  50. def uebersetzenAusBinaer(binaercode):
  51.     buchstabe = ""
  52.     binaercode = int(binaercode,2)
  53.     buchstabe = chr(binaercode)
  54.     return buchstabe
  55.  
  56.  
  57. while True:
  58.    
  59.     GPIO.output(11, False)
  60.     sendeText(0.0005, (input("Nachricht: ") + "*"))
  61.    
  62.    
  63.     text=""
  64.     Buchstabe = ""
  65.     while Buchstabe!= "*":
  66.         daten = empfangeByte(0.0005)
  67.         Buchstabe = (uebersetzenAusBinaer(daten))
  68.         text = text + Buchstabe
  69.     print(text[:-1])
  70.    
  71. GPIO.cleanup()
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top