יום חמישי, 27 באפריל 2017

גישה באמצעות כרטיס RFID

כרטיס RFID הוא אמצעי לתקשורת קרובה. טווח הקליטה שלו מסתכם בסנטימטרים ספורים והוא משמש בעיקר כתחליף לקוד גישה: רק מי שמחזיק בכרטיס הספציפי שמתאים לתכנה כפי שהוגדרה - יוכל להיכנס או לקבל הרשאה.

בדוגמא זו, אנו צורבים שני כרטיסים: בכרטיס אחד נצרוב את השם NADAV ובכרטיס השני TAMAR. רק ל TAMAR ניתן גישה על פי הקוד הזה והכרטיס השני של NADAV משמש אותנו לביקורת. 

מוכנים?

שלב א' - צריבת הכרטיס
בשלב א' נבנה מכשיר שכותב את השם שנרצה על הכרטיס / הצ'יפ. לאחר שהשם יהיה צרוב על הכרטיס, נוכל לעבור לשלב ב' בו נגדיר שרק שם מסוים רשאי להיכנס לבית ואילו אחרים - לא. 

רכיבים (חלקם ישמשו אותנו רק בשלב ב' אולם כדאי כבר לבנות את הכל עכשיו): 
  • לוח ארדואינו
  • מטריצה
  • קורא/ כותב RFID מסוג RC522
  • נורת לד אדומה
  • נורת לד ירוקה
  • 2 נגדים בערך של 220Ω
  • חוטים... 
הערה חשובה: אתם עלולים להתקל בבעיה והרכיב לא יעבוד כשורה. יתכן שזו בעיה של מתח ואז תצטרכו לבנות מעט אחרת את התרשים. ראו כאן פתרון לבעיה

תחילה נבנה את המעגל: 



הנורות לא ישמשו אותנו בשלב הראשון. נגיע אליהם בשלב ב'...

זה אמור להראות בערך כך (הנורות לא אמורות לדלוק עדיין..):




לאחר שהרכבנו הכל - 
  1. נוריד את הספריה מכאן. 
  2. נחלץ את הקבצים. 
  3. נדביק אותם במקומם (אצלי זה בנתיב הזה  C:\Program Files (x86)\Arduino\libraries)
  4. נסגור את תוכנת הארדואינו ונפתח מחדש. 
עכשיו אנחנו מוכנים להעלות את הקוד: 




אחרי שהעלינו את הקוד נפתח מסך סיריאלי:


  1. נעביר את הכרטיס על כותב הכרטיסים (RFID)
  2. נקיש # ו"שלח" או ENTER
  3. נקיש NADAV ואחר כך # 
  4. נלחץ על "שלח" או ENTER. 
  5. נשים את הכרטיס בצד.
  6. נחזור על התהליך עם הכרטיס השני אבל הפעם נחליף את NADAV ב TAMAR. 
כעת יש לנו שני כרטיסים שצרובים עליהם שני שמות שונים: TAMAR ו NADAV.

שלב ב' - קוד הרשאה 

כעת, צריך להעלות את הקוד החדש שיאפשר גישה ל TAMAR ויחסום את NADAV: 





אחרי שהעליתם את הקוד - נשאר לנו רק לבדוק אותו:

  1. העבירו את הכרטיס של NADAV ובדקו מה קורה
  2. העבירו את הכרטיס של TAMAR ובדקו מה קורה. 
אגב, אם תחפשו בקוד את המילה TAMAR - לא תמצאו. השורה בקוד שמגדירה לנו ש TAMAR נכנסת אולם NADAV למשל - לא, היא השורה הזאת:


על פי קוד ASCII, האות T (גדולה) מיוצגת באמצעות המספר 84, האות A באמצעות 65 וכן הלאה. בעזרת טבלת ה ASCII תוכלו ליצור כל שם שתרצו. אל תשכחו להשתמש בפסיקים. בסיום הפוסט מצורפת טבלת ASCII לנוחיותכם.

בהצלחה!





טבלת ASCII (התייחסו לטור ה Dec וטור ה Char. התעלמו כרגע מטור ה Hex):



שלב ג' - הוספת כפתור לפתיחה

אנחנו לקראת סיום הפרויקט אולם נותר עוד דבר אחד לעשות: להוסיף כפתור לפתיחה. כאשר הארדואינו נמצא בתוך החדר וקורא הכרטיסים נמצא מבחוץ - הפתיחה של הדלת מבפנים נעשית בעייתית. אם הקורא מצליח לקרוא דרך הדלת (דלת דקיקה או מחומרים שמאפשרים את זה - או שילוב בין השניים..) - השלב הזה מיותר. אולם אם הדלת שלכם היא סטנדרטית - לא ניתן לפתוח את הדלת מבפנים בעזרת קורא הכרטיסים ולכן יש צורך להתקין כפתור קטן כדי לאפשר פתיחה.

מבחינת המעגל - מדובר בסך הכל על הוספת כפתור. מבחינת הקוד - כל מה שיודע לעשות כרטיס TAMAR, צריך ללמד את הארדואינו שמעתה גם הכפתור ידע לעשות. די קל..

נתחיל?

תחילה נוסיף את הכפתור:

רכיבים נוספים:

  • לחצן
  • נגד 10KΩ
  • כמה חוטים. 
נבנה את המעגל על פי התרשים הבא: 



למי שהתבלבל:

  1. הוספנו לחצן שמקבל מתח מה 5V (ולשם כך פיצלנו את המתח כך שיגיע גם לקורא הכרטיסים וגם ללחצן). 
  2. חיברנו את הצד השני של הלחצן ליציאה מספר 8. 
  3. את אותו הצד חיברנו גם לשורת ה GND דרך נגד של 10KΩ. 
כעת נעלה את הקוד החדש שכולל את הפקודות ללחצן: 




בהצלחה!!


אין תגובות:

הוסף רשומת תגובה

הערות? הארות? יש לך משהו חשוב לספר לכולם? שאלות?

נשמח לשמוע!

(התגובה תפורסם בהקדם בכפוף לאישור מערכת מייקינג)