সুচিপত্র:

রাস্পবেরি পাই হিউম্যান ডিটেক্টর + ক্যামেরা + ফ্লাস্ক: 6 টি ধাপ
রাস্পবেরি পাই হিউম্যান ডিটেক্টর + ক্যামেরা + ফ্লাস্ক: 6 টি ধাপ

ভিডিও: রাস্পবেরি পাই হিউম্যান ডিটেক্টর + ক্যামেরা + ফ্লাস্ক: 6 টি ধাপ

ভিডিও: রাস্পবেরি পাই হিউম্যান ডিটেক্টর + ক্যামেরা + ফ্লাস্ক: 6 টি ধাপ
ভিডিও: Cybernetic Plant Human Interface 2024, জুলাই
Anonim
রাস্পবেরি পাই হিউম্যান ডিটেক্টর + ক্যামেরা + ফ্লাস্ক
রাস্পবেরি পাই হিউম্যান ডিটেক্টর + ক্যামেরা + ফ্লাস্ক

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

ধাপ 1: পিআইআর মোশন সেন্সর

পিআইআর মোশন সেন্সর
পিআইআর মোশন সেন্সর

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

পদক্ষেপ 2: পিআইআর মোশন সেন্সর সেটআপ

পিআইআর মোশন সেন্সর সেটআপ
পিআইআর মোশন সেন্সর সেটআপ

পিআইআর মোশন সেন্সর, পাওয়ার, আউটপুট এবং গ্রাউন্ডের জন্য তিনটি পিন রয়েছে। পিনের নীচে আপনি লেবেলগুলি দেখতে পারেন, পাওয়ারের জন্য ভিসিসি, আউটপুটের জন্য আউট এবং মাটির জন্য জিএনডি। যখন সেন্সর নড়াচড়া সনাক্ত করে, আউটপুট পিন রাস্পবেরি পাই পিনে একটি উচ্চ সংকেত দেবে যা আপনি সেন্সরকে সংযুক্ত করেন। পাওয়ার পিনের জন্য, আপনি নিশ্চিত করতে চান যে এটি পাওয়ারের জন্য রাস্পবেরি পাইতে 5V পিনের সাথে সংযুক্ত। আমার প্রকল্পের জন্য, আমি আউটপুট পিনকে পিন 11 এর সাথে পাইতে সংযুক্ত করতে পছন্দ করি।

সবকিছু সংযুক্ত করার পরে, আপনি নীচের স্ক্রিপ্টগুলি চালিয়ে আপনার সেন্সরকে পাঠাতে পারেন:

GPIO হিসাবে আমদানি RPi. GPIO = GPIO.input (11) যদি আমি == 0: #যখন মোশন সেন্সর থেকে আউটপুট কম প্রিন্ট হয় "কোন সনাক্তকরণ নেই", আমি সময় ঘুম (0.1) elif i == 1: #যখন মোশন সেন্সর থেকে আউটপুট উচ্চ মুদ্রণ হয় " আন্দোলন সনাক্ত করা হয়েছে ", আমি সময় ঘুমিয়েছি (0.1)

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

ধাপ 3: রাস্পবেরি পাই ক্যামেরা মডিউল এবং সেটআপ

রাস্পবেরি পাই ক্যামেরা মডিউল এবং সেটআপ
রাস্পবেরি পাই ক্যামেরা মডিউল এবং সেটআপ

মানুষ তাপের কারণে ইনফ্রারেড রশ্মি নির্গত করে, এবং তাই তাপমাত্রা সহ বস্তুগুলিও। অতএব, প্রাণী বা গরম বস্তু মোশন সেন্সরকেও ট্রিগার করতে পারে। সনাক্তকরণ বৈধ কিনা তা যাচাই করার জন্য আমাদের একটি উপায় দরকার। বাস্তবায়নের অনেক উপায় আছে, কিন্তু আমার প্রকল্পে, মোশন সেন্সর নড়াচড়া করলে ছবি তোলার জন্য আমি রাস্পবেরি পাই ক্যামেরা মডিউল ব্যবহার করতে পছন্দ করি।

ক্যামেরা মডিউল ব্যবহার করার জন্য, আপনি প্রথমে নিশ্চিত করতে চান যে পিনগুলি Pi তে ক্যামেরা স্লটে প্লাগ করা আছে। প্রকার

sudo raspi-config

আপনার Pi তে কনফিগারেশন ইন্টারফেস খুলতে, এবং 'ইন্টারফেসিং বিকল্প' এ ক্যামেরা সক্ষম করুন। রিবুট করার পরে, আপনি পরীক্ষা করতে পারেন যে পাই টাইপ করে আসলে ক্যামেরার সাথে সংযুক্ত কিনা

vcgencmd get_camera

এবং এটি আপনাকে স্ট্যাটাস দেখাবে। শেষ ধাপ হল টাইপ করে পিকামেরা মডিউল ইনস্টল করা

পিপ পিকামেরা ইনস্টল করুন

সমস্ত সেটআপের পরে, আপনি নীচের স্ক্রিপ্টগুলি চালিয়ে আপনার ক্যামেরা পরীক্ষা করতে পারেন:

Picamera থেকে PiCamera আমদানি করুন

সময় থেকে আমদানি করুন ঘুমের ক্যামেরা = PiCamera () camera.start_preview () ঘুম (2) camera.capture ('image.jpg') camera.stop_preview ()

ছবিটি আপনার ক্যামেরার স্ক্রিপ্টের মতোই ডিরেক্টরিতে 'image.jpg' হিসাবে সংরক্ষণ করা হবে। লক্ষ্য করুন, আপনি নিশ্চিত করতে চান যে 'ঘুম (2)' আছে এবং সংখ্যা 2 এর চেয়ে বড় তাই ক্যামেরার আলোর অবস্থা সামঞ্জস্য করার জন্য পর্যাপ্ত সময় আছে।

ধাপ 4: PIR মোশন সেন্সর এবং ক্যামেরা মডিউল একত্রিত করুন

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

এই পান্ডুলিপি:

GPIO হিসাবে RPi. GPIO আমদানি করুন তারিখ থেকে আমদানি তারিখ সময় আমদানি পিকামেরা আমদানি PiCamera থেকে

GPIO.cleanup ()

GPIO.setwarnings (মিথ্যা) GPIO.setmode (GPIO. BOARD) GPIO.setup (11, GPIO. IN) #PIR মোশন সেন্সর বার্তা থেকে আউটপুট পড়ুন = 'স্টার্ট' কাউন্টার = 0 log_f = খোলা ('স্ট্যাটিক/log.txt', 'w') log_f.close ()

ক্যামেরা = পাই ক্যামেরা ()

pic_name = 0

camera.start_preview ()

সময় ঘুম (2)

যখন সত্য:

i = GPIO.input (11) if i == 0: #যখন মোশন সেন্সর থেকে আউটপুট কম হয় যদি কাউন্টার> 0: end = str (datetime.now ()) log_f = open ('static/log.txt', ' a ') বার্তা = বার্তা +'; শেষ ' + end +' / n 'print (message) log_f.write (message) log_f.close () final =' static/' + str (pic_name) + ".jpg" pic_name = pic_name + 1 camera.capture (চূড়ান্ত) কাউন্টার = 0 মুদ্রণ "কোন অনুপ্রবেশকারী নেই", i time.sleep (0.1) elif i == 1: #যখন গতি সেন্সর থেকে আউটপুট উচ্চ হয় যদি কাউন্টার == 0: বর্তমান = str (datetime.now ()) বার্তা = 'মানুষ শনাক্ত:' + 'শুরু' + বর্তমান কাউন্টার = কাউন্টার + 1 মুদ্রণ "অনুপ্রবেশকারী সনাক্ত", আমি সময় ঘুম (0.1) ক্যামেরা স্টপ_প্রিভিউ ()

'Log.txt' এবং চিত্রগুলির জন্য ডিরেক্টরিগুলি 'স্ট্যাটিক', যা ফ্লাস্কের কাজ করার জন্য প্রয়োজনীয়।

ধাপ 5: ফ্লাস্কের জন্য সেটআপ

ফ্লাস্কের জন্য সেটআপ
ফ্লাস্কের জন্য সেটআপ

ফ্লাস্ক হল একটি মাইক্রো ওয়েব ফ্রেমওয়ার্ক যা পাইথনে লেখা এবং Werkzeug টুলকিট এবং Jinja2 টেমপ্লেট ইঞ্জিনের উপর ভিত্তি করে। এটি বাস্তবায়ন এবং রক্ষণাবেক্ষণ করা সহজ। ফ্লাস্কের জন্য একটি ভাল টিউটোরিয়ালের জন্য, আমি এই লিঙ্কটি সুপারিশ করি: ফ্লাস্ক মেগা টিউটোরিয়াল

আমার প্রকল্পের প্রধান স্ক্রিপ্ট, 'route.py':

অ্যাপফোল্ডার আমদানি অ্যাপ থেকে

APP_ROOT = os.path.dirname (os.path.abspath (_ file_)) # বোঝায় application_top

APP_STATIC = os.path.join (APP_ROOT, 'স্ট্যাটিক')

@appFlask.route ('/', পদ্ধতি = ['পান', 'পোস্ট'])

def view (): log_f = open (os.path.join (APP_STATIC, 'log.txt'), 'r') logs = log_f.readlines () final_logs = লগ ইন করার জন্য লগ: final_logs.append (লগ strip ()) name = str (len (final_logs) -1)+'। jpg' return render_template ('view.html', logs = final_logs, filename = name)

এইচটিএমএল ফাইল 'view.html' উপরের বারে (কারণ যখন আমি এখানে এইচটিএমএল কোড কপি করি, এটি আসলে এইচটিএমএল ফর্ম্যাটে পরিণত হয় …)

এবং প্রকল্পের কাঠামোটি নীচের মতো দেখতে হবে (তবে অবশ্যই এর চেয়ে বেশি ফাইল রয়েছে):

iotproject / appfolder / route.py টেমপ্লেট / view.html স্ট্যাটিক / log.txt 0-j.webp

ধাপ 6: ফলাফল

ফলাফল
ফলাফল

এই বাস্তবায়নের জন্য, সবকিছু সঠিকভাবে সেট আপ করার পরে, ব্রাউজারে আপনার আইপি ঠিকানা লিখে আপনার রাস্পবেরি পাই অ্যাক্সেস করতে সক্ষম হওয়া উচিত এবং ফলাফলটি এই ধাপে উপরের বারে ছবির মতো হওয়া উচিত।