সুচিপত্র:

মুখ স্বীকৃতি স্মার্ট লক LTE Pi HAT সহ: 4 টি ধাপ
মুখ স্বীকৃতি স্মার্ট লক LTE Pi HAT সহ: 4 টি ধাপ

ভিডিও: মুখ স্বীকৃতি স্মার্ট লক LTE Pi HAT সহ: 4 টি ধাপ

ভিডিও: মুখ স্বীকৃতি স্মার্ট লক LTE Pi HAT সহ: 4 টি ধাপ
ভিডিও: CS50 2014 - Week 9 2024, জুলাই
Anonim
LTE Pi HAT এর সাথে ফেস রিকগনাইজেশন স্মার্ট লক
LTE Pi HAT এর সাথে ফেস রিকগনাইজেশন স্মার্ট লক

মুখের স্বীকৃতি দিন দিন ব্যাপকভাবে ব্যবহৃত হচ্ছে, আমরা এটিকে স্মার্ট লক তৈরিতে ব্যবহার করতে পারি।

ধাপ 1: এই প্রকল্পে ব্যবহৃত জিনিসগুলি

হার্ডওয়্যার উপাদান

  • রাস্পবেরি পাই 3 মডেল বি
  • রাস্পবেরি পাই ক্যামেরা মডিউল V2
  • গ্রোভ - রিলে
  • LTE Cat 1 Pi HAT (ইউরোপ)
  • 10.1 ইঞ্চি 1200x1980 HDMI IPS LCD ডিসপ্লে

সফটওয়্যার অ্যাপ এবং অনলাইন সেবা

  • WinSCP
  • নোটপ্যাড ++

পদক্ষেপ 2: হার্ডওয়্যার সংযোগ

হার্ডওয়্যার সংযোগ
হার্ডওয়্যার সংযোগ

এই প্রকল্পে, আমরা পিকামার দিয়ে ছবি তোলার পরিকল্পনা করেছি এবং তাদের মধ্যে মুখগুলি চিনতে পারি, তারপর স্ক্রিনে স্বীকৃতি ফলাফল প্রদর্শন করি। যদি মুখ পরিচিত হয়, দরজা খুলুন, এবং এসএমএস এর মাধ্যমে নির্দিষ্ট ফোন নম্বরে দরজাটি কে খুলেছে পাঠান।

সুতরাং আপনাকে রাস্পবেরি পাই এর ক্যামেরা ইন্টারফেসের সাথে একটি ক্যামেরা সংযুক্ত করতে হবে এবং অ্যান্টেনা এবং গ্রোভ - রিলে থেকে এলটিই পাই টুপি ইনস্টল করতে হবে, তারপরে আপনার পাইতে HAT লাগান। HDMI কেবলের মাধ্যমে স্ক্রিনটি রাস্পবেরি পাই এর সাথে সংযুক্ত করা যেতে পারে, আপনার স্ক্রিন এবং পাই এর সাথে সংযোগের ক্ষমতা ভুলবেন না।

ধাপ 3: সফটওয়্যার প্রোগ্রামিং

মুখ স্বীকৃতি

অ্যাডাম গেইটজি এবং তার মুখ সনাক্তকরণ প্রকল্পের জন্য ধন্যবাদ, আমরা রাস্পবেরি পাইতে বিশ্বের সবচেয়ে সহজ মুখ সনাক্তকরণ লাইব্রেরি ব্যবহার করতে পারি। নিচের ধাপগুলো আপনাকে দেখাবে কিভাবে Pi তে ফেস রিকগনিশন সেটআপ করতে হয়।

ধাপ 1. ক্যামেরা এবং জিপিইউ মেমরি কনফিগার করতে রাস্পি-কনফিগ ব্যবহার করুন।

sudo raspi-config

ইন্টারফেস বিকল্পগুলি বেছে নেওয়া - পিকামেরা সক্ষম করার জন্য ক্যামেরা, তারপর উন্নত বিকল্পগুলি নির্বাচন করুন - GPU মেমরি সেট করার জন্য মেমরি স্প্লিট, এটি 64 তে পরিবর্তন করা উচিত। শেষ করার পরে, আপনার রাস্পবেরি পাই পুনরায় বুট করুন।

পদক্ষেপ 2. প্রয়োজনীয় লাইব্রেরি ইনস্টল করুন।

sudo apt- আপডেট পান

sudo apt-get upgrade sudo apt-get build-essential / cmake / gfortran / git / wget / curl / graphicsmagick / libgraphicsmagick1-dev / libatlas-dev / libavcodec-dev / libavformat-dev / libboost-all-dev / libgtk2 0-dev / libjpeg-dev / liblapack-dev / libswscale-dev / pkg-config / python3-dev / python3-numpy / python3-picamera / python3-pip / zip sudo apt-get clean

ধাপ 3. picamerea সমর্থন অ্যারে তৈরি করুন।

sudo pip3 install --upgrade picamera [অ্যারে]

ধাপ 4. dlib এবং মুখ স্বীকৃতি ইনস্টল করুন।

sudo pip3 dlib ইনস্টল করুন

sudo pip3 ইনস্টল করুন face_recognition

ধাপ 5. ডাউনলোড করুন এবং মুখ স্বীকৃতি উদাহরণ চালান

গিট ক্লোন-একক শাখা

cd./face_recognition/examples python3 facerec_on_raspberry_pi.py

বিজ্ঞপ্তি: যদি আপনি ImportError পেয়ে থাকেন: libatlas.so.3: শেয়ার করা অবজেক্ট ফাইল খুলতে পারে না: এই ধরনের কোন ফাইল বা ডিরেক্টরি নেই, এটি ঠিক করার জন্য নিম্নলিখিত কমান্ডটি চালান।

রিলে

মুখ স্বীকৃতি প্রস্তুত হলে, আমরা অতিরিক্ত বৈশিষ্ট্য যোগ করা চালিয়ে যেতে পারি। আমরা Grove - Relay কে LTE Cat 1 Pi HAT এর সাথে সংযুক্ত করেছি, কিন্তু এটি I2C পোর্টের পরিবর্তে ডিজিটাল পোর্ট ব্যবহার করে।

এটি রাস্পবেরি পাই 3 বি এর জন্য পিন-আউট, আমরা বোর্ডের পিন 3 এবং পিন 5 এ অবস্থিত এসডিএ পিন এবং এসসিএল পিন দেখতে পাচ্ছি।

ছবি
ছবি

তাই আমরা ডিজিটাল সিগন্যাল পিন দিয়ে আউটপুট দিয়ে রিলে নিয়ন্ত্রণ করতে পারি। আপনার রাস্পবেরি পাই-তে পাইথন প্রোগ্রাম অনুসরণ করে চালান, যদি কিছু ভুল না হয়, আপনি রিলে থেকে টি-টা শুনতে পাবেন।

RPi. GPIO GPIO হিসাবে আমদানি করুন

RELAY_PIN = 5 GPIO.setmode (GPIO. BOARD) GPIO.setup (RELAY_PIN, GPIO. OUT) GPIO.output (RELAY_PIN, GPIO. HIGH)

তাই এখানে ধারণা, আমরা একটি ফোল্ডার থেকে পরিচিত মুখগুলি লোড করি, পিকামেরা দ্বারা ধরা মুখগুলি সনাক্ত করি, যদি ফোল্ডারে মুখ থাকে, দরজা আনলক করার জন্য নিয়ন্ত্রণ রিলে। আমরা তাদের একটি ক্লাসে প্যাকেজ করতে পারি, এখানে load_known_faces () পদ্ধতি এবং আনলক () পদ্ধতি রয়েছে, সম্পূর্ণ নিবন্ধটি এই নিবন্ধের শেষে ডাউনলোড করা যাবে।

def load_known_faces (স্ব):

পরিচিত_ফেস = os.listdir (স্ব._ পরিচিত_ফেস_পথ)) self._ known_faces_encoding.append (face_recognition.face_encodings (known_face_image) [0]) return len (self._ known_faces_encoding) def unlock (self): if self._ matched.count (true)> 0: GPIO.output (self._ relay_pin, GPIO. HIGH) মুদ্রণ ('দরজা খোলা') time.sleep (5) GPIO.output (self._ relay_pin, GPIO. LOW) self._ reset_recognise_params () return true self._ retry_count += 1 print ('দয়া করে আবার চেষ্টা করুন … { } '। বিন্যাস (স্ব

অতীতভাবে চিন্তা করুন, আমরা ছবিটি দেখাতে পারি যারা স্বীকৃত, লাইব্রেরি পিআইএল এবং ম্যাটপ্লটলিব সহায়ক হতে পারে, তাদের মধ্যে ম্যাটপ্লটলিব ম্যানুয়ালি ইনস্টল করা প্রয়োজন, আপনার রাস্পবেরি পাই এর টার্মিনালে এই কমান্ডটি চালান।

sudo pip3 matplotlib ইনস্টল করুন

আপনার কোডে সেগুলি আমদানি করুন এবং যদি এইরকম unlock () পদ্ধতিতে ব্লক করা হয় তবে পরিবর্তন করুন:

img = Image.open ('{}/{}। jpg'.format (self._ known_faces_path, self._ known_faces_name [0]))

plt।. LOW) স্ব._ reset_recognise_params () সত্য ফিরে

এখন, যদি কোন মুখ স্বীকৃত হয়, ফোল্ডারে ছবিটি স্ক্রিনে প্রদর্শিত হবে।

ছবি
ছবি

খুদেবার্তা

মাঝে মাঝে আমরা জানতে চাই আমাদের রুমে কে আছে, এবং এখন LTE Cat 1 Pi HAT এর জন্য জায়গা আছে। এটিতে একটি সিম কার্ড লাগান এবং এটি কাজ করবে কিনা তা পরীক্ষা করার জন্য ধাপগুলি অনুসরণ করুন।

ধাপ 1. রাস্পবেরি পাইতে UART0 সক্ষম করুন

/Boot এ config.txt এডিট করতে ন্যানো ব্যবহার করুন

sudo nano /boot/config.txt

এর নীচে dtoverlay = pi3-Disable-bt যোগ করুন, এবং hciuart পরিষেবা নিষ্ক্রিয় করুন

sudo systemctl hciuart নিষ্ক্রিয় করুন

তারপর /বুটে cmdline.txt এ console = serial0, 115200 মুছে দিন

sudo nano /boot/cmdline.txt

সবকিছু শেষ হওয়ার পরে, আপনার রাস্পবেরি পাই পুনরায় বুট করা উচিত।

পদক্ষেপ 2. উদাহরণ ডাউনলোড করুন এবং এটি চালান।

আপনার রাস্পবেরি পাইতে একটি টার্মিনাল খুলুন, এই কমান্ডটিতে এটি লাইন দ্বারা টাইপ করুন।

সিডি

git clone https://github.com/Seeed-Studio/ublox_lara_r2_pi_hat.git cd ublox_lara_r2_pi_hat sudo python setup.py install cd test sudo python test01.py

আপনি যদি আপনার টার্মিনালে এই আউটপুটগুলি দেখতে পান, LTE Cat 1 Pi HAT ভাল কাজ করে।

40-পিন GPIO হেডার শনাক্ত করা হয়েছে

জিপিআইও-তে 16 এবং 17 rts cts- এ CTS0 এবং RTS0 সক্ষম করা হচ্ছে জেগে ওঠার উপর … মডিউল নাম: LARA-R211 RSSI: 3

এখন আমরা জানতাম HAT ভাল কাজ করে, এসএমএস পাঠানোর জন্য এটি কিভাবে ব্যবহার করা যায়? প্রথম জিনিস যা আপনাকে জানতে হবে তা হল রাস্পবেরি পাই UART এর মাধ্যমে সেন্ড AT কমান্ডের মাধ্যমে HAT এর সাথে যোগাযোগ করে। আপনি পাইথনে এই কোডটি চালানোর মাধ্যমে LTE HAT এ AT কমান্ড পাঠাতে পারেন

ublox_lara_r2 আমদানি থেকে *

u = Ublox_lara_r2 () u.initialize () u.reset_power () # বন্ধ ডিবাগ ম্যাসেজ u.debug = মিথ্যা u.sendAT ('')

এসএমএস পাঠানোর জন্য AT কমান্ড নিম্নরূপ

AT+CMGF = 1

AT+CMGS =

তাই এখানে _send_sms () পদ্ধতি:

def _send_sms (self):

if self._ phonenum == None: self in unlocker for false._ identise_face_names (): if self._ ublox.sendAT ('AT+CMGF = 1 / r / n'): print (self._ ublox.response) যদি self। _ublox.sendAT ('AT+CMGS = "{}" / r / n'.format (self._ phonenum)): print (self._ ublox.response) যদি self._ ublox.sendAT (' {} রুমে প্রবেশ করুন। / x1a'.format (unlocker)): print (self._ ublox.response)

বিজ্ঞপ্তি: LTE Cat 1 Pi HAT- এর লাইব্রেরি python2 দ্বারা রচিত, যা python3 এর সাথে খুব সামঞ্জস্যপূর্ণ নয়, যদি আপনি এটি মুখের স্বীকৃতি দিয়ে ব্যবহার করতে চান, অনুগ্রহ করে এই নিবন্ধের শেষ থেকে লিঙ্ক থেকে এটি ডাউনলোড করুন।

প্রস্তাবিত: