সুচিপত্র:

লাইভ ফিড সহ রাস্পবেরি পাই 3 মোশন ডিটেকশন ক্যামেরা: 6 টি ধাপ
লাইভ ফিড সহ রাস্পবেরি পাই 3 মোশন ডিটেকশন ক্যামেরা: 6 টি ধাপ

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

ভিডিও: লাইভ ফিড সহ রাস্পবেরি পাই 3 মোশন ডিটেকশন ক্যামেরা: 6 টি ধাপ
ভিডিও: 🎬 Final Fantasy 7 Remastered 🎬 Game Movie HD Story All Cutscenes [ 1440p 60frps ] 2024, নভেম্বর
Anonim
লাইভ ফিড সহ রাস্পবেরি পাই 3 মোশন ডিটেকশন ক্যামেরা
লাইভ ফিড সহ রাস্পবেরি পাই 3 মোশন ডিটেকশন ক্যামেরা

ভূমিকা

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

এই প্রকল্পটি বিভিন্ন ধাপে সংগঠিত:

  • ভূমিকা
  • আপনার পাই সেট আপ করা হচ্ছে
  • আপনার পাইতে SSHing
  • বুটে আপনার আইপি ঠিকানা ইমেল করা
  • মোশন ইনস্টল করা এবং সেট আপ করা
  • সনাক্তকরণে মোশন থেকে ভিডিও ইমেল করা
  • সমস্যা সমাধান এবং উৎস

আপনার যা লাগবে:

  • একটি রাস্পবেরি পাই 3 মডেল b ~~ $ 35
  • 8 জিবি মাইক্রো এসডি কার্ড ~~ $ 10
  • ইউএসবি ওয়েবক্যাম 20 $ 20 (এই প্রকল্পটি একটি লজিটেক এইচডি ওয়েবক্যাম c270 ব্যবহার করেছে)
  • মাইক্রো ইউএসবি কেবল ~~ $ 5
  • হয়:
  • রিচার্জেবল 5 ভোল্ট ব্যাটারি প্যাক (ফোন ব্যাকআপ ব্যাটারি), এটি আপনার প্রকল্পকে ওয়্যারলেস makes $ 20 করে তোলে
  • অথবা
  • ইউএসবি ওয়াল অ্যাডাপ্টার ~~ $ 5
  • একটি ওয়াইফাই সংযোগ

সেটআপের জন্য আপনার যা অ্যাক্সেসের প্রয়োজন হবে:

  • একটি মনিটর
  • একটি মাউস এবং কীবোর্ড
  • একটি এসডি কার্ড স্লট সহ একটি কম্পিউটার
  • একটি মাইক্রো এসডি থেকে এসডি কার্ড রূপান্তরকারী (আপনার মাইক্রো এসডি কার্ডের সাথে আসা উচিত)

ধাপ 1: আপনার পাই সেট করা

আপনার পাই সেট আপ করা হচ্ছে
আপনার পাই সেট আপ করা হচ্ছে

এখন আপনার পাই সেট আপ করা যাক

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

একবার আপনার Pi তে Raspbian ইনস্টল হয়ে গেলে, কিছু মৌলিক বৈশিষ্ট্য সেট আপ করার সময় এসেছে।

ওয়াইফাই

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

এসএসএইচ

আপনার Pi ব্যবহার করার সময় আপনার জন্য একটি খুব সুবিধাজনক টুল পাওয়া যায় যা আপনার Pi- কে হেডলেস সেটআপ হিসাবে পরিচিত করার জন্য কমান্ড ইস্যু করার বিকল্প। একটি নিরাপদ শেল, বা SSH ব্যবহার করে, আপনি একটি কম্পিউটার থেকে দূরবর্তীভাবে আপনার Pi নিয়ন্ত্রণ করতে পারেন। এই পদ্ধতির সাহায্যে, আপনার Pi সম্পাদনা করার জন্য আপনাকে যা করতে হবে তা হল এটির একটি শক্তি উৎস, আর মনিটর এবং কীবোর্ড নেই!

ধাপ 2: SSHing আপনার PI তে

SSHing আপনার PI তে
SSHing আপনার PI তে
SSHing আপনার PI তে
SSHing আপনার PI তে

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

আপনার পাইতে SSH করতে, আপনাকে এই 3 টি সহজ ধাপ অনুসরণ করতে হবে।

প্রথমে, আপনাকে আপনার পাইতে SSH সক্ষম করতে হবে। এটি করার জন্য, আপনার পাইতে একটি কমান্ড উইন্ডো খুলুন এবং টাইপ করুন:

sudo raspi-config

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

পরবর্তী, আপনাকে আপনার Pi এর IP ঠিকানা খুঁজে বের করতে হবে। একটি কমান্ড টার্মিনালে, টাইপ করুন:

sudo ifconfig

এবং আপনার আইপি ঠিকানাটি wlan0 বিভাগে থাকা উচিত যা লিংক এনক্যাপ: ইথারনেটের ঠিক নীচে পপ আপ হয়। উপরের ডেমো ছবিতে, আইপি ঠিকানা 192.168.1.10।

সর্বশেষে, আপনাকে ম্যাকের অন্তর্নির্মিত টার্মিনাল অ্যাপটি খুলতে হবে, অথবা উইন্ডোজের জন্য তৃতীয় পক্ষের এসএসএইচ অ্যাপের নির্দেশাবলী খুঁজে বের করতে হবে। টার্মিনাল অ্যাপে টাইপ করুন:

ssh pi@আপনার IP ঠিকানা

যদি আপনি রাস্পি-কনফিগের সময় পাসওয়ার্ড পরিবর্তন না করেন, তাহলে অনুরোধ করার সময় আপনার পাসওয়ার্ডটি ডিফল্ট পাসওয়ার্ড হবে: রাস্পবেরি।

সেখান থেকে, আপনি যেতে ভাল হতে হবে!

ধাপ 3: বুটে আপনার আইপি ঠিকানা ইমেল করুন

বুটে আপনার আইপি ঠিকানা ইমেল করুন
বুটে আপনার আইপি ঠিকানা ইমেল করুন

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

#হোম ডিরেক্টরিতে শুরু করুন

সিডি

#ব্যাকগ্রাউন্ড ফোল্ডার তৈরি করুন

mkdir পটভূমি

#পাইথন স্ক্রিপ্ট তৈরি করুন

sudo ন্যানো emailip.py

#emailip.py এ লিখুন

আমদানি সকেট

s = socket.socket (socket. AF_INET, socket. SOCK_DGRAM)

s.connect (("8.8.8.8", 80))

মুদ্রণ (s.getsockname () [0]) x = s.getsockname () [0] s.close ()

smtplib আমদানি করুন

ইমেল থেকে MIMEMultipart আমদানি MIMEMultipart

ইমেল থেকে MIMEText MIMEText আমদানি করুন

fromaddr = "আপনার ঠিকানা"

toaddr = "ঠিকানা গ্রহণ"

msg = MIMEMultipart ()

msg ['From'] = fromaddr

msg ['To'] = toaddr

msg ['Subject'] = "IP ঠিকানা"

শরীর = xmsg.attach (MIMEText (শরীর, 'প্লেইন'))

সার্ভার = smtplib. SMTP ('smtp.gmail.com', 587)

server.starttls ()

server.login (fromaddr, "আপনার পাসওয়ার্ড")

টেক্সট = msg.as_string ()

server.sendmail (fromaddr, toaddr, টেক্সট)

server.quit ()

#তারপর এটি রিবুট করার সময় এটি করে

sudo ন্যানো /etc/rc.local

/etc/rc.local এ প্রবেশ করুন

যখন! /sbin/ifconfig wlan0 | grep -q 'inet addr: [0-9]';

ঘুমান 3

সম্পন্ন

_IP = $ (হোস্টনেম -I) || সত্য

যদি ["$ _IP"]; তারপর

printf "আমার আইপি ঠিকানা হল %s / n" "$ _IP"

পাইথন /home/pi/Background/emailip.py &

fi

প্রস্থান 0

#এবং তুমি করে ফেলেছ

ধাপ 4: মোশন ইনস্টল এবং সেট আপ

মোশন ইনস্টল এবং সেট আপ
মোশন ইনস্টল এবং সেট আপ

#আপডেট পাই

sudo apt- আপডেট পান

sudo apt-get upgrade

#ডাউনলোড

sudo apt- ইনস্টল মোশন পান

#এখন নিম্নলিখিত পরিবর্তনগুলি সহ এই ফাইলটি সম্পাদনা করুন

সুডো ন্যানো /etc/motion/motion.conf

#এই টিউটোরিয়ালের জন্য একটি মান নির্ধারণ করুন, পরিবর্তন করুন

#################

ডেমন চালু

stream_localhost বন্ধ

webcontrol_localhost বন্ধ

ffmpeg_output_movies চালু আছে

target_dir/var/lib/গতি

##################

#স্থানীয় ওয়েব ব্রাউজার স্ট্রিমিং বিকল্প

##################

stream_maxrate 100 #এটি রিয়েল-টাইম স্ট্রিমিংয়ের অনুমতি দেবে কিন্তু আরো ব্যান্ডউইথ এবং সম্পদ প্রয়োজন

ফ্রেমরেট 60 #এটি প্রতি সেকেন্ডে 60 টি ফ্রেম ক্যাপচার করার অনুমতি দেবে #যত বেশি হবে, ভিডিও প্রসেসিং তত ধীর হবে

প্রস্থ 640 #এটি প্রদর্শিত চিত্রের প্রস্থ পরিবর্তন করে

উচ্চতা 480 #এটি প্রদর্শিত চিত্রের উচ্চতা পরিবর্তন করে

##################

#emeling ভিডিও সেটিংসে…/motion.conf

##################

#লাইনের সামনে ";" মুছে ফেলুন, সেমিকোলন লাইনটি মন্তব্য করে

on_event_start python /home/pi/background/motionalert.py %f

on_movie_end python /home/pi/background/motionvid.py %f

##################

#বস্তুবিদ্যা

##################

ফাইলে বর্ণিত #পছন্দ

output_pictures locate_motion_style

##################

#তারপর পরিবর্তন

সুডো ন্যানো/ইত্যাদি/ডিফল্ট/গতি

#বলতে

start_motion_daemon = হ্যাঁ

#শেষ, বি **** শুরু করুন

সুডো পরিষেবা গতি শুরু

#আপনি কমান্ডটি "স্টপ" বা "রিস্টার্ট" এ পরিবর্তন করতে পারেন

ধাপ 5: সনাক্তকরণে মোশন থেকে ভিডিও ইমেল করা

ডিটেকশন অন মোশন থেকে ভিডিও ইমেল করা
ডিটেকশন অন মোশন থেকে ভিডিও ইমেল করা

গতি সনাক্ত হলে ইমেল:

#বাসায় শুরু করুন

dircd

#গতি সতর্কতা পাইথন স্ক্রিপ্ট তৈরি করুন

sudo nano /home/pi/background/motionalert.py

#লিখুন

smtplib আমদানি করুন

তারিখ থেকে আমদানি তারিখ সময়

ইমেল থেকে MIMEMultipart আমদানি MIMEMultipart

ইমেল থেকে MIMEText MIMEText আমদানি করুন

fromaddr = "আপনার ঠিকানা"

toaddr = "প্রাপ্তির ঠিকানা"

msg = MIMEMultipart ()

msg ['From'] = fromaddr

msg ['To'] = toaddr

msg ['Subject'] = "গতি সনাক্ত করা হয়েছে"

শরীর = 'একটি গতি সনাক্ত করা হয়েছে। ime n সময়: % s' % str (datetime.now ())

msg.attach (MIMEText (শরীর, 'প্লেইন'))

সার্ভার = smtplib. SMTP ('smtp.gmail.com', 587)

server.starttls ()

server.login (fromaddr, "আপনার পাসওয়ার্ড")

টেক্সট = msg.as_string ()

server.sendmail (fromaddr, toaddr, টেক্সট)

server.quit ()

ভিডিও সংরক্ষিত হলে গতির ইমেল ভিডিও:

#homedircd st এ শুরু করুন

#মোশন ভিডিও পাইথন স্ক্রিপ্টসুডো ন্যানো/হোম/পিআই/ব্যাকগ্রাউন্ড/মোশনভিড.পি

smtplib আমদানি করুন

ইমেল থেকে MIMEMultipart আমদানি MIMEMultipart

ইমেল থেকে MIMEText MIMEText আমদানি করুন

ইমেল থেকে MIMEBase আমদানি MIMEBase

ইমেল আমদানি এনকোডার থেকে

fromaddr = "আপনার ইমেল"

toaddr = "আপনি যে ইমেল ঠিকানা পাঠিয়েছেন"

msg = MIMEMultipart ()

msg ['From'] = fromaddr

msg ['To'] = toaddr

msg ['Subject'] = "মোশন ক্যাম অ্যাক্টিভেটেড"

শরীর = "মোশন ভিডিও সনাক্ত করা হয়েছে"

msg.attach (MIMEText (শরীর, 'প্লেইন'))

আমদানি ওএস

rootpath = '/var/lib/motion'

filelist = [os.path.join (rootpath, f) for f in os.listdir (rootpath)]

filelist = [f এর জন্য f তালিকার তালিকায় যদি os.path.isfile (f)]

নতুন = সর্বোচ্চ (ফাইললিস্ট, কী = ল্যাম্বদা x: os.stat (x).st_mtime)

ফাইলের নাম = নতুন

আমদানি ওএস

rootpath = '/var/lib/motion'

filelist = [os.path.join (rootpath, f) for f in os.listdir (rootpath)]

filelist = [f এর জন্য f তালিকার তালিকায় যদি os.path.isfile (f)]

নতুন = সর্বোচ্চ (ফাইললিস্ট, কী = ল্যাম্বদা x: os.stat (x).st_mtime)

সংযুক্তি = খোলা (নতুন, "আরবি")

অংশ = MIMEBase ('অ্যাপ্লিকেশন', 'অক্টেট-স্ট্রিম')

part.set_payload ((সংযুক্তি).read ())

encoders.encode_base64 (অংশ)

part.add_header ('কন্টেন্ট-ডিসপোজিশন', "সংযুক্তি; ফাইলের নাম = % s" % ফাইলের নাম)

msg.attach (অংশ)

সার্ভার = smtplib. SMTP ('smtp.gmail.com', 587)

server.starttls ()

server.login (fromaddr, "আপনার পাসওয়ার্ড")

টেক্সট = msg.as_string ()

server.sendmail (fromaddr, toaddr, টেক্সট)

server.quit ()

ধাপ 6: সমস্যা সমাধান এবং উৎস

সমস্যা সমাধান এবং উৎস
সমস্যা সমাধান এবং উৎস

সমস্যা সমাধান:

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

  • আপনার বর্তমান আইপি ঠিকানাটি ইমেল করার জন্য আপনার পাই সেট আপ করার সময়, rc.local ফাইলটি আগে দেখানো হিসাবে সম্পাদনা করা গুরুত্বপূর্ণ কারণ এটি পুনরায় বুট করার পরে প্রোগ্রামটি সক্রিয় হওয়ার আগে কিছুটা বিলম্বের অনুমতি দেয়। অন্যথায় পাই এখনও ওয়াইফাই এর সাথে সংযুক্ত হবে না, এবং ইমেল পাঠাবে না।
  • Motion.conf ফাইল এডিট করার সময় নির্দিষ্ট প্যারামিটারের সামনে সেমিকোলন মুছে ফেলতে ভুলবেন না। সেমিকোলন একটি প্রদত্ত ক্রিয়া দমন করে, তাই অন্যথায় পরিবর্তন কার্যকর হবে না।
  • Motion.conf ফাইলটি খুব সুসংগঠিত এবং বিস্তারিত। বিনা দ্বিধায় আপনার পছন্দ অনুযায়ী সেটিংস পরিবর্তন করুন, কিন্তু বুঝতে পারেন এগুলি মোশন ক্যাপচার সিস্টেমের সাফল্যকে প্রভাবিত করতে পারে।
  • ইমেইল সতর্কতা এবং ইমেইল ভিডিও অপশন সেট আপ করার পরে, এটি লক্ষ্য করা গুরুত্বপূর্ণ যে গতি সনাক্ত করা ভিডিওটির ইমেল প্রাথমিক সতর্কতা ইমেলের চেয়ে পাঠাতে একটু বেশি সময় নেবে। এর কারণ হল ভিডিওটি কয়েক সেকেন্ডের মধ্যে শেষ হয় যখন গতি আর সনাক্ত করা যায় না, এবং কারণ ইমেল সংযুক্তিটি যথেষ্ট বড় হতে পারে যাতে কয়েক মিনিট সময় লাগে। কিছু ক্ষেত্রে, যদি গতি খুব দীর্ঘ সময়ের জন্য টিকে থাকে তবে এটি পাঠানোর জন্য খুব বড় হতে পারে। এই কারণে প্রাথমিক সতর্কতা ইমেল পাওয়ার পরে লাইভস্ট্রিম পরীক্ষা করা সবসময় একটি ভাল ধারণা।

কেন গতি ?:

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

সূত্র

কোড সূত্র:

www.techradar.com/how-to/computing/how-to-b…

pimylifeup.com/raspberry-pi-webcam-server/

www.pyimagesearch.com/2015/06/01/home-surve…

naelshiab.com/tutorial-send-email-python/

www.raspberrypi.org/documentation/linux/us…

learn.adafruit.com/adafruits-raspberry-pi-…

learn.adafruit.com/adafruits-raspberry-pi-…

pinout.xyz/pinout/i2c

ছবির ক্রেডিট:

SSH শামুক:

মেইল লোগো:

লজিটেক ওয়েবক্যাম:

SSH উইন্ডো:

প্রস্তাবিত: