Advertisement
Guest User

RFID

a guest
Aug 31st, 2016
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.01 KB | None | 0 0
  1. --configuration
  2. writer = peripheral.wrap("right");
  3. reader = peripheral.wrap("left");
  4. redside = "back";
  5.  
  6. label = "GateKey";
  7. data = "this is the gate key";
  8. range = 5;
  9.  
  10. print("Simple in-secure RFID door!");
  11. print("Key name: "..label);
  12. print("Scanning Range "..range);
  13.  
  14. function main()
  15. while true do
  16.  --If there's a card in writer
  17.  --and it is blank
  18.  --and we're not currently writing
  19.  if writer.isPresent() and (not writer.isCoded()) and (writer.getProgress() == -1) then
  20.    --make a key
  21.    writer.encode(data,label);
  22.  end
  23.  redstone.setOutput(redside,readerloop());
  24.  os.sleep(.5); --allows redstone to move
  25.  os.queueEvent("marker_event"); --clears event
  26.  repeat
  27.    e = os.pullEvent();
  28.  until e == "marker_event";
  29. end
  30. end
  31.  
  32. function readerloop()
  33.   reader.scan(range);
  34.   while true do --split from here
  35.     e,p1,p2,p3,p4,p5 = os.pullEvent()
  36.     if e == "rfid_detected" and p1 == data then
  37.       return true;
  38.     elseif e == "rfid_scan_done" then
  39.       return false;
  40.     end
  41.   end
  42. end
  43.  
  44. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement