คอมพิวเตอร์ หน้าต่าง อินเทอร์เน็ต

คำอธิบายของอินเทอร์เฟซ Wiegand โปรโตคอล Wiegand26 บน AVR ตัวอย่างการอ่าน wiegand26 สำหรับ attiny2313

วีแกนด์- อินเทอร์เฟซการสื่อสารแบบใช้สายอย่างง่ายระหว่างเครื่องอ่านตัวระบุ (การ์ด) และตัวควบคุม ซึ่งใช้กันอย่างแพร่หลายในระบบควบคุมการเข้าออก (ACS)

ออกแบบมาเพื่อส่งรหัสการ์ดหรือรหัสพินเฉพาะจากแป้นพิมพ์ไปยังตัวควบคุม ACS

อินเทอร์เฟซไม่มีมาตรฐานอย่างเป็นทางการ การใช้งานอินเทอร์เฟซเฉพาะในฮาร์ดแวร์นั้นขึ้นอยู่กับแนวคิดดั้งเดิมทั่วไปและความเข้ากันได้ในทางปฏิบัติกับอุปกรณ์ที่มีอยู่

เรื่องราว

ในตอนแรก อินเทอร์เฟซถูกใช้ในเครื่องอ่านบัตรแบบแม่เหล็ก และได้รับการปรับปรุงให้เหมาะสมที่สุดสำหรับเครื่องอ่านที่ง่ายที่สุด โดยพื้นฐานแล้วมันเป็นเอาต์พุตแอมพลิฟายเออร์การอ่านแบบธรรมดา เนื่องจากการ์ดแม่เหล็กแพร่หลาย อินเทอร์เฟซนี้จึงกลายเป็นมาตรฐานโดยพฤตินัย ต่อมา บัตรแม่เหล็กถูกแทนที่ด้วยบัตรแบบไร้สัมผัส (RFID) แต่อินเทอร์เฟซยังคงไม่เปลี่ยนแปลงเนื่องจากความเข้ากันได้ของอุปกรณ์

พันธุ์

อินเทอร์เฟซ Wiegand มีหลายประเภท จำแนกตามตัวเลขในชื่ออินเทอร์เฟซ หมายเลขนี้ในชื่อระบุจำนวนบิตในแพ็คเกจ

เครื่องอ่านและคอนโทรลเลอร์ ACS ทั่วไปส่วนใหญ่รองรับตัวเลือก Wiegand ต่อไปนี้:

  • วีแกนด์-26 ที่พบมากที่สุด. ประกอบด้วยโค้ดบิต 24 บิต และบิตพาริตี 2 บิต
  • วีแกนด์-33 ประกอบด้วยโค้ดบิต 32 บิต และบิตพาริตี 1 บิต
  • วีแกนด์-34. ประกอบด้วยโค้ดบิต 32 บิต และบิตพาริตี 2 บิต
  • วีแกนด์-37 ประกอบด้วยบิตโค้ด 35 บิต และบิตพาริตี 2 บิต
  • วีแกนด์-40. ประกอบด้วยโค้ด 40 บิต ไม่มีการควบคุมความเท่าเทียมกัน
  • วีแกนด์-42 ประกอบด้วยโค้ดบิต 40 บิต และบิตพาริตี 2 บิต

มีตัวอ่านหลายประเภทที่มีความยาว Wiegand ได้ถึง 128 บิต ในความเป็นจริง จำนวนบิตในรูปแบบ Wiegand สามารถเป็นจำนวนที่สมเหตุสมผลได้เกือบทุกชนิด เมื่อคุณพบตัวเลขใหม่ในชื่อ เฉพาะการมีอยู่ของบิตตรวจสอบความเท่าเทียมกันและวิธีการคำนวณเท่านั้นที่ยังไม่ชัดเจน

มีชื่ออื่นสำหรับอินเทอร์เฟซที่คล้ายกัน ตัวอย่างทั่วไปคืออินเทอร์เฟซ KSF ซึ่งจริงๆ แล้วคือ Wiegand-32

การเชื่อมต่อไฟฟ้า

สำหรับการสื่อสารระหว่างเครื่องอ่านและตัวควบคุม ACS จะใช้บัสสามสาย - สายสัญญาณสองเส้นหนึ่งกราวด์ รูปนี้แสดงแผนภาพการเชื่อมต่อแบบคลาสสิกซึ่งพารามิเตอร์ทางไฟฟ้าของอินเทอร์เฟซก็ชัดเจนเช่นกัน

ความยาวสูงสุดของสายสื่อสารนั้นขึ้นอยู่กับทางเลือกที่เหมาะสมของสายเคเบิล (เกณฑ์หลักคือความจุเชิงเส้นต่ำ ความต้านทานโอห์มมิกต่ำ) และการออกแบบที่มีความสามารถของเครื่องอ่านและวงจรแยกกำลังไฟฟ้าของตัวควบคุม ค่าทั่วไปที่กำหนดโดยซัพพลายเออร์อุปกรณ์คือสูงถึง 150...250 เมตร

รูปแบบข้อมูล

การถ่ายโอนข้อมูล

การส่งสัญญาณจะดำเนินการเป็นพัลส์สั้น การมีอยู่ของพัลส์ในบรรทัด "Data0" หมายความว่ามีการส่ง log.0 การมีอยู่ของพัลส์ในบรรทัด "Data1" หมายความว่ามีการส่ง log.1 ความกว้างและคาบของพัลส์จะแตกต่างกันไปมากขึ้นอยู่กับผู้ผลิตเครื่องอ่าน ความกว้างของพัลส์มักจะอยู่ในช่วง 20...200 µs ระยะเวลาการเกิดซ้ำของพัลส์คือ 300…3000 μs

การสื่อสารเป็นแบบทางเดียว ในขณะที่ตรวจพบการ์ด เฟรมเดียวที่มีรหัสการ์ดจะถูกส่งจากเครื่องอ่านไปยังตัวควบคุม ACS การส่งข้อมูลเกิดขึ้นพร้อมกับการส่งต่อโค้ดบิตที่สำคัญที่สุด

เฟรมจะถูกคั่นด้วยการหมดเวลา ในความเป็นจริง เวลาขั้นต่ำระหว่างเฟรมคือ 0.5 วินาที การหมดเวลาที่แนะนำสำหรับตัวควบคุม ACS คือ 50…250ms

ความเท่าเทียมกัน

หากมีการตรวจสอบพาริตี จะมีการเพิ่มสองบิตในบิตรหัสการ์ด - หนึ่งบิตอยู่ข้างหน้าโค้ด และอีกบิตหนึ่งอยู่หลัง ดังนั้น รหัสแผนที่ทั้งหมดจึงถูกแบ่งตรงกลางออกเป็นสองส่วนพอดี ความเท่าเทียมกันของครึ่งบนของโค้ดจะถูกควบคุมโดยบิตแรก และครึ่งล่างจะถูกควบคุมโดยบิตสุดท้าย หากจำนวนบิตในโค้ดเป็นเลขคี่ บิตที่อยู่ตรงกลางของโค้ดจะรวมอยู่ในการตรวจสอบพาริตีทั้งสองรายการ

พาริตีบิตแรก (ครึ่งสูงของโค้ด) จะถูกตั้งค่าเป็น 1 หากจำนวนในครึ่งหนึ่งของโค้ดเป็นเลขคี่ พาริตีบิตสุดท้าย (ครึ่งล่างของโค้ด) จะถูกตั้งค่าเป็น 1 หากจำนวนบิตในครึ่งหนึ่งของโค้ดเป็นเลขคู่

ควรสังเกตว่ามีผู้อ่านที่ไม่ปฏิบัติตามกฎความเท่าเทียมกันนี้ ดังนั้น ในความเป็นจริงแล้ว ตัวควบคุม ACS แบบสากลส่วนใหญ่จะเพิกเฉยต่อการควบคุมพาริตี นอกจากนี้ การ์ดแบบไร้สัมผัสบางรูปแบบยังมีข้อมูลเกี่ยวกับจำนวนบิตของโค้ดและพาริตีบนการ์ดโดยตรง ดังนั้นเครื่องอ่านจึงไม่มีอิทธิพลต่อรูปแบบข้อมูลเอาต์พุตจริงในทางใดทางหนึ่ง ตัวอย่างเช่น รูปแบบของ HID ProxPass, Indala ASP เป็นต้น

Wiegand และคีย์บอร์ดสำหรับป้อนรหัสพิน

ระบบควบคุมการเข้าออกบางระบบมีความสามารถในการระบุตัวตนแบบคู่ได้ โดยการแสดงการ์ดและพิมพ์รหัสพินบนแป้นพิมพ์ โดยทั่วไปแล้ว เครื่องอ่านจะมีแป้นตัวเลขอยู่ภายใน และโค้ดที่พิมพ์ก็จะถูกส่งผ่านอินเทอร์เฟซ Wiegand เช่นกัน โดยปกติแล้ว ตัวเลขที่โทรออกแต่ละหลักจะถูกส่งแยกกันโดยใช้ Wiegand-4

เล็กน้อยเกี่ยวกับโปรโตคอล Wiegand

โปรโตคอล wiegand26 ปรากฏในยุค 80 เป็นมาตรฐานอุตสาหกรรมสำหรับระบบควบคุมการเข้าออก - สายสามสายเชื่อมต่อเครื่องอ่านบัตรแม่เหล็กกับบอร์ดควบคุมที่ให้การจัดเก็บและควบคุมหมายเลขบัตร
ปัจจุบัน บัตรแม่เหล็กถูกแทนที่ด้วยบัตร RFID แบบไร้สัมผัส และโปรโตคอล wiegand 26 ได้รับการขยายและเสริม แต่ยังคงใช้เป็นมาตรฐานในระบบรักษาความปลอดภัยส่วนใหญ่อย่างแข็งขัน

โปรโตคอล Wiegand - เลเยอร์ทางกายภาพ

สำหรับการส่งข้อมูลจะใช้สายไฟสองเส้น - D0 / D1 และอีกเส้นหนึ่งเพื่อรวมกราวด์ของเครื่องอ่านและตัวควบคุม เมื่อคำนึงถึงสายไฟแล้ว ขั้นต่ำที่จำเป็นในการเชื่อมต่อเครื่องอ่านคือ 4 สาย ส่วนที่เหลืออีก 3-4 ใช้เพื่อควบคุมฟังก์ชันเครื่องอ่านเพิ่มเติม

ที่เหลือ เส้น D0 และ D1 จะอยู่ในระดับสูง (+5V) หรือไม่ได้กำหนดไว้ ขึ้นอยู่กับการดึงขึ้นที่ฝั่งคอนโทรลเลอร์ ในการส่งบิตข้อมูล เครื่องอ่านจะดึงหนึ่งในบรรทัดลงกราวด์เป็นเวลา 50 μs แล้วปล่อยเป็นเวลา 2 ms และส่งบิตถัดไปโดยการดึงบรรทัดที่เกี่ยวข้องเป็นเวลา 50 μs และหยุดชั่วคราวอีกครั้งที่ 2 ms หากการหยุดชั่วคราวระหว่างการส่งข้อมูลมากกว่า 2ms แสดงว่าการถ่ายโอนข้อมูลเสร็จสมบูรณ์
สถานะของบิต 0 หรือ 1 ถูกกำหนดโดยเส้น D0 หรือ D1 ที่ถูกดึงลงกราวด์ในขณะที่บิตถูกส่ง บรรทัด D0 รับผิดชอบค่าศูนย์ บรรทัด D1 แทนค่าศูนย์

เพื่อความชัดเจนฉันจะแนบรูปภาพมาด้วย

อย่างไรก็ตาม ควรคำนึงว่าความกว้างของพัลส์และการหยุดชั่วคราวระหว่างพัลส์อาจแตกต่างกันอย่างมากระหว่างผู้ผลิตแต่ละราย พัลส์ตั้งแต่ 20 ถึง 200 µs และหยุดชั่วคราวตั้งแต่ 200 ถึง 3000 µs
เพื่อให้ชัดเจนยิ่งขึ้น เราไม่ควรพูดถึงช่วงเวลา (หยุดชั่วคราว) แต่เกี่ยวกับความยาวของการส่งหนึ่งบิต อย่างไรก็ตาม สิ่งนี้สามารถเห็นได้บนกราฟ เนื่องจาก เวลานับจากจุดเริ่มต้นของการส่งหนึ่งบิตไปจนถึงจุดเริ่มต้นของการส่งบิตที่สองและรวมถึงบิตนั้นด้วย

โปรโตคอล Wiegand - ระดับลอจิก

ในระดับลอจิคัล โปรโตคอล wiegand26 ประกอบด้วยข้อมูล 26 บิต โดยจะมีการจัดเก็บ 2 หมายเลขไว้ ได้แก่ รหัสสิ่งอำนวยความสะดวกและหมายเลขบัตร
รหัสสิ่งอำนวยความสะดวก – มาตรฐานของวัตถุหรือโซน
หมายเลขบัตร – หมายเลขบัตรเข้าใช้งาน

บิตแรกใช้เพื่อควบคุมข้อมูลครึ่งแรก (b1-b13) - หากจำนวนในครึ่งแรกของพัสดุเป็นเลขคี่ บิต = 1
8 บิตถัดไป (b2 – b9) คือรหัสอำนวยความสะดวก (บิตที่สำคัญที่สุดที่อยู่ข้างหน้า)
จากนั้นจะมี 16 บิต (b14-b25) พร้อมหมายเลขการ์ด (บิตที่สำคัญที่สุดก่อน)
บิตสุดท้ายในการส่งมีหน้าที่ควบคุมครึ่งหลังของข้อมูลที่รวบรวม (b14-b26) - หากจำนวนหน่วยในช่วงครึ่งหลังของการส่งเป็นเลขคู่ บิต = 0

โปรโตคอล wiegand เวอร์ชันใหม่กว่า

เมื่อเร็ว ๆ นี้ wiegand 26 ถูกแทนที่ด้วยเวอร์ชันขยายของโปรโตคอลอย่างช้าๆ โดยที่ไม่ใช่ 26 แต่ 32-40 บิต + บิตตรวจสอบความเท่าเทียมกันได้รับการจัดสรรสำหรับโค้ด จำนวนบิตทั้งหมดในแพ็คเกจ เช่น ในกรณีของ wiegand26 ถูกกำหนดโดยตัวเลขในชื่อโปรโตคอล (wiegand33-wiegand42)
นอกจากนี้ยังมีโปรโตคอลประเภทอื่นๆ จำนวนมากที่มีชื่อต่างกันและจำนวนบิตต่างกัน แต่โดยพื้นฐานแล้วพวกมันทั้งหมดคล้ายกัน สิ่งที่คุณต้องหาคือความยาวของส่วนแรกและส่วนที่สองของโค้ด รวมถึง การมีอยู่ของพาริตีบิต

คีย์บอร์ดพร้อม Wiegand

เครื่องอ่านบางเครื่องจะรวมเข้ากับแป้นพิมพ์ จากนั้นตัวควบคุมระบบรักษาความปลอดภัยจะตรวจสอบการ์ดและรหัส PIN ที่พิมพ์บนแป้นพิมพ์ ส่วนใหญ่แล้วรหัส PIN จะถูกส่งทีละหลัก ความยาวของข้อความในกรณีนี้คือเพียง 4 บิตโดยไม่มีบิตพาริตี แต่ผู้ผลิตแต่ละรายอาจมีรูปแบบที่แตกต่างกัน ในทางปฏิบัติ ฉันต้องติดต่อผู้ผลิตหลายครั้งและค้นหาว่าระบบของพวกเขาเข้ากันได้กับมาตรฐานหรือไม่ และบ่อยครั้งที่คำตอบคือ “ใช่ มันเข้ากันได้ แต่สำหรับการ์ดบางรุ่นเท่านั้น รหัสมีรูปแบบของตัวเอง เราก็ทำ” ไม่เปิดเผยมัน” แต่การมีเครื่องวิเคราะห์สัญญาณ จะทำให้ทราบได้อย่างง่ายดายว่ากำลังส่งสัญญาณอะไรและอย่างไร เพราะเหตุใด หลักการทั่วไปยังคงไม่เปลี่ยนแปลง ด้านล่างนี้ ผมจะยกตัวอย่างการอ่าน wiegand26 สำหรับ attiny2313 ซึ่งสามารถแปลงเป็นเครื่องมือวิเคราะห์ได้อย่างง่ายดาย

ตัวเลขเย็บติดบนการ์ด

รูปแบบ Wiegand26 ตามที่อธิบายไว้ข้างต้นมีเพียง 2 รหัสเท่านั้น - รหัสสถานที่และหมายเลขบัตร
รหัสสิ่งอำนวยความสะดวกคือรหัสของอาคารหรือบริษัท
หมายเลขบัตร - หมายเลขบัตร
เริ่มแรกสันนิษฐานตามตรรกะต่อไปนี้:
บริษัท 1 มีบัตรที่มีรหัสอำนวยความสะดวก 1 และตามมาด้วยบัตรสูงสุด 65,535 ใบที่มีหมายเลขเฉพาะ บริษัท 2 มีบัตรที่มีรหัสสิ่งอำนวยความสะดวก 2 และบัตรมากถึง 65,535 ใบซึ่งมีหมายเลขเดียวกันกับบริษัท 1 แต่มีรหัสสิ่งอำนวยความสะดวกอื่น ระบบควบคุมการเข้าออกจะตรวจสอบรหัสสิ่งอำนวยความสะดวก หากตรงกับรหัสที่บริษัทยอมรับ หมายเลขบัตรจะถูกตรวจสอบ และหากบัตรอยู่ในฐานข้อมูลระบบ ประตูจะเปิดขึ้น หากรหัสสิ่งอำนวยความสะดวกไม่ตรงกับรหัสที่ยอมรับ ณ สถานที่ที่กำหนด ระบบจะปฏิเสธโดยไม่ตรวจสอบหมายเลขบัตร
ในระบบที่ทันสมัยที่สุด รหัสสิ่งอำนวยความสะดวกสูญเสียความหมายไปบางส่วน และใช้การ์ดที่มีรหัสสิ่งอำนวยความสะดวกใดๆ ภายในออบเจ็กต์ แต่หลักการทั่วไปของการตรวจสอบยังคงเหมือนเดิม - ขั้นแรกให้ตรวจสอบรหัสแบบสั้น จากนั้นจึงตรวจสอบหมายเลขหลัก

ในรูปแบบที่ใหม่กว่า ความยาวของรหัสสิ่งอำนวยความสะดวกจะเพิ่มเป็นสองเท่า - สูงสุด 2 ไบต์ และหมายเลขบัตรจะเพิ่มขึ้นหลายครั้ง รหัสบนการ์ดไม่เหมือนกับระบบอื่นๆ บางระบบ และอาจซ้ำในชุดที่ต่างกันหรือจากผู้ผลิตหลายราย รหัสที่มีความยาวเพียงพอเท่านั้นที่จะป้องกันหมายเลขบัตรที่ตรงกัน

นอกจากนี้ ในรูปแบบขยาย ยังอาจมีข้อมูลเพิ่มเติมจำนวนมาก ซึ่งมักจะมีให้เขียนใหม่ได้ ซึ่งสามารถจัดเก็บข้อมูลเกี่ยวกับพนักงาน (ชื่อนามสกุล ตำแหน่ง ตำแหน่ง ฯลฯ) หรือข้อมูลเฉพาะที่บันทึกโดยระบบหรือข้อมูลเฉพาะ รหัสที่ไม่สามารถเปลี่ยนแปลงได้ ซึ่งไม่ได้อยู่ในส่วนหลักของโปรโตคอล

ฉันไม่ทราบแน่ชัดว่ารูปแบบขยายทำงานอย่างไรและอ่านอย่างไร ผู้ที่ต้องการศึกษาการทำงานของระบบโดยละเอียด แนะนำให้เข้าไปที่เว็บไซต์ของผู้ผลิตระบบดังกล่าว หรือ Google. คำสำคัญ - Mifare, HID, RFID

การ์ดและความถี่

ระบบควบคุมการเข้าออกส่วนใหญ่ใช้การ์ด 2 ประเภท - 125KHz และ 13.5MHz
125KHz เป็นรูปแบบทั่วไปที่ใช้ในเครื่องอ่านส่วนใหญ่ 13.5MHz นั้นใหม่กว่าและพบได้น้อยกว่าเล็กน้อย แต่สำหรับการสื่อสารระหว่างตัวควบคุมและเครื่องอ่าน ข้อมูลนี้ไม่สำคัญ เพราะ ที่ฝั่งคอนโทรลเลอร์เครื่องอ่านจะทำงานเหมือนกัน เครื่องอ่านบางรายรองรับทั้งสองความถี่
การ์ดทั้งสองรูปแบบแบ่งออกเป็น 2 ประเภท - การ์ดแบบอ่านอย่างเดียวและการ์ดที่มีหน่วยความจำแบบเขียนซ้ำได้ ในกรณีแรก รหัสทั้งสองจะถูกเขียนลงระหว่างการผลิตบัตรและไม่มีการเปลี่ยนแปลง ในกรณีที่สอง ตัวเลขสามารถเปลี่ยนแปลงได้หากจำเป็น เช่น เมื่อพนักงานถูกย้ายไปยังอาคารอื่นที่มีรหัสสิ่งอำนวยความสะดวกที่แตกต่างกัน
โดยทั่วไป การ์ดทุกรูปแบบจะมีส่วนมาตรฐานทั่วไปขนาด 26 บิต ส่วนอื่นๆ จะถูกอ่านตามคำขอแยกต่างหากจากระบบหลังจากอ่านส่วนหลักแล้ว

กำลังเชื่อมต่อเครื่องอ่าน RFID กับ attiny2313

เพื่อทดลองกับเครื่องอ่าน RFID ฉันได้สร้างไดอะแกรมขนาดเล็กขึ้นมา

Attiny2313 + สายไฟมาตรฐาน - ควอทซ์ 8 MHz, ตัวเก็บประจุ 2 ตัวจากควอทซ์ถึงกราวด์, ตัวต้านทานจากการรีเซ็ตเป็นกำลัง, ขั้วต่อการเขียนโปรแกรม, ขั้วต่อสำหรับการสื่อสารกับคอมพิวเตอร์ (ผ่าน FT232 หรือ MAX232) นอกจากนี้ 78l05 สำหรับการจ่ายไฟให้กับคอนโทรลเลอร์

สายไฟที่จำเป็นสำหรับการทดสอบเครื่องอ่านบัตรมีเพียงขั้วต่อสำหรับเชื่อมต่อเครื่องอ่านเท่านั้น (ซ้ายล่าง) รีเลย์สำหรับล็อค จัมเปอร์ 2 ตัวสำหรับเลือกโหมดการทำงาน (ADD/DEL) ของวงจร และดำเนินการให้สมบูรณ์ รูปภาพ ฉันเพิ่มอินพุตอีกสองสามอินพุตสำหรับสวิตช์กก (MK) และสำหรับปุ่มที่วางอยู่ที่ด้านหลังของประตู (REX)
สายไฟ 3 เส้นที่เหลือจากเครื่องอ่านเชื่อมต่อกับขั้วต่อ BEEP, RED และ GREEN ซึ่งมีหน้าที่รับผิดชอบในการส่งเสียงบี๊บ น้ำแข็งสีแดง และน้ำแข็งสีเขียว ตามลำดับ ควบคุมโดยศูนย์ (PORTB.6=0 จะเปิดไฟ LED สีเขียวบนเครื่องอ่าน)

ค่าธรรมเนียมหมายเลข 1

ผ้าพันคอผืนเล็กที่เหมาะกับตัวแทนจำหน่ายพลาสติกขนาดเล็ก

คณะกรรมการหมายเลข 2

บอร์ดนี้สะดวกกว่าในฐานะอุปกรณ์ที่สมบูรณ์ - ขั้วต่อทั้งหมดอยู่ด้านเดียวและไม่จำเป็นต้องดึงตัวนำเพิ่มเติมผ่านบอร์ด เนื่องจากอุปกรณ์ที่สมบูรณ์เข้าสู่ซีรีส์ จึงควรใช้ตัวเลือกนี้ (ฉันประเมินว่าเป็นผู้ติดตั้งระบบดังกล่าวอย่างมืออาชีพ)
อย่างไรก็ตามบนบอร์ดมีเพียงตัวเก็บประจุสำหรับการป้องกันบนอินพุต MK และ REX บนแหล่งจ่ายไฟ ฉันจะไม่สร้างระบบที่เต็มเปี่ยมบนบอร์ดแบบนี้
ฉันยังได้เพิ่มจัมเปอร์ลงในบอร์ดนี้เพื่อปิดการใช้งานรีเลย์ ซึ่งจะมีประโยชน์หากใช้เฉพาะสัญญาณเปิดประตู (PD5) ที่ส่งออกไปยังแผงขั้วต่อเท่านั้น และยังมีไฟ LED ที่ให้พลังงาน - สะดวกมากในสภาวะจริง

หน้าตาจะประกอบประมาณนี้ครับ

และนี่คือบอร์ดที่มีตัวอ่านที่เชื่อมต่อและโอห์มมิเตอร์แทนการล็อคที่เอาต์พุตรีเลย์

ตัวอย่างการอ่าน wiegand26 สำหรับ attiny2313

ล็อคการ์ดแบบไร้สัมผัส

ล็อคเพียงอ่านรหัสจากการ์ดและตรวจสอบว่ามีรหัสอยู่ในฐานข้อมูลหรือไม่ ถ้ามี ระบบจะเปิดประตู

อัลกอริธึมทั่วไป:
1. จับและบันทึกการเปลี่ยนแปลงที่อินพุต D0 และ D1
2. ประมวลผลข้อมูลที่ได้รับและเลือก 2 รหัส
3. ค้นหาฐานข้อมูล และหากพบรหัสในฐานข้อมูล ให้เปิดรีเลย์สักครู่
4. ล้างหน่วยความจำของข้อมูลที่รวบรวมและไปที่ขั้นตอนที่ 1

ถ่านดาด; //อาร์เรย์สำหรับรวบรวมข้อมูล 26 บิตถ่าน fcode ที่ไม่ได้ลงนาม; // สำหรับรหัสสิ่งอำนวยความสะดวก (0..255)รหัส int ที่ไม่ได้ลงนาม // สำหรับหมายเลขบัตร (0..65535)ในขณะที่())( ถ้า(PIND.3==0)( // คนอ่านดึง D1 ลงไปที่พื้นข้อมูล[i]=1; // นี่คือ D1 ดังนั้นบิต = 1ฉัน++; ในขณะที่(PIND.3==0)(); ) ถ้า(PIND.4==0) (// เครื่องอ่านดึง D0 ลงไปที่พื้นข้อมูล[i]=0; // นี่คือ D0 ดังนั้นบิต = 0ฉัน++; ในขณะที่(PIND.4==0)(); //รอให้บรรทัดกลับสู่สถานะเดิม) ถ้า(i==27) ( //ถ้า i=27 แสดงว่ารวบรวมได้ 26 บิตและไม่ควรมีข้อมูลอีกต่อไป //ตอนนี้เรามาประมวลผลข้อมูลที่ได้รับกันข=0; สำหรับ(a=9;a>1;a--)( //รันผ่าน 8 บิตแรกในลำดับย้อนกลับถ้า(dat[a]==1) fcode=fcode+stepen(b); // ถ้าบิตที่สอดคล้องกัน = 1, // เพิ่มรหัสกำลังของหมายเลข 2 // เท่ากับหมายเลขซีเรียลของบิต //(2^0, 2^1, 2^2, ฯลฯ)ข++; //เพิ่มหมายเลขลำดับบิตในแต่ละขั้นตอน) ข=0; // รีเซ็ตตัวนับก้าวสำหรับ(a=25;a>9;a--)( // เช่นเดียวกับส่วนที่สองของพัสดุ - 16 บิตของตัวเลขถ้า(dat[a]==1) รหัส=รหัส+สตีเฟน(b); ข++; ) ) // หากทุกอย่างเป็นไปด้วยดี ในขั้นตอนนี้เรามี // รหัสสิ่งอำนวยความสะดวก - ในตัวแปร fcode // หมายเลขการ์ด - ในตัวแปรรหัส // ตอนนี้เราต้องค้นหาฐานข้อมูล // ตัวเลขอยู่ใน 2 อาร์เรย์ใน eeprom // fcode ถ่านที่ไม่ได้ลงนาม; สำหรับรหัสสิ่งอำนวยความสะดวก // รหัส int ที่ไม่ได้ลงนาม; สำหรับหมายเลขการ์ด //MAX – ค่าคงที่ถูกกำหนดไว้ที่จุดเริ่มต้นของโครงการ กำหนดขนาดหน่วยความจำ // สำหรับ attiny2313 นี่คือ 40 รหัส มันจะไม่พอดีอีกต่อไปสำหรับ(i=0;i //วนซ้ำทั้งอาร์เรย์ // ในลูปเราจะตรวจสอบเฉพาะรหัสสิ่งอำนวยความสะดวกถ้า(fcode == fcodedb[i])( //หากรหัสตรงกับรหัสของเซลล์ใดเซลล์หนึ่ง //ตรวจสอบหมายเลขบัตรสำหรับเซลล์เดียวกันถ้า(รหัส==codedb[i])( //หากหมายเลขบัตรตรงกัน... //...เราได้คู่ที่ตรงกัน พบแผนที่แล้ว card_found=1; // flag = พบการ์ดหยุดพัก; //แยกลูป ไม่ต้องค้นหาเพิ่มเติม } } } //ตรวจสอบว่ามีการจับคู่หรือไม่ if(card_found)(//ใช่ PORTD.5=1;//เปิดล็อค PORTD.6=0; // เปิดตัวบ่งชี้สีเขียว (NB! เปิดโดยศูนย์)ล่าช้า_ms(5000); // หน่วงเวลา 5 วินาทีในการเข้าพอร์ตดี.5=0; //ปิดล็อค PORTD.6=1; // ปิดตัวบ่งชี้สีเขียว)อื่น( //ไม่มีการแข่งขัน - ไม่พบการ์ด - การเข้าถึงถูกปฏิเสธพอร์ตบี,0=0; // เปิดไฟสัญญาณสีแดง (NB! เปิดด้วยศูนย์)ล่าช้า_ms(3000); // หน่วงเวลา 3 วินาทีพอร์ตบี.0=1; //ปิดตัวบ่งชี้สีแดง } //โดยไม่คำนึงถึงผลการค้นหา ให้รีเซ็ตข้อมูลทั้งหมดรหัส f=0; // รหัสสิ่งอำนวยความสะดวก รหัส = 0; // หมายเลขบัตรฉัน=0; // ตัวนับบิตที่รวบรวม card_found=0; // ธงค้นหา) //วงจรจะเข้าสู่การทำซ้ำและหมุนจนกว่าสัญญาณใหม่จะปรากฏขึ้น }

ในตัวอย่างนี้ ฉันไม่สนใจการกำหนดเวลาทั้งหมด ไม่ว่าพัลส์จะยาวแค่ไหน โปรแกรมก็จะค้างจนกว่าจะสิ้นสุด ไม่สำคัญว่าช่วงเวลาจะเป็นอย่างไร สิ่งสำคัญคือการมีเวลาติดตามจุดเริ่มต้นของบิตถัดไป ไม่สำคัญว่าจะผ่านไปนานแค่ไหนนับตั้งแต่บิตสุดท้าย - ทันทีที่เรารวบรวมได้ 26 เราจะรู้ว่ามันจบลงแล้วและเริ่มประมวลผลข้อมูล
ใช่ ปัญหาอาจเกิดขึ้นได้ในตัวเลือกนี้ - หากมีความล้มเหลว (สัญญาณรบกวน) และมาถึงไม่ถึง 26 บิต แต่น้อยกว่าหรือมากกว่านั้น ระบบจะไม่รู้จักมัน แต่สิ่งนี้ไม่สำคัญนัก - ทันทีที่ระบบได้รับบิตที่หายไป ระบบจะดำเนินการตรวจสอบและรีเซ็ตเป็นสถานะดั้งเดิม วิธีนี้จะไม่พลาดไพ่เกิน 2 ใบและไม่จำเป็นต้องดำเนินการใดๆ เช่นหรือของใช้ในชีวิตประจำวันแค่นี้ก็เพียงพอแล้ว และก่อนที่จะนำอุปกรณ์ดังกล่าวไปใช้จริงคุณควรศึกษาทุกอย่างอย่างรอบคอบและเขียนอัลกอริธึมของคุณเองที่เป็นสากลและถูกต้องมากขึ้น

มีอะไรอีกที่ควรพิจารณาเมื่อตั้งโปรแกรมระบบ

ในตัวอย่างนี้ เช่นเดียวกับระบบส่วนใหญ่ที่ฉันรู้จัก ไม่มีการตรวจสอบความเท่าเทียมกัน หากการ์ดอ่านไม่ถูกต้อง เครื่องอ่านจะตอบสนองต่อการ์ดดังกล่าวว่าเป็นการ์ดที่ไม่ถูกต้อง
แต่ในตัวเลือกนี้มีความเป็นไปได้ที่รหัสที่อ่านไม่ถูกต้องจากการ์ดของผู้อื่นจะบังเอิญตรงกับรหัสที่ถูกต้องรหัสใดรหัสหนึ่ง มันไม่น่าเป็นไปได้ แต่เป็นไปได้ อย่างไรก็ตาม ผู้ผลิตอุปกรณ์รักษาความปลอดภัยที่มีชื่อเสียงหลายรายก็ละเลยการตรวจสอบดังกล่าวเช่นกัน

เมื่อตั้งโปรแกรมระบบ ฉันขอแนะนำอย่างยิ่งให้เติมหน่วยความจำด้วยข้อมูลที่สุ่มทั้งหมด หรือตั้งค่าสถานะ "เซลล์ว่าง" สำหรับแต่ละเซลล์ และไม่สนใจเซลล์ดังกล่าวเมื่อทำการค้นหา ในเวอร์ชันที่ซับซ้อนมากขึ้น คุณสามารถผ่านฐานข้อมูลได้หลายขั้นตอนเท่าที่มีการ์ด และเมื่อลบออก ให้จัดเรียงใหม่และลบช่องว่างออก เหตุใดจึงจำเป็น? ปัญหาหนึ่งที่มักเกิดขึ้นในระบบสมัครเล่นคือโปรแกรมที่เขียนไม่ดีจะค้นหาผ่านเซลล์ว่างซึ่งไบต์ทั้งหมดเต็มไปด้วยเลขศูนย์หรือ FF หากต้องการแฮ็กระบบดังกล่าว สิ่งที่คุณต้องมีคือโปรแกรมจำลองหรือการ์ดที่มีรหัส 00 หรือ FF เขียนตามลำดับ - รหัสดังกล่าวจะตรงกับเซลล์ว่างและประตูจะเปิดออก

ตัวควบคุมได้รับการออกแบบมาเพื่อใช้ในระบบควบคุมการเข้าออกแบบธรรมดา คอนโทรลเลอร์ทำงานร่วมกับล็อคที่เปิดโดยการจ่ายหรือถอดแรงดันไฟฟ้า หลักการทำงานของคอนโทรลเลอร์ขึ้นอยู่กับการเปรียบเทียบคีย์ที่ป้อนก่อนหน้านี้กับรหัสของคีย์ที่นำเสนอ หากรหัสตรงกัน เอาต์พุตไปยังล็อคจะถูกเปิดใช้งานตามเวลาที่กำหนด คอนโทรลเลอร์ทำงานร่วมกับเครื่องอ่านคีย์แบบสัมผัส Touch Memory หรือกับ Touch Memory หรือเครื่องอ่านแบบไร้สัมผัส Wiegand-26
ขอแนะนำให้ติดตั้งคอนโทรลเลอร์ในกล่องยึด EB-820 (65x65x18 มม.)

ลักษณะเฉพาะ

อินเทอร์เฟซการเชื่อมต่อเครื่องอ่าน: วีแกนด์ 26,ดัลลัส ทีเอ็ม.
. จำนวนเครื่องอ่านที่เชื่อมต่อ (แบบสัมผัสหรือแบบไร้สัมผัส) - 1.
. จำนวนปุ่มที่เชื่อมต่อ -1
. จำนวนคีย์หลักที่ใช้คือ 2
. การเชื่อมต่อและการควบคุมล็อคทุกประเภท
. ป้องกันการติดของปุ่มออก
. ความเป็นไปได้ในการถ่ายโอนฐานผู้ใช้ไปยังเวอร์ชันเครือข่ายของระบบควบคุมการเข้าออก
. โหมด "การป้อนโทเค็นลงในหน่วยความจำคอนโทรลเลอร์โดยอัตโนมัติ"
. ขนาดกะทัดรัดของอุปกรณ์สำหรับวางภายในตัวล็อค
. เพิ่มระยะห่างระหว่างเครื่องอ่านและคอนโทรลเลอร์ - สูงสุด 35 ม. (ในกรณีใช้เครื่องอ่านแบบไร้สัมผัส STORK - Fly 2 / Fly 3)
. โหมดการทำงาน "ทริกเกอร์" - การควบคุมการทำงานของแอคชูเอเตอร์ (เปิด/ปิด): สัมผัสปุ่มเดียว - ปิดแอคชูเอเตอร์ สัมผัสที่สอง - เปิด
. การป้องกันรหัสโทเค็น 5 ไบต์
. โหมดการเขียนโปรแกรมที่เรียบง่ายและใช้งานง่าย

ความเป็นไปได้

การเขียนโปรแกรมผู้ใช้ของคีย์หลักสองอัน
. การเขียนโปรแกรมคีย์แบบกำหนดเองได้สูงสุด 900 คีย์โดยใช้คีย์หลัก
. หน่วยความจำแบบไม่ลบเลือนสำหรับจัดเก็บข้อมูลเกี่ยวกับคีย์ผู้ใช้
. การเขียนโปรแกรมโดยใช้คีย์หลักเวลาเปิดล็อคตั้งแต่ 0.5 ถึง 127 วินาที เพิ่มขึ้นครั้งละ 0.5 วินาที
. การลบคีย์ผู้ใช้ทั้งหมดโดยใช้คีย์หลัก
. ความเป็นไปได้เพิ่มเติมในการเปิดล็อคโดยใช้ปุ่ม "เปิด"
. ป้องกันไฟฟ้าสถิตย์
. บ่งชี้โหมดการทำงานทั้งหมด (เสียงกริ่งในตัว, LED)
. การเปลี่ยนคีย์หลักโดยไม่ต้องล้างฐานผู้ใช้
. การรีเซ็ตฐานข้อมูลคีย์ผู้ใช้โดยไม่ต้องลบคีย์หลัก
. โหมด "การป้อนโทเค็นลงในหน่วยความจำคอนโทรลเลอร์โดยอัตโนมัติ" ตัวระบุใหม่แต่ละตัวที่นำมาสู่เครื่องอ่านจะถูกเขียนลงในหน่วยความจำของคอนโทรลเลอร์ และโหมดการส่งผ่านจะถูกเริ่มต้นพร้อมกัน

ข้อมูลจำเพาะ

คอนโทรลเลอร์จ่ายแรงดันไฟ 9 - 15V (DC)
. ปริมาณการใช้กระแสไฟของตัวควบคุมที่แหล่งจ่าย U = 12 โวลต์:
- ในโหมดสแตนด์บายไม่เกิน 15 mA
- ในโหมดสวิตชิ่งไม่เกิน 30 mA
. กระแสเอาต์พุตควบคุมการล็อคไม่เกิน 3 A
. เอาต์พุตควบคุมบ่งชี้เป็นทรานซิสเตอร์แบบ open collector ที่มีตัวต้านทาน 1 kOhm กระแสไม่เกิน 30 mA
. ระยะห่างจากเครื่องอ่านถึงตัวควบคุม:
- Touch Memory ด้วยหน้าตัดสายเคเบิล 0.22 มม.² ไม่เกิน 100 ม.
- Wiegand-26 ที่มีหน้าตัดสายเคเบิล 0.22 มม.² ไม่เกิน 100 ม.
. ประเภทกุญแจ DS1990A, การ์ด RFID/พวงกุญแจ
. หน่วยความจำ EEPROM แบบไม่ลบเลือนในตัว
. เวลาระบุคีย์สูงสุดคือ 0.7 วินาที
. จัมเปอร์สำหรับเลือกประเภทของล็อค: แม่เหล็กไฟฟ้า, ระบบเครื่องกลไฟฟ้า
. ช่วงอุณหภูมิในการทำงานตั้งแต่ -35°C ถึง +50°C
. ความชื้นสัมพัทธ์ไม่เกิน 90%
. ขนาดโดยรวม (LxWxH) 47x32x13 มม.

เนื้อหาของการจัดส่ง

คอนโทรลเลอร์ - 1 ชิ้น
. จัมเปอร์ - 3 ชิ้น
. คำแนะนำ - 1 ชิ้น
. บรรจุภัณฑ์ - 1 ชิ้น

ตัวควบคุม ACS อัตโนมัติ LC-1DW (Wiegand, TM), ตัวควบคุม ACS อัตโนมัติ

บ่อยครั้งที่จำเป็นต้องเชื่อมต่อเครื่องอ่านไบโอเมตริกซ์กับระบบควบคุมการเข้าออกมาตรฐาน ระบบรักษาความปลอดภัยและสัญญาณแจ้งเตือนเหตุเพลิงไหม้ และอื่นๆ อุปกรณ์ Anviz รองรับวิธีง่ายๆ ในการเชื่อมต่อและกำหนดค่าเข้ากับระบบมาตรฐานโดยใช้โปรโตคอล Wiegand

รองรับรูปแบบ Wiegand

เทอร์มินัลไบโอเมตริกซ์ของ Anviz ที่มีเอาท์พุต Wiegand จะสามารถออกรหัสผู้ใช้ไปยังเอาท์พุต Wiegand ได้ เมื่อจดจำบุคคลโดยใช้พารามิเตอร์ไบโอเมตริกซ์ได้ รหัสผู้ใช้สามารถออกได้ในรูปแบบต่อไปนี้:

หมายเลขบัตร (รหัสบัตร)

ในโหมดนี้ หลังจากระบุผู้ใช้แล้ว หากเขามีสิทธิ์ในการผ่าน รหัสการ์ดของผู้ใช้ที่จัดเก็บไว้ในฐานข้อมูลเทอร์มินัล Anviz จะถูกส่งไปยังตัวควบคุมของระบบ (ACS) ที่เราต้องการเชื่อมต่อเครื่องอ่านไบโอเมตริกซ์

ดังนั้น ผู้ใช้สามารถนำทางทั่วทั้งระบบได้โดยใช้การ์ดและนิ้วของตนตามสิทธิ์ที่ได้รับมอบหมาย ในกรณีนี้ รหัสบัตรผู้ใช้เดียวกันจะรวมอยู่ในรายงานของระบบหลัก ไม่ว่าจะใช้เครื่องอ่านแบบปกติหรือแบบไบโอเมตริกซ์ก็ตาม

อุปกรณ์ Anviz รองรับเฉพาะโปรโตคอล Wiegand 26 เป็นค่าเริ่มต้น

อันวิซ วีแกนด์ (รหัส อันวิซ)

เมื่อใช้โหมดนี้ หลังจากระบุผู้ใช้แล้ว เทอร์มินัลไบโอเมตริกซ์ Anviz จะส่งรหัสคงที่และไม่รู้จักผ่านโปรโตคอล Wiegand

โหมดนี้ใช้เพื่อจัดระเบียบการเปิดประตูที่ปลอดภัยซึ่งอยู่ภายนอกสำนักงาน ตัวอย่างเช่น คุณสามารถใช้คอนโทรลเลอร์ SC-011 ซึ่งติดตั้งอยู่ภายในอาคารเพื่อทำงานในโหมดนี้ ในกรณีนี้ คุณจะไม่สามารถใช้รีเลย์ควบคุมการล็อคที่อยู่ภายในเทอร์มินัลเพื่อเข้าถึงห้องได้

แก้ไขรหัสพื้นที่ Wiegand

โหมดนี้มีหน้าที่ในการส่งรหัส Wiegand เพียงบางส่วนผ่านโปรโตคอล Wiegand กล่าวคือ รหัสอุปกรณ์จะถูกส่งในรูปแบบของรหัส Wiegand 8 บิตแรก โดยปกติจะใช้เป็นรหัสห้องหรือรหัสจุดผ่านสำหรับ ระบบที่มีการจัดองค์กรการเข้าถึงตามประเภทของอุปกรณ์ที่ใช้

วีแกนด์26

ในโหมดนี้ Anviz จะส่งรหัสอุปกรณ์ + รหัสผู้ใช้รวมกันผ่านโปรโตคอล Wiegand โหมดนี้สามารถใช้ได้กับระบบที่ไม่ได้จัดให้มีการใช้การ์ดเลย ในขณะเดียวกัน เนื่องจากรหัสอุปกรณ์ไม่ค่อยได้ใช้ เมื่อเชื่อมต่ออุปกรณ์ Anviz ในโหมดนี้ จึงจำเป็นต้องกำหนดค่ารหัสอุปกรณ์เดียวกันให้กับระบบอื่น

การเชื่อมต่ออุปกรณ์ Anviz

ในการเชื่อมต่ออุปกรณ์ไบโอเมตริกซ์ของ Anviz กับระบบควบคุมการเข้าออกมาตรฐาน การติดตามเวลา ระบบรักษาความปลอดภัยและสัญญาณแจ้งเตือนเหตุเพลิงไหม้ บายพาสปริมณฑล และอื่นๆ คุณต้องดำเนินการดังต่อไปนี้:

เชื่อมต่อโปรโตคอล Wiegand

เมื่อเชื่อมต่อจำเป็นต้องเชื่อมต่อเอาต์พุต Anviz ตามลำดับ: wOut0, wOut1 และ GND กับเทอร์มินัล wIn0, wIn1, GND ของอินเทอร์เฟซอินพุตโปรโตคอล Wiegand ของระบบที่เรากำลังเชื่อมต่อตามลำดับ

ตั้งค่าซอฟต์แวร์

จำเป็นต้องกำหนดค่าประเภทเอาต์พุต Wiegand ในโปรแกรมการเชื่อมต่ออุปกรณ์ Anviz (ให้มาฟรีพร้อมกับอุปกรณ์ Anviz) ตามโหมดที่เลือก ดูรูปด้านล่าง

นี่คือรหัสล็อคแบบรวมสำหรับ 4 ประตูที่มีความสามารถขนาดใหญ่มาก เป็นไปได้มากว่าคุณไม่ต้องการมัน
และฉันต้องลดประตูออฟฟิศ 4 บานในออฟฟิศเดียว และแก้ไขปัญหาเรื่องกุญแจทั้งหมด เพราะ... มีคนจำนวนมากมาเดินเล่นแถวนั้นโดยไม่มีวันหยุดหรือนอน ตัวควบคุมดังกล่าวถูกแขวนไว้ที่ประตูทางเข้าแล้ว

นี่เป็นครั้งแรกที่ฉันได้พบกับระบบดังกล่าว ดังนั้นฉันจึงต้องดำดิ่งลงสู่รายละเอียดปลีกย่อยเหล่านี้ตามปกติ ที่นี่ฉันต้องการเขียนสิ่งที่ฉันพบเพื่อให้คุณมีงานน้อยลงในภายหลัง
ผู้ขายรายนี้หมดชุดดังกล่าวบน eBay แล้ว แต่ง่ายต่อการค้นหาด้วยชื่อของชื่อ

ระบบนี้ควรแก้ไขปัญหาอะไรบ้าง? เหตุใดคุณจึงเลือกมันและไม่ใช่ระบบล็อคแบบรวมแบบสแตนด์อโลนแบบอื่น
ระบบนี้เชื่อมต่อกับเครือข่ายและช่วยให้คุณสามารถตรวจสอบจากคอมพิวเตอร์แบบเรียลไทม์ที่ประตูเปิด, พนักงานผ่าน, แสดงรูปถ่าย, ลงทะเบียนเวลาเข้าและออก, ควบคุมลิฟต์ผ่านแผงเพิ่มเติม, ควบคุมประตูเดียวเพื่อควบคุมการเข้าและออก ใช้การ์ด เฝ้าดูประตูที่เปิดอยู่ เปิดเสียงไซเรน ติดตามมื้ออาหารโดยใช้การ์ดในโรงอาหาร และเห็นได้ชัดว่าเป็นอย่างอื่น ฉันจำทุกอย่างไม่ได้ในทันที

ตัวควบคุมทำงานโดยอัตโนมัติจากเครือข่าย ผู้ใช้และการตั้งค่าจะถูกโหลดเข้าไป และบันทึกการตอบสนองก็จะถูกจัดเก็บด้วย ซึ่งบางครั้งซอฟต์แวร์สามารถอัปโหลดแบบเรียลไทม์ได้
ซอฟต์แวร์ใช้ไฟล์เข้าถึง ms หรือเครือข่าย ms sql
จำนวนผู้ใช้สูงถึง 20,000 ราย และจำนวนรายการบันทึกสูงถึง 100,000 ราย

ซอฟต์แวร์นี้เขียนบน .net ดังนั้นจึงง่ายต่อการดูแหล่งที่มา ในซอร์สโค้ด คุณสามารถค้นหารหัสผ่านสำหรับฐานข้อมูลได้
168168
ในการดูฐานข้อมูลคุณต้องมีโปรแกรม
รหัสผ่านเพื่อเข้าสู่เมนูการตั้งค่าเพิ่มเติมคือ 5678
เข้าสู่ระบบเมื่อคุณเริ่มโปรแกรม abc ครั้งแรก รหัสผ่าน 123

มีซอฟต์แวร์เวอร์ชันภาษาเยอรมันซึ่งมีราคา 80 ยูโร มันถูกสร้างความสับสนแล้วและมาพร้อมกับคีย์ USB มันจะไม่เริ่มต้นหากไม่มีมัน

สำหรับกรณีของฉัน ฉันต้องการเครื่องอ่านที่มีปุ่ม เพราะ... มีพนักงานที่จะทำงานที่นั่นถาวร มีทั้งคนงานชั่วคราว เด็กฝึกงาน และคนทำความสะอาด ไม่มีประโยชน์ที่จะออกบัตรให้พวกเขาเขียนพินและวันหมดอายุได้ง่ายกว่าและถูกกว่า บุคลากรสามารถรวมกันเป็นกลุ่มและกลุ่มย่อยได้
เครื่องอ่านที่ไม่มีปุ่มมีราคาถูกกว่าแน่นอน

อย่างที่คุณเห็นในภาพ ชุดนี้ประกอบด้วยหลายส่วน









ส่วนหลังเป็นปุ่มบังคับประตูให้เปิดจากด้านใน และมีไฟ 12V สำหรับสลัก ในกรณีของฉันสิ่งนี้ไม่จำเป็น
สลักแบบทั่วไปกินไฟ 0.7A จาก 12V ได้รับการออกแบบมาเพื่อการใช้งานระยะสั้น
มีสลักที่มีการตรึงและการง้าง
หากต้องการเปิดประตูทิ้งไว้ก็มีสลักพร้อมคันโยกขนาดเล็ก ต้องย้ายไปยังตำแหน่งอื่นแล้วสลักจะไม่ล็อค

สลักแบบง้างมีแมงดาอยู่ใกล้ลิ้น มีการใช้พัลส์ปัจจุบันกับสลักดังกล่าวและปลดล็อคแล้ว คุณเพียงแค่ต้องดันประตูแล้วประตูก็จะเปิดออก หากประตูกระแทก สลักจะล็อคตามปกติ หากไม่มีแมงดา ประตูจะเปิดได้เฉพาะเมื่อใช้แรงดันไฟฟ้าเท่านั้น สลักประเภทนี้ทั้งหมดไม่ได้ออกแบบมาเพื่อการใช้งานในระยะยาวและมีความร้อนสูง

เมื่อติดตั้งสลักให้วางไดโอดป้องกันไว้ที่หน้าสัมผัสเพราะ ไม่ได้อยู่บนบอร์ดควบคุมแม้ว่าจะมีวาริสเตอร์อยู่ก็ตาม แต่สายไฟที่ยาวและกระแสไฟที่ค่อนข้างเหมาะสมจะเปลี่ยนสิ่งทั้งหมดให้กลายเป็นระบบออสซิลเลเตอร์แบบเปิดที่ความถี่คลื่นสั้น ซึ่งอาจนำไปสู่ความผิดพลาดของตัวควบคุมและประกายไฟที่ไม่จำเป็นที่หน้าสัมผัสรีเลย์ มิฉะนั้น ฉันเพียงแค่เชื่อมต่อหน้าสัมผัสเข้ากับแหล่งจ่ายไฟ 12V และเมื่อฉันตัดการเชื่อมต่อ ก็ไม่มีประกายไฟเลย

นอกจากนี้ยังมีสลักที่ปลดล็อคเมื่อไม่มีแรงดันไฟฟ้า วางไว้ที่ทางออกฉุกเฉิน
นอกจากนี้ยังมีที่ยึดประตูแบบแม่เหล็กโดยจ่ายกระแสไฟให้กับพวกเขาและแม่เหล็กจะยึดประตูด้วยแรง 300 กิโลกรัม สำหรับผู้ถือดังกล่าว จะมีแหล่งจ่ายไฟ 2 ชุดรวมอยู่ด้วย

ในกรณีของฉันพัลส์จะเป็น 1 วินาทีและแหล่งจ่ายไฟในกล่องดำจะเพียงพอสำหรับสิ่งนี้ มีทรานซิสเตอร์ถึง220บนหม้อน้ำ มีวงจรปรับแรงดันไฟฟ้าให้คงที่และชาร์จแบตเตอรี่ตะกั่ว

ตอนนี้ทฤษฎีเกี่ยวกับโปรโตคอล wiegand 26
ครั้งหนึ่งมีชายคนหนึ่งนั่งอยู่ในออฟฟิศแห่งหนึ่ง ทันใดนั้นก็มีเรื่องเกิดขึ้นกับเขา เช่นเดียวกับคุณสามารถใช้บัตรแม่เหล็กแทนการซื้อของได้ และฉันก็ยื่นอินเทอร์เฟซด้วยชื่อของฉัน

แน่นอนว่าในความเป็นจริงทุกอย่างไม่ได้เป็นอย่างนั้น Wiegand ค้นพบเอฟเฟกต์บางอย่าง ซึ่งมีการอธิบายสาระสำคัญไว้ในวิดีโอ

หากคุณเข้าใจบางสิ่ง โปรดเขียนความคิดเห็นเป็นภาษามนุษย์

ซึ่งหมายความว่าอินเทอร์เฟซมี date0 และ date1 เส้นลวดเส้นหนึ่งมีเลขศูนย์ และอีกเส้นหนึ่งมีเลขศูนย์
พวกมันถูกส่งโดยแรงกระตุ้นของแรงดึงดูดของลวดลงสู่พื้น

รหัสแบ่งออกเป็นรหัสอาคารและรหัสบัตร มีการจัดสรร 24 บิตสำหรับสิ่งนี้และอีก 2 บิตที่ด้านข้างสำหรับการควบคุมพาริตี มันเป็นเรื่องปกติสำหรับสมัยนั้น ตอนนี้สิ่งนี้ทำให้เกิดเสียงหัวเราะอันดุเดือด ท้ายที่สุดแล้ว Wiegand ไม่มีการสื่อสารแบบสองทาง ไม่มีการเข้ารหัสและการควบคุมความสมบูรณ์ของข้อมูล คอนโทรลเลอร์แต่ละตัวมีสายเคเบิลแยกกันที่มี 5 สาย ไม่มีมาตรฐานเดียว

แต่ทุกคนยังคงตอกย้ำขยะนี้ต่อไป ตอนที่ผมยังไม่เข้าหัวข้อก็นึกว่าจะเชื่อมต่อกันผ่าน RS485 ซะหมด คุณคงจินตนาการถึงความตกใจของฉันเมื่อปรากฎว่าฉันต้องใช้สายไฟจำนวนหนึ่ง แต่เป็นไปได้ที่จะดึงสายไฟ 4 เส้นในสายเคเบิลเส้นเดียวและสร้างอินพุตสำหรับเซ็นเซอร์ประตูและรีเลย์สำหรับล็อคในเครื่องอ่านแต่ละตัว แต่มีการอ่านด้วยอินเทอร์เฟซดังกล่าวและมี RS232 ความจริงก็คือด้วยเหตุผลบางประการที่มีราคาแพงกว่าและหายากในการขาย แต่คุณยังคงต้องดึงสายไฟออกจากตัวล็อคและจากสวิตช์กก





และฉันก็ล้มกระดานไปแล้ว



คอนโทรลเลอร์ nxp, ROM ซีรีส์ 25, นาฬิกาเรียลไทม์ และอีเธอร์เน็ต Phy ไม่มีอะไรน่าสนใจ.

นี่คือลักษณะของบอร์ดควบคุม วิกแกนด์ยังมีเอาต์พุตสำหรับ LED และทวีตเตอร์อีกด้วย สิ่งนี้จะต้องได้รับการจัดการแยกกัน
ไฟแสดง SYS ควรกะพริบ แสดงว่าคอนโทรลเลอร์ไม่ได้ถูกแช่แข็ง ID แสดงแพ็กเก็ตที่ได้รับจากเครื่องอ่าน บางครั้งข้อผิดพลาดจะปรากฏขึ้นหากข้อมูลไม่ได้เข้าสู่คอนโทรลเลอร์หรือเครือข่ายหลุด

เครื่องอ่านมีความแตกต่างกันอย่างไรในแง่ของความเข้ากันได้กับคอนโทรลเลอร์? อย่างที่บอกไปแล้วว่าไม่มีมาตรฐานในรูปแบบข้อมูล เหล่านั้น. หากคุณแสดงบัตร รหัสทั้งหมดจะออกพร้อมกัน หากคุณกดรหัส PIN รหัส BCD 4 บิตจะถูกส่งทุกครั้งที่คุณกด ผู้ควบคุมจะต้องเข้าใจอักขระที่สิ้นสุด ในคอนโทรลเลอร์นี้ นี่คือลำดับ esc 111 ent (ไม่บังคับ *111#)
มีเครื่องอ่านที่มีราคาแพงกว่าที่สามารถส่งพินในโหมดนี้หรือในโหมด 26 บิตได้ สิ่งนี้ได้รับการกำหนดค่าในตัวอ่านเอง หรือในซอฟต์แวร์คอนโทรลเลอร์ (ไม่ใช่อันนี้) มีตัวเลือกสำหรับการตั้งค่าและตีความข้อมูล

ตอนแรกฉันไม่สามารถตั้งค่าซอฟต์แวร์สำหรับพินได้ มันแสดงข้อผิดพลาดในรูปแบบของรหัสผ่านไม่ถูกต้อง ฉันคิดว่าโค้ดที่พิมพ์ถูกตีความไม่ถูกต้องเนื่องจากโหมด 26 หรือ 34 บิต แต่ทั้งสองโหมดนี้ไม่มีผลต่อข้อผิดพลาด ฉันเขียนถึงผู้ขายและเขาก็โง่เช่นกันเขาบอกว่าเครื่องอ่านใช้งานได้ในโหมดการ์ด + พินเท่านั้นเมื่อคุณต้องการกดรหัสแล้วแสดงการ์ด แต่สำนักงานมีตัวควบคุมเดียวกัน แม้ว่าจะเป็นเครื่องอ่านที่แตกต่างกันและพินก็ใช้งานได้ที่นั่น

หากต้องการดูว่าเครื่องอ่านส่งสัญญาณอะไรไปที่นั่น ฉันจึงประกอบต้นแบบบน Arduino อัปโหลดเฟิร์มแวร์ทดสอบ ก็แค่นั้นแหละ



อย่างที่คุณเห็นเมื่อกดปุ่มจะมีการส่งรหัส bcd เพียง 4 บิตเท่านั้น (โหมด wiegand 6 เนื่องจากยังมีบิตพาริตี 2 บิต)
ถ้าเราแสดงบัตรก็จะแจก
บิต=26
ไบนารีดิบ=10100010111000011100110110
นี่คือ 4572059 ซึ่งเป็นสิ่งที่แสดงบนฉลาก

นี่คือหลุมพราง ด้านล่างฉันจะแสดงจุดนี้

หินก้อนที่สองคือสัญญาณควบคุมสำหรับ LED และออด ตามค่าเริ่มต้น แถบสีแดงบนเครื่องอ่านจะสว่างขึ้น หากสายสีน้ำเงินและสีเหลืองลัดวงจรลงกราวด์ สายสีเขียวจะสว่างขึ้นและส่งเสียงบี๊บดัง หากรหัสถูกต้องควรมีสัญญาณ 1s ยาว และหากรหัสไม่ถูกต้องสัญญาณสั้น 4 อัน แต่ผู้อ่านไม่ตอบสนอง แม้ว่าระดับแรงดันไฟฟ้าจะเปลี่ยนไป แต่ปัญหาก็คือระดับแรงดันไฟฟ้าไม่ลดลงต่ำกว่า 2V และจำเป็นต้องใช้ไฟ 1.7V เพื่อกระตุ้น LED และยิ่งแย่ไปกว่านั้นคือหากมีผู้ส่งเสียงดังเอี๊ยด - เริ่มส่งเสียงหวีดเบา ๆ ที่ 1.7V แต่เพื่อที่จะส่งเสียงดังและชัดเจนคุณต้องมีอย่างน้อย 1.2V ตัวควบคุมไม่ดึงดูดลงพื้นตามปกติ เนื่องจาก... เอาต์พุตได้รับการป้องกันโดยตัวต้านทาน 470 โอห์มคู่หนึ่ง + อีก 10k ถูกดึงสูงถึง 5v ที่อินพุต ฉันต้องล้อมบอร์ดด้วยบัฟเฟอร์ 74245 จากนั้นมันก็ทำงานได้ดี ฉันยังต้องการสร้างเอาต์พุต 4 ช่องสำหรับออปโตคัปเปลอร์เพื่อเชื่อมต่อกับอินพุตสัญญาณเตือนของ DVR เพื่อให้สามารถวางเครื่องหมายบนไทม์ไลน์ได้ ในกรณีของผม กล้องตัวหนึ่งมองเห็นประตู 4 บาน แต่ตอนนี้ฉันกำลังทำอะไรผิดกับวงจร และออปโตคัปเปลอร์ไม่ยอมเปิด

ฉันบัดกรีทรานซิสเตอร์สำหรับออปโตคัปเปลอร์ที่นั่นด้วย แต่ดูเหมือนว่าฉันต้องถอดไดโอดออกแล้วใส่ลงในอินพุต
เครื่องอ่านทั้ง 4 ตัวต้องไปที่ออปโตคัปเปลอร์ตัวเดียวเพราะว่า ประตู 4 บานในสำนักงานใต้ห้องขังเดียว

นอกจากคอนโทรลเลอร์แล้วคุณยังสามารถซื้อบอร์ดเพิ่มเติมสำหรับ 1 อินพุตและ 4 เอาต์พุตได้

คุณอาจถามว่าทำไมคุณถึงต้องการฟาร์มรวมพร้อมกระดานถ้าคุณมีกระดานพร้อมรีเลย์อยู่แล้ว?
ใช่ มีเพียงซอฟต์แวร์เท่านั้นที่ไม่มีการแจ้งเตือนรหัสผ่านที่ไม่ถูกต้องหรือถูกต้อง

แล้วซอฟต์แวร์อยู่ที่ไหนแล้ว?

มองหาเส้นตรงนั้น
ซอฟต์แวร์ ตัวควบคุมการเข้าถึง ซอฟต์แวร์-20171227 ดาวน์โหลด 16.2 MB
นี่เป็นเวอร์ชันล่าสุด

หลังจากเปิดตัวให้ตรงไปที่เครื่องมือ - ฟังก์ชั่นเพิ่มเติม ใส่รหัสผ่าน 5678
แท็บการกำหนดค่า ทำเครื่องหมายในช่องเปิดใช้งานการเข้าถึงปุ่มกด เราเริ่มต้นใหม่ (ปุ่ม Pwd MGT ปรากฏที่ด้านบน)

คลิกที่เฟืองขนาดใหญ่ของการตั้งค่าทางด้านซ้าย เลือกคอนโทรลเลอร์ที่นั่น

คลิกค้นหา ตัวควบคุมจะพบหากอยู่บนเครือข่ายฟิสิคัล มาเพิ่มกันเถอะ จากนั้นคลิกที่ตัวควบคุมที่เพิ่มเข้ามา 2 ครั้ง หน้าต่างการตั้งค่าจะเปิดขึ้น หากคุณใช้คอนโทรลเลอร์มากกว่าหนึ่งตัว แสดงว่ามีโซนต่างๆ นั่นคือสิ่งที่ฉันมี ตัวควบคุมตัวหนึ่งควบคุมประตูทางเข้าบนพื้น และตัวที่สองควบคุมห้องสำนักงานบนชั้นเดียวกัน

คลิกถัดไปและไปที่หน้าต่างเครื่องหมายประตู


เราเรียกประตูเลือกสถานะของประตู ตามค่าเริ่มต้น พวกมันจะถูกควบคุมโดยคอนโทรลเลอร์หรือสามารถเปิดหรือปิดอย่างถาวรได้
เลือกเวลาเปิดเป็นวินาทีด้วย ในกรณีของฉัน ชีพจรสั้นก็เพียงพอแล้ว ที่นี่คุณไม่สามารถเลือกโหมดให้ประตูเปิดอยู่ตลอดเวลาได้ สิ่งนี้เรียกว่าประตูเป็นสวิตช์ ต้องใช้สวิตช์กกและเปิดใช้งานผ่านส่วนที่มีการป้องกันด้วยรหัสผ่าน

ช่องทำเครื่องหมายการเข้างานทำให้คุณสามารถบันทึกเวลาตอบสนองลงในบันทึกได้ สิ่งนี้มีประโยชน์สำหรับตัวเลือกการติดตามเวลา

ในเมนูแผนก เราสร้างแผนกและแม้แต่แผนกย่อย
จากนั้นเราก็ไปหาพนักงาน
มีการเพิ่มการ์ดเป็นกลุ่มและมีการเพิ่มด้วยตนเอง ในชุด คุณสามารถใช้เครื่องอ่าน USB หรือเลือกเครื่องอ่านที่ประตูก็ได้
จากนั้นคุณสามารถมอบการ์ดสุ่มให้กับบุคคลนั้นจากแพ็คที่กำหนดให้กับแผนกเฉพาะได้ หากคุณมีเครื่องอ่าน USB บนเดสก์ท็อป ให้วางเคอร์เซอร์ในช่องรหัสการ์ดแล้วปัดการ์ด โปรแกรมจะค้นหารายการด้วยการ์ดใบนี้คลิก 2 ครั้งแล้วป้อนชื่อและนามสกุลที่นั่น สบายมาก.

หรือเราพิมพ์ด้วยมือแต่คุณสามารถวางเคอร์เซอร์ในช่องรหัสบัตรแล้วอ่านการ์ดได้ สิ่งที่คุณต้องมีคือเครื่องอ่านที่จำลองแป้นพิมพ์ USB และเขียนตัวเลขลงในช่องข้อความใดก็ได้ มันรวมอยู่ในชุดของฉันแม้ว่าจะไม่ได้อยู่ในล็อตก็ตาม

แล้วพินล่ะ?
ที่นี่ฉันมีปัญหามากเพราะ... ไม่มีคำอธิบายอยู่ในคู่มือ ฉันอ่านคู่มือกี่ครั้ง - ทั้งหมดนี้เป็นคู่มือของกัปตันราวกับว่ามันพัง ไม่มีการเขียนว่าฟังก์ชันนี้คืออะไรและใช้ทำอะไร (ไม่ได้หมายถึงคอนโทรลเลอร์นี้โดยเฉพาะ)

ตอนนี้คลิกปุ่มที่ด้านบนของ Pwd MGT





ถัดไป เพิ่มผู้ใช้ใหม่ เขียนพินของคุณในช่องการ์ด ต้องไม่เริ่มจากศูนย์และต้องไม่เกิน 65535
ในช่อง PIN ให้ลบเครื่องหมายดอกจันทั้งหมด หากคุณต้องการบัตรอนุญาต + พิน คุณจะต้องเปิดใช้งานช่องทำเครื่องหมายในแท็บแรกของภาพหน้าจอด้านบน
พินมาตรฐาน 345678

ป้อนพินดังนี้: esc pin ent หรือ * pin # สำหรับผู้อ่านบางคน เครื่องหมายดอกจันที่จุดเริ่มต้นไม่จำเป็น
พินไม่สามารถเริ่มจากศูนย์ได้ แต่จะถูกละเว้น

ต่อไปเราจะแจกจ่ายสิทธิ์การเข้าถึง



คลิกอนุญาตและอัปโหลด ข้อมูลจะถูกดาวน์โหลดไปยังคอนโทรลเลอร์
ฐานข้อมูลเตรียมพร้อมแล้ว ตอนนี้เราต้องอัปโหลดไปยังคอนโทรลเลอร์ในรูปแบบของการตั้งค่าสำหรับคอนโทรลเลอร์และสิทธิ์
คลิกที่ปุ่มปฏิบัติการทางด้านซ้าย เลือกประตูทั้งหมด คลิกอัปโหลด

นี่เป็นจุดสำคัญ ฐานข้อมูลสามารถอัปโหลดไปยังคอนโทรลเลอร์เท่านั้น หากฐานเสียหายจะไม่สามารถรวมกลับได้ มีฟังก์ชั่นสำรองข้อมูลสำหรับสิ่งนี้
ธุรกรรมสามารถระบายออกจากตัวควบคุมหรือรวมและตรวจสอบแบบเรียลไทม์ได้

นั่นดูเหมือนจะเป็นทั้งหมด เพื่อความปลอดภัย ในการตั้งค่าคอนโทรลเลอร์ คุณสามารถเลือกการเข้าถึงจากที่อยู่ IP ที่ระบุได้
สำหรับผู้ที่ต้องการสร้างระบบของตัวเองและแนบเว็บเพจก็มีทั้งคลาสใน PHP และ Python
+17 เพิ่มในรายการโปรด ฉันชอบรีวิว +43 +68