RFID / NFC آموزش رزبری پای رزبری پای پروژه رزبری پای

پروژه موزیک باکس NFC با برد رزبری پای Raspberry Pi Music Box

nfc-raspberry-pi-music-box-digispark
نوشته شده توسط امیر رحمانیان

 تصور کنید سیستم حضور و غیاب یک اداره وقتی کارت شناسایی به آن نزدیک می‌شود، کارمند را با نام خودش صدا خواهد زد و به شخص خوش آمد گویی خواهد کرد. به عنوان مثالی دیگر یک عروسک را در نظر بگیرید که وقتی کتاب الف را در دستش بگیرد، قصه شنگول و منگول رو تعریف خواهد کرد! و وقتی کتاب ب را بگیرد، قصه کدو قل قله زن! در ادامه با مرجع تخصصی رزبری پای Raspberry Pi به زبان فارسی، دیجی اسپارک همراه باشید.

 

هدف از پروژه موزیک باکس NFC

هدف از اجرای پروژه ساخت یک جعبه موسیقی Music Box است که بر اساس اطلاعات یک تگ RFID و یا NFC، موزیک خاصی رو پخش می‌کند. این پروژه مبتنی بر رزبری پای Raspberry Pi و زبان برنامه نویسی پایتون Python نوشته شده است، با این وجود که آپشن های متفاوت دیگه ای هم برای اجرای این پروژه وجود دارد. شماتیک پروژه در تصویر زیر نمایش داده شده است:

 


تنظیمات رزبری پای Music Box


مرحله اول نصب و راه اندازی پیش نیازهای موزیک باکس NFC می‌باشد که به ترتیب تعریف خواهیم کرد:

  • نصب و راه اندازی ماژول RFID و NFC

برای راه اندازی این ماژول می‌توان از دو پروتکل I2C و SPI استفاده کرد. برای این کار پیش نیاز های مورد نیاز بایستی در رزبری پای Raspberry Pi نصب گردد.

  1. روش I2C:
  • در اولین قدم I2C را در رزبری پای Raspberry Pi خود فعال کنید (این اینترفیس به صورت پیش فرض غیر فعال می باشد.)
  • در ترمینال Terminal دستورات زیر را وارد کنید:
sudo raspi-config
  • در صفحه تنظیمات رزبری پای از زیرشاخه Interfacing options گزینه I2C را انتخاب کرده و YES را کلیک کنید.

راه اندازی پروژه موزیک باکس با رزبری پای - دیجی اسپارک

 

تنظیمات رزبری پای برای اجرای موزیک باکس - دیجی اسپارک

 

تنظیمات رزبین Music box raspberry pi - دیجی اسپارک

 

دیدن این پیام به معنی فعال شدن I2C می‌باشد. در این پروژه موزیک باکس NFC ماژول مورد استفاده از دو حالت I2c و Spi پشتیبانی میکند.

  • کتابخانه‌های مربوط به کار با I2C را نصب کنید
sudo apt-get update

sudo apt-get install libusb-dev libpcsclite-dev i2c-tools

  • پکیج libnfc را دانلود و از حالت فشرده خارج کنید (دقت کنید که فایل های پکیج داخل پوشه روت ~ قرار گیرند).
cd ~

wget http://dl.bintray.com/nfc-tools/sources/libnfc-1.7.1.tar.bz2

tar -xf libnfc-1.7.1.tar.bz2

  • پکیج libnfc را نصب کنید
cd libnfc-1.7.1

./configure --prefix=/usr --sysconfdir=/etc

make

sudo make install

  • فایل تنظیمات مربوط به تنظیمات libnfc را در پوشه /etc/nfc ایجاد نمایید.
cd /etc

sudo mkdir nfc

sudo nano /etc/nfc/libnfc.conf

  • محتویات فایل libnfc.conf در ادامه آمده است.
allow_autoscan = true

allow_intrusive_scan = false

log_level = 1

device.name = "_PN532_I2c"

device.connstring = "pn532_i2c:/dev/i2c-1"

  • پس از ذخیره تغییرات فایل libnfc.conf، تمام پیش نیاز های پروژه را انجام داده شده است و نوبت به اتصال ماژول خواهد رسید.

 

۲- روش SPI: در اولین قدم SPI را در رزبری پای خود فعال کنید. این اینترفیس به صورت پیش فرض غیر فعال می باشد. سپس در ترمینال دستورات زیر را وارد کنید:

sudo raspi-config

در صفحه تنظیمات از زیرشاخه Interfacing options گزینه SPI را انتخاب کرده و YES را بزنید.

 


موزیک باکس NFC رزبری پای


ابتدا رزبری پای Raspberry Pi خود را خاموش کنید، اتصال ماژول حین روشن بودن رزبری پای می‌تواند باعث آسیب به رزبری پای و یا ماژول گردد. سوئیچ ماژول را در وضعیت I2C قرار دهید.

تنظیمات ماژول NFC برای استفاده در رزبری پای - دیجی اسپارک

 

  • از جدول زیر برای اتصال سیم های ماژول به رزبری پای Raspberry Pi استفاده کنید.
PN532 Raspberry
۵V ۵V
GND GND
SDA SDA0
SCL SCL0
  • با اجرای دستور زیر از اتصال I2C ماژول به رزبری پای مطمئن شوید.
i2cdetect –y 1
  • اگر همه مراحل به درستی انجام شده باشد خروجی فرمان فوق به این شکل خواهد بود.

تصویر ۸

  • در این حالت می توانید عملکرد ماژول را با دستور زیر چک کنید
nfc-list
  • اگر ماژول و اتصالات موزیک باکس NFC به درستی متصل شده باشد، خروجی دستور فوق به این شکل خواهد بود:

تنظیمات رزبری پای پروژه موزیک باکس - دیجی اسپارک

 

  • با دستور زیر می توان یک tag را خواند.
nfc-poll
  • با اجرای دستور فوق ماژول به مدت ۳۰ ثانیه منتظر نزدیک شدن tag می ماند، با نزدیک شدن tag اطلاعات آن نمایش داده می شود و با فاصله گرفتن tag از ماژول جدا شدن آن اعلام می شود.

تنظیمات رزبری پای پروژه موزیک باکس - دیجی اسپارک

 

تنظیمات رزبری پای پروژه موزیک باکس - دیجی اسپارک

 


نصب پکیج پخش فایل صوتی mpg321


در این پروژه از mpg321 استفاده شده است. گزینه هایی دیگری از جمله VLC نیز برای این کار وجود دارد. جهت نصب پکیج mpg321 همانند زیر عمل کنید.

 

sudo apt-get install mpg321

نوشتن کد جهت تشخیص tag و پخش موسیقی

در این مرحله دستوراتی را در زبان پایتون Python و در قالب یک فایل .py خواهیم نوشت که از اطلاعات خروجی دستور nfc-poll استفاده کرده و بر اساس UID ثبت شده روی tag، موزیک مشخصی را پخش خواهد کرد. ابتدا با دستورات زیر فولدر music_box را در روت (~) ایجاد می‌کنیم، سپس یک فایل با نام reader.py در داخل این پوشه ایجاد می‌کنیم.

تنظیمات رزبری پای پروژه موزیک باکس - دیجی اسپارک

 


فایل Reader.py موزیک باکس NFC


 

import subprocess

import time

import os



def nfc_raw():

lines=subprocess.check_output("/usr/bin/nfc-poll", stderr=open('/dev/null','w'))

return lines



def read_nfc():

lines=nfc_raw()

return lines

song1="1108af7b"

try:

while True:

try:

myLines=read_nfc()

buffer=[]

for line in myLines.splitlines():

line_content=line.split()

if(not line_content[0] =='UID'):

pass

else:

buffer.append(line_content)

str=buffer[0]

id_str=str[2]+str[3]+str[4]+str[5]

print (id_str)

if(id_str==song1):

r=os.system('mpg321 /home/pi/music_box/music.mp3')

except:

pass

except KeyboardInterrupt:

pass



 


وسایل مورد نیاز


برد رزبری پای Raspberry Pi 3 B Plus

ماژول RFID/NFC pn532 به همراه کارت و تگ

 

 

چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند می‌توانید از همین طریق اطلاع رسانی کنید.

 


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


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

 

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

 

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

امیر رحمانیان

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

۳ دیدگاه

    • سلام جناب طاها
      با تشکر از نظر تون
      هر ماژولی که برای RFID یا NFC بشه به رزبری پای متصل کنید قابل استفاده است
      ولی بر حسب نوع ماژول که استفاده میکنید ممکنه نیاز به کتابخانه های دیگه بجز libnfc داشته باشید
      با آرزوی موفقیت

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