Advertisement
Guest User

Chatportal Phython ich trage ne Mütze

a guest
Sep 19th, 2019
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  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()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement