সুচিপত্র:

রাস্পবেরি স্পাই রোবট: 8 টি ধাপ (ছবি সহ)
রাস্পবেরি স্পাই রোবট: 8 টি ধাপ (ছবি সহ)

ভিডিও: রাস্পবেরি স্পাই রোবট: 8 টি ধাপ (ছবি সহ)

ভিডিও: রাস্পবেরি স্পাই রোবট: 8 টি ধাপ (ছবি সহ)
ভিডিও: First step to make a spy robot. স্পাই রোবটের প্রথম ধাপ। 2024, নভেম্বর
Anonim
Image
Image
রাস্পবেরি স্পাই রোবট
রাস্পবেরি স্পাই রোবট

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

ধাপ 1: রোবট ইলেকট্রনিক্স

রোবট ইলেকট্রনিক্স
রোবট ইলেকট্রনিক্স

আমি DFRobot থেকে 2WD MiniQ চ্যাসি কিট একত্রিত করে শুরু করেছি। আমি মোটর শ্যাফ্টের উপর চাকাগুলি স্লাইড করেছি, তারপর সেগুলিকে বন্ধনীতে andুকিয়ে চেসিসের সাথে সংযুক্ত করেছি। অবশেষে, আমি ধাতব সমর্থন যোগ করেছি। এখন মূল বোর্ড তৈরির সময় ছিল। L293d মোটর ড্রাইভারটি রাস্পবেরি পাই এর জিপিআইও পিনগুলিতে চলমান তারের সাথে জায়গায় সোল্ডার হয়ে যায়। এরপরে, আমি ব্যাটারির জন্য একটি সংযোগকারীকে বিক্রি করেছি, কারণ এটি মূল শক্তি সরবরাহ করবে। পাওয়ার উৎস যোগ করার পর, আমি একটি 5V নিয়ন্ত্রক ইনস্টল করেছি।

পদক্ষেপ 2: পাই সেট আপ করা

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

DFRobot আমার কাছে পৌঁছেছে এবং তাদের রাস্পবেরি পাই 3 এবং রাস্পবেরি পাই ক্যামেরা মডিউল পাঠিয়েছে। তাই আমি বাক্সগুলি খোলার পরে আমি এসডি কার্ড সেট করে কাজ করার অধিকার পেয়েছি। প্রথমে আমি রাস্পবেরি পাই ডাউনলোড পৃষ্ঠাটিতে গিয়ে রাস্পবিয়ানের সাম্প্রতিক সংস্করণটি ডাউনলোড করেছি। আমি তারপর ফাইলটি বের করে একটি সুবিধাজনক ডিরেক্টরিতে রাখলাম। আপনি কেবল একটি.img ফাইলকে SD কার্ডে কপি/পেস্ট করতে পারবেন না, আপনাকে কার্ডে এটি "বার্ন" করতে হবে। আপনি সহজেই OS ইমেজ ট্রান্সফার করার জন্য Etcher.io এর মত একটি জ্বলন্ত ইউটিলিটি ডাউনলোড করতে পারেন।. Img ফাইলটি আমার এসডি কার্ডে থাকার পরে আমি এটি রাস্পবেরি পাইতে ertedুকিয়ে দিয়েছিলাম এবং এটিকে শক্তি দিয়েছিলাম। প্রায় 50 সেকেন্ড পরে আমি কর্ডটি আনপ্লাগ করেছিলাম এবং এসডি কার্ডটি সরিয়ে দিয়েছিলাম। পরবর্তীতে আমি আমার পিসিতে এসডি কার্ডটি রাখলাম এবং "বুট" ডিরেক্টরিতে গেলাম। আমি নোটপ্যাড খুলেছি এবং এটিকে "ssh" নামে একটি ফাঁকা ফাইল হিসাবে সংরক্ষণ করেছি কোন এক্সটেনশন সহ। সেখানে একটি ফাইল ছিল যা আমি "wpa_supplicant.conf" নামে যুক্ত করেছি এবং এই পাঠ্যটি এতে রেখেছি:

নেটওয়ার্ক = {ssid = psk =}

তারপরে আমি কার্ডটি সংরক্ষণ করেছি এবং বের করে দিয়েছি এবং এটি আবার রাস্পবেরি পাই 3 এ রেখেছি। এটি এখন SSH ব্যবহার এবং ওয়াইফাই সংযোগের অনুমতি দেবে।

ধাপ 3: ক্যামেরা প্রস্তুত করা

ক্যামেরা রেডি করা
ক্যামেরা রেডি করা

ডিফল্টরূপে, ক্যামেরাটি Pi তে নিষ্ক্রিয় করা হয়েছে, তাই মেনু আনতে আপনাকে অবশ্যই টার্মিনাল টাইপ sudo raspi-config খুলতে হবে। "ইন্টারফেসিং বিকল্প" এ যান এবং তারপরে ক্যামেরা সক্ষম করুন। এখন শুধু "ফিনিশ" সিলেক্ট করুন এবং Pi এর সঠিক এলাকায় ক্যামেরা মডিউলের ফিতা ক্যাবল োকান।

ধাপ 4: সফটওয়্যার ইনস্টল করা

বেশ কিছু ভিন্ন সফটওয়্যার আছে যা ভিডিও স্ট্রিম করতে পারে, যেমন ভিএলসি এবং মোশন, কিন্তু আমি কম বিলম্ব এবং সহজ ইনস্টলেশনের কারণে এমজেপিগ-স্ট্রিমার ব্যবহার করার সিদ্ধান্ত নিয়েছি। সাইটে নির্দেশাবলী অনুসারে, একটি ফোল্ডারে একটি গিট ক্লোন https://github.com/jacksonliam/mjpg-streamer.git করুন, তারপর প্রয়োজনীয় লাইব্রেরিগুলি ইনস্টল করতে sudo apt-get install cmake libjpeg8-dev টাইপ করুন। আপনার ডাউনলোড করা ফোল্ডারে আপনার ডিরেক্টরি পরিবর্তন করুন এবং তারপর সফটওয়্যার কম্পাইল করার জন্য sudo make install এর পরে make টাইপ করুন। অবশেষে রপ্তানি LD_LIBRARY_PATH = লিখুন। এবং এটি চালানোর জন্য টাইপ করুন./mjpg_streamer -o output_http.so -w।

ধাপ 5: নিয়ামক

নিয়ন্ত্রক
নিয়ন্ত্রক
নিয়ন্ত্রক
নিয়ন্ত্রক

তারপরে ওয়াইফাইয়ের মাধ্যমে কীভাবে রাস্পবেরি পাই নিয়ন্ত্রণ করা যায় তার একটি অংশ এসেছে, কারণ ব্লুটুথের পরিসর খুব কম। আমি রাস্পবেরি পিআই এবং একটি ESP8266 ESP12E মডিউলে চলমান একটি ফ্লাস্ক সার্ভার ব্যবহার করার সিদ্ধান্ত নিয়েছি যাতে এতে ডেটা পাঠানো যায়। ESP8266 এর শুধুমাত্র একটি এনালগ ইনপুট আছে, যার মানে আমি সরাসরি জয়স্টিক ব্যবহার করতে পারিনি, কারণ এটি দুটি এনালগ ইনপুট নেয়। সেরা বিকল্পটি ছিল ADS1115, যা একটি I2C ডিভাইস যা 16 বিট রেজোলিউশনে এনালগ সিগন্যাল পড়ে। আমি কেবল VCC এবং GND সহ SDA কে 4 এবং SCL থেকে 5 এর সাথে সংযুক্ত করেছি। জয়স্টিক X অক্ষ ADS1115 এ A0 এর সাথে সংযোগ করে এবং Y অক্ষ A1 এর সাথে সংযুক্ত হয়। কিন্তু, আমি ঘটনাক্রমে ADS1115 পুড়িয়ে ফেলেছিলাম, তাই আমাকে পরবর্তী-সেরা জিনিসটি অবলম্বন করতে হয়েছিল: বোতামগুলি! তাই এখন আমার সেটআপ হল একটি ESP8266 স্পার্কফুন থিং ডেভ বোর্ড 3 টি বোতাম- সামনে, ডান এবং বাম। এখন যখনই কাউকে চাপানো হয়, তখন সে চাকাগুলিকে সেই দিকে ঘুরানোর জন্য তথ্য পাঠায়।

ধাপ 6: রোবটের জন্য কোড

রোবটের জন্য কোড
রোবটের জন্য কোড

আমি একটি পূর্ববর্তী প্রকল্প তৈরি করেছি যা পিআই এর জিপিআইও পিডব্লিউএম লাইব্রেরিকে জসনের মাধ্যমে মোটর নিয়ন্ত্রণ করতে ব্যবহার করেছিল, তাই আমি কেবল একটি ফ্লাস্ক অ্যাপের মাধ্যমে ডেটা গ্রহণ করার জন্য কোডটি পুনরায় সাজিয়েছি। ফ্লাস্ক একটি পাইথন লাইব্রেরি যা মূলত আপনার পাইকে একটি ওয়েব সার্ভারে পরিণত করে যা ডেটা পাঠাতে এবং গ্রহণ করতে সক্ষম। PWM ব্যবহার করে মোটরগুলিকে ট্যাঙ্ক ড্রাইভের তুলনায় অধিক নির্ভুলতার সাথে নিয়ন্ত্রণ করা যায়। এর অর্থ এইও যে, রোবট একটি স্থিরের পরিবর্তে পরিবর্তনশীল গতিতে যেতে পারে। ESP12e থেকে http এর মাধ্যমে GET রিকোয়েস্ট থেকে ডেটা পাওয়ার পর আমার ফ্লাস্ক অ্যাপটি মোটরের PWM পরিবর্তন করার জন্য কনফিগার করা হয়েছে। এটি পটভূমিতে ওয়েবস্ট্রিমিং স্ক্রিপ্ট চালানোর জন্য সাবপ্রসেস পপেন লাইব্রেরি ব্যবহার করে। আমি প্রকল্প পৃষ্ঠায় কোড সংযুক্ত করেছি, তাই যা প্রয়োজন তা হল একটি ডাউনলোড।

ধাপ 7: কন্ট্রোলার কোড

কোডটি বেশ সহজ ছিল, কেবল 3 টি পিন থেকে রিডিং নিন, চাকার দিক নির্ধারণের জন্য কিছু বিবৃতি দিয়ে তাদের চালান এবং অবশেষে রাস্পবেরি পাইতে সেই মানগুলি পাঠান। Arduino IDE এর জন্য ESP8266 বোর্ড সংযোজন HTTPClient লাইব্রেরির সাথে আসে, যা হেডার পরিচালনা করে এবং ডেটা পাঠায়। ফ্লাস্ক সার্ভারকে একটি POST কলের মাধ্যমে ডেটা গ্রহণ করতে হবে, তাই কোডটি রাস্পবেরি পাই ওয়েব সার্ভারের সাথে একটি সংযোগ শুরু করে, তারপর ডেটাতে একটি হেডার যুক্ত করে যে এটি JSON এনকোডেড, এবং অবশেষে এটি একটি JSON বস্তুর আকারে ডেটা পাঠায় । আমি রাস্পবেরি পাইকে ডেটা দিয়ে অতিরিক্ত লোড হওয়া থেকে বিরত রাখতে 40 এমএস বিলম্ব যুক্ত করেছি।

ধাপ 8: রাস্পবেরি স্পাই চালানো

রাস্পবেরি স্পাই চালাচ্ছে
রাস্পবেরি স্পাই চালাচ্ছে
রাস্পবেরি স্পাই চালাচ্ছে
রাস্পবেরি স্পাই চালাচ্ছে

যা দরকার তা হল sudo python.py টাইপ করা! আপনার ক্যামেরার আলো দেখা উচিত, এবং 8080 পোর্টের সাথে পাই এর ওয়েব ঠিকানায় গিয়ে স্ট্রিমটি দৃশ্যমান হওয়া উচিত। এখন আপনি বাড়ির যে কোন জায়গায় কন্ট্রোলার ব্যবহার করতে পারেন এবং লাইভ ফিডও পেতে পারেন।

প্রস্তাবিত: