آموزش رزبری پای دسته‌بندی رزبری پای پایتون Python پروژه رزبری پای

آموزش راه اندازی RFID با رزبری پای و پایتون Python

getting-stated-with-python-rfid-and-raspberry-pi-digispark
نوشته شده توسط پریسا پوربلورچیان

تکنولوژی RFID در گذر زمان بین کاربران بسیار محبوب شده و ایده های خلاقانه ای با آن اجرا شده است. در آموزش های قبلی RFID از میکروکنترل هایی از خانواده Arduino جهت راه اندازی و طراحی پروژه درب باز کن RFID استفاده کردیم. در این آموزش بخش اول راه اندازی RFID با کدنویسی پایتون به همراه برد رزبری پای Raspberry Pi را آموزش خواهیم داد. در ادامه با مرجع تخصصی رزبری پای، دیجی اسپارک همراه باشید.

 


عملکرد RFID و روش کارایی


RFID مخفف عبارت Radio Frequency Indentification می‌باشد که توسط میدان مغناطیسی ایجاد شده به صورت اتوماتیک تگ های موجود در اشیا را ردیابی و شناسایی می‌کند. تگ های RFID حاوی اطلاعات الکترونیکی هستند که اطلاعات را از ریدر اصلی RFID دریافت می‌کنند.به عبارتی RFID را می‌توان یک تکنولوژی روش تشخیص خودکار و ثبت دیتاها نام برد. هر RFID با فرکانس منحصر به فرد خود کار کرده و بایستی از تگ هایی با فرکانس مشترک جهت برقراری ارتباط استفاده کرد. در این آموزش از ماژول پرطرفدار RFID RC522 جهت تست پروژه استفاده شده است. فرکانس کاری RC522 برابر با ۱۳٫۵۶Khz بوده و تگ و کارت های مورد استفاده بایستی دقیقا برابر با فرکانس کاری ۱۳٫۵۶ باشند. فرکانس کاری ماژول RFID در باند ۱۳٫۵۶ مگاهرتز می‌باشد. ولتاژ کاری آن ۳٫۳ ولت بوده و جریان آن بین ۱۳ تا ۲۶ میلی آمپر است. پروتکل ارتباطی SPI و ماکزیمم سرعت آن ۱۰Mbit/S می‌باشد.

 


اتصال RFID با رزبری پای Raspberry Pi


با توجه به اینکه پروتکل ارتباطی RFID به صورت SPI است، بایستی از پایه های GPIO که نقش رابط SPI را در رزبری پای ایفا می‌کنند، استفاده کرد.

در تصویر بالا پایه هایی که با رنگ بنفش مشخص شده است، نقش پروتکل SPI را دارند. که با توجه به نامگذاری پایه ها مانند SDA, SCK, MISO, MOSI از هر کدام استفاده خواهد شد.

  • پایه SDA ماژول RFID RC522 را به پایه Pin 24 اتصال دهید.
  • پایه SCK ماژول RFID RC522 را به پایه Pin 23 اتصال دهید.
  • پایه MOSI ماژول RFID RC522 را به پایه Pin 19 اتصال دهید.
  • پایه MISO ماژول RFID RC522 را به پایه Pin 21 اتصال دهید.
  • پایه RST ماژول RFID RC522 را به پایه Pin 22 اتصال دهید.
  • پایه GND ماژول RFID RC522 را به پایه GND اتصال دهید.
  • پایه VCC ماژول RFID RC522 را به پایه ۳٫۳ ولت اتصال دهید.

  


نصب پکیج RFID RC522 پایتون


جهت ارتباط رزبری پای و پایتون با ماژول کارت خوان RFID در ابتدا بایستی کتابخانه آن نصب شود.

  • ترمینال را باز کرده و عبارت git clone https://github.com/lthiery/SPI-Py.git را تایپ کنید.
  • در مرحله بعد SPI-Py را وارد نمایید.
  • سپس با دستور sudo python setup.py install نصب را انجام دهید.
  • حال دستور git clone https://github.com/pimylifeup/MFRC522-python.git را تایپ و اجرا کنید.

 


کد پایتون خواندن تگ RFID


جهت برقراری ارتباط RFID با برد رزبری پای Raspberry Pi ابتدا مطمئن شوید که ارتباط SPI برقرار است. برای اینکار همانند زیر عمل کنید:

  • از منو رزبین Preferences را انتخاب کنید.
  • سپس Raspberry Pi Configuration را انتخاب کنید.
  • در صفحه باز شده بر روی Interface کلیک کنید.
  • گزینه SPI بایستی Enabled باشد.

 در رزبین از منو Programming بر روی ادیتور mu کلیک کنید. سپس کد پایتون را به برنامه انتقال دهید.

#!/usr/bin/env python

import RPi.GPIO as GPIO
import sys
sys.path.append('/home/pi/MFRC522-python')
from mfrc522 import SimpleMFRC522

reader = SimpleMFRC522()

try:
    while True:
        text = input('Please Enter Your Name? ')
        print("Now, Close tag to the RFID Reader")
        id, text = reader.write(text)
        print("Card Added!")
        print(id)
        print(text)
        print('Welcome\t' + text)

        if 'Parisa' in text:
            print('Work Hard :))')

        else:
            print('But you are not in list')

            my_list = ['1058834720163']
            if '1058834720163' in my_list:
                print('Wating...')
                id, text = reader.write(text)
                print("Card Added!")
                print('Welcome\t' + text)



finally:
     GPIO.cleanup()

 


تحلیل کدهای پایتون Python


در کدها در ابتدا بایستی کتابخانه mfrc522 و کتابخانه gpio فراخوانی شود. زمانیکه نمیدانیم یک عمل چند بار بایستی در طول برنامه اجرا شود و میدانیم کی به پایان می‌رسد از While True استفاده خواهیم کرد.

while True:
pass or break
  •  در کدها یک ورودی به دلخواه تعریف شده و از ما درخواست نام خواهد کرد. Please Enter Your Name
  • پس از وارد کردن نام، پیغام Now, Close tag to the RFID Reader نمایش داده می‌شود.
  • با نزدیک شدن تگ به ریدر RFID، تگ خوانده شده و پیغام Card Added نمایش داده می‌شود.
  • سپس آی دی کارت نمایش داده می‌شود.
  • پس از آن پیغام خوش آمدگویی Welcome Parisa نمایش داده می‌شود

بخش دوم

 

حال در این مرحله می‌توانید تگ های خوانده شده را به برنامه اضافه کنید. برای اینکار از یک لیست List استفاده خواهیم کرد. لیست در واقع یک متغیر است که بخشی از حافظه را در برگرفته و شامل چندین متغیر در کنار هم می‌باشد و قابلیت اجرای عمل های مختلف بر روی المان های لیست را برای ما میسر می‌سازد.

  • در مرحله اول اگر نام وارد شده با اولین اسم انتخابی یکسان باشد، پیغام Work Hard نمایش داده می‌شود.
  • در صورتیکه نامی غیر از آن اسم وارد شود، پیغام But you are not in list نمایش داده خواهد شد.

 

 

تمامی مراحل ضروری جهت اجرای پروژه RFID با رزبری پای  Raspberry Pi در این آموزش توضیح داده شده است، مراحل را یک به یک اجرا کرده و در صورت هر گونه سوال از طریق بخش دیدگاه ها با ما در ارتباط باشید. 

 


پروژه و دریافت بن ارسال رایگان


برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکه‌های اجتماعی از جمله آپارات و اینستگرام، با هشتگ‌های دیجی_اسپارک   دانشجوکیت    digispark    daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۲۰۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

درباره نویسنده

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۷ دیدگاه

  • سلام، من یه پروژه باید انجام بدم برای یه جعبه ابزار که با nfc یا rfid کار میکنه بصورتی که کسانی که تگ رو دارند میتونن درب جعبه رو باز کنه و اگر ابزاری بر میدارن باید مشخص بشه تا زمانی که ابزارک برگردونن، بطوری که همیشه بدونیم چه ابزارهایی در جعبه نیستند و بوسیله چه کسی برداشته شدن
    اگر تجربه مشابهی دارید و امکانش هست راهنمایی کنید.
    متشکر

  • سلام درباره انبار مکانیزه سوال داشتم
    اطلاعی دارید
    ممنون میشم اگر دیتایی دارید راهنمایی کنید
    همچنین نرم افزاری میخوام برای خوندن تگ ها
    ممنون میشم پاسختون رو ایمیل کنید

    • با سلام
      در این خصوص بنده تجربه ای ندارم از دیگر دوستانی که اطلاعاتی دارند، تقاضا میکنم در بحث شرکت کنند.