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 44 45 46 47 48 49 50 51 52 53 54
| import os
import serial
class Gen:
def __init__(self, data_a = b'', data_b = b'', data_c =b''):
self.data_a = data_a
self.data_b = data_b
self.data_c = data_c
self.ser = ser = "/dev/ttyACM0"
def processus_a(self):
self.data_a = os.urandom(2)
self.send()
def processus_b(self):
self.data_b = os.urandom(3)
self.send()
def processus_c(self):
self.data_c = os.urandom(1)
self.send()
def send(self):
print("Envoi donnees")
print(":".join("{:02x}".format(c) for c in self.data_c))
print(":".join("{:02x}".format(c) for c in self.data_a))
print(":".join("{:02x}".format(c) for c in self.data_b))
try:
self.ser = serial.Serial( "/dev/ttyACM0", baudrate=115200, timeout= 32)
self.ser.isOpen()
print ("port is opened!")
except IOError:
self.ser.close()
self.ser.open()
print ("port was already open, was closed and opened again!")
while True:
if len(self.data_a) >= len(self.data_b):
self.ser.write(self.data_a)
print (self.ser.readline())
elif len (self.data_b) != 0:
self.ser.write(self.data_b)
else:
self.ser.write(self.data_c)
self.f = open('myfile.txt','wb')
self.f.write(self.ser.readline())
def main():
R = Gen()
R.processus_a()
R.processus_b()
R.processus_c()
R.send()
if __name__ == '__main__':
main() |
Partager