Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import serial
- from struct import pack
- from time import sleep
- user = {"\x00\x01\x02\x03\x04" : "Arnaud",
- "\x05\x06\x07\x07\x08" : "Florent"}
- def formatText(msg):
- msg = '{s:{c}^{n}}'.format(s=msg,n=16,c=' ')
- return "\xAB\x04" + pack("B", len(msg)) + msg
- arduino = serial.Serial('/dev/ttyACM0', 9600)
- arduino.setDTR(level=False)
- sleep(2)
- pingReq = "\xAB\x00\x00"
- clearReq = "\xAB\x04\x01\xAB"
- arduino.write(pingReq);
- receive = arduino.read(3);
- if(receive == "\xAB\x01\x00"):
- print "Receive ping response"
- arduino.write(formatText("PASSEZ VOTRE"));
- arduino.write(formatText("CARTE"));
- rfidIdentReq = "\xAA\x00\x03\x25\x26\x00\x00\xBB"
- rfidReq = "\xAB\x02" + pack("B", len(rfidIdentReq)) + rfidIdentReq
- while 1:
- arduino.write(rfidReq)
- ABheader = arduino.read(3)
- raw = arduino.read(3)
- length = ord(raw[2])
- raw += arduino.read(length + 2)
- code = raw[5:10]
- # for i in raw:
- # print hex(ord(i)),
- # print
- if length == 6:
- break
- sleep(0.6)
- for i in code:
- print hex(ord(i)),
- print
- arduino.write(clearReq)
- arduino.write(formatText("MERCI"))
- arduino.write(formatText(user[code]))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement