সুচিপত্র:

ভার্চুয়াল প্রেজেন্স রোবট: 15 টি ধাপ
ভার্চুয়াল প্রেজেন্স রোবট: 15 টি ধাপ

ভিডিও: ভার্চুয়াল প্রেজেন্স রোবট: 15 টি ধাপ

ভিডিও: ভার্চুয়াল প্রেজেন্স রোবট: 15 টি ধাপ
ভিডিও: একাদশ-দ্বাদশ শ্রেণীর তথ্য ও যোগাযোগ প্রযুক্তি বই এর প্রথম অধ্যায় থেকে সংক্ষিপ্ত প্রশ্ন ও উত্তর। 2024, নভেম্বর
Anonim
Image
Image
মোবাইল রোবট গাড়ি
মোবাইল রোবট গাড়ি

এই মোবাইল রোবটটি তার দৈহিক চারপাশের সাথে যোগাযোগ করে, এটি দূরবর্তীভাবে নিয়ন্ত্রণকারী ব্যক্তির "ভার্চুয়াল উপস্থিতি" প্রতিনিধিত্ব করে। এটি ব্যবহার করতে পারে যে কেউ, বিশ্বের যে কোন জায়গায়, আচরণ বিতরণ এবং আপনার সাথে খেলতে।

দূরবর্তী মিথস্ক্রিয়ার জন্য একটি শারীরিক ইন্টারফেস তৈরি করে ইন্টারনেট-ভিত্তিক যোগাযোগের traditionalতিহ্যবাহী মাধ্যমের বাইরে যাওয়ার প্রচেষ্টা হিসাবে এখানে কাজটি দুইজন (জার্মানিতে একজন এবং মার্কিন যুক্তরাষ্ট্রে) দ্বারা বিকশিত হয়েছে। যেহেতু কোভিড -১ the বিশ্বকে প্রভাবিত করে চলেছে, এবং প্রত্যেকেই আমাদের শারীরিক এক্সপোজারকে মানুষের কাছে সীমাবদ্ধ করার জন্য দায়ী, আমরা সেই বাস্তব সংযোগ ফিরিয়ে আনার চেষ্টা করি যা শারীরিক মিথস্ক্রিয়ার একটি অংশ।

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

সরবরাহ

প্রকল্পের main টি প্রধান অংশ রয়েছে - একটি মোবাইল রোবট কার, একটি চিপ ডিসপেন্সার, একটি জয়স্টিক এবং নেটওয়ার্ক কমিউনিকেশন সেটআপ।

মোবাইল রোবট গাড়ি

  • ব্রেডবোর্ড
  • 2 হুইল ড্রাইভ মোটর এবং চ্যাসিস রোবট কিট (চাকা, ডিসি মোটর, মাউন্ট বোর্ড এবং স্ক্রু অন্তর্ভুক্ত)
  • আরডুইনো মেগা 2560 (যদি আপনি দূরত্ব সেন্সর বা চিপ ডিসপেন্সার ছাড়া তৈরি করেন তবে একটি ইউনোতে যথেষ্ট পিন থাকবে)
  • (3) 9V ব্যাটারি (আপনি তাদের ডিবাগিং নিষ্কাশন করা হবে চারপাশে আরো কিছু আছে)
  • LM2596 পাওয়ার সাপ্লাই মডিউল ডিসি/ডিসি বাক 3A রেগুলেটর (বা অনুরূপ)
  • ESP32-CAM ওয়াইফাই মডিউল
  • FT232RL FTDI USB থেকে TTL সিরিয়াল কনভার্টার (ESP32-CAM প্রোগ্রামিং এর জন্য)
  • HC-SR04 অতিস্বনক দূরত্ব সেন্সর
  • L298N মোটর ড্রাইভার
  • (3) LEDS (কোন রং)
  • (3) 220 ওহম প্রতিরোধক

চিপ বিতরণকারী

  • (2) SG90 Servos
  • কার্ডবোর্ড / পেপারবোর্ড

জয়স্টিক

  • আরডুইনো উনো
  • জয়স্টিক মডিউল
  • মিনি ব্রেডবোর্ড, (1) LED, (1) 220 Ohm Resistor (alচ্ছিক)

অন্যান্য

প্রচুর ব্রেডবোর্ড জাম্পার তার

ধৈর্য =)

ধাপ 1: মোবাইল রোবট গাড়ি

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

ধাপ 2: মোবাইল রোবট গাড়ি - সার্কিট ডায়াগ্রাম

মোবাইল রোবট গাড়ি - সার্কিট ডায়াগ্রাম
মোবাইল রোবট গাড়ি - সার্কিট ডায়াগ্রাম

আমরা ধাপে ধাপে এই একত্রিত করার মাধ্যমে আপনাকে নিয়ে যাব।

ধাপ 3: মোবাইল রোবট গাড়ি - সমাবেশ (মোটর)

মোবাইল রোবট গাড়ি - সমাবেশ (মোটর)
মোবাইল রোবট গাড়ি - সমাবেশ (মোটর)

আপনি 2WD চ্যাসি একত্রিত করার পরে, আমরা L298N ড্রাইভারের মাধ্যমে মোটর এবং ব্যাটারিকে Arduino MEGA এর সাথে সংযুক্ত করে শুরু করি।

ধাপ 4: মোবাইল রোবট গাড়ি - সমাবেশ (দূরত্ব সেন্সর)

মোবাইল রোবট গাড়ি - সমাবেশ (দূরত্ব সেন্সর)
মোবাইল রোবট গাড়ি - সমাবেশ (দূরত্ব সেন্সর)

যেহেতু সংযোগের জন্য বেশ কয়েকটি উপাদান রয়েছে, আসুন একটি ব্রেডবোর্ড যুক্ত করি, যাতে আমরা শক্তি এবং ভাগ করা স্থলকে আরও সহজে সংযুক্ত করতে পারি। আমরা তারগুলি পুনরায় সংগঠিত করার পরে, দূরত্ব সেন্সরটি সংযুক্ত করি এবং রোবটের সামনে এটি ঠিক করি।

ধাপ 5: মোবাইল রোবট গাড়ি - সমাবেশ (ESP32 CAM)

মোবাইল রোবট গাড়ি - সমাবেশ (ESP32 CAM)
মোবাইল রোবট গাড়ি - সমাবেশ (ESP32 CAM)

এর পরে, ESP32-CAM মডিউলটি সংযুক্ত করুন এবং রোবটের সামনের দিকের দূরত্ব সেন্সরের পাশে এটি ঠিক করুন। মনে রাখবেন এই বরং শক্তি-ক্ষুধার্ত উপাদানটির নিজস্ব ব্যাটারি এবং একটি ডিসি-রেগুলেটর প্রয়োজন।

ধাপ 6: মোবাইল রোবট গাড়ি - সমাবেশ (চিপ ডিসপেন্সার)

মোবাইল রোবট গাড়ি - অ্যাসেম্বলি (চিপ ডিসপেন্সার)
মোবাইল রোবট গাড়ি - অ্যাসেম্বলি (চিপ ডিসপেন্সার)

এখন, আসুন চিপ-ডিসপেন্সার যুক্ত করি ("চিপ ডিসপেনসার" বিভাগে এই বিষয়ে আরও)। ফ্রিজিং ডায়াগ্রাম অনুসারে দুটি সার্ভকে ওয়্যার আপ করুন এবং রোবটের লেজে ডিসপেন্সার ঠিক করুন।

ধাপ 7: মোবাইল রোবট গাড়ি - সমাবেশ (কুকিজ!)

মোবাইল রোবট গাড়ি - সমাবেশ (কুকিজ!)
মোবাইল রোবট গাড়ি - সমাবেশ (কুকিজ!)

অবশেষে, আমরা ডিপেনসারে ট্রিট যোগ করি!

ধাপ 8: মোবাইল রোবট গাড়ি - আরডুইনো কোড

RobotCar_Code হল সেই কোড যা আপনাকে Arduino Mega তে লোড করতে হবে।

এটি কীভাবে কাজ করে তা এখানে: Arduino 115200 ব্যান্ডে সিরিয়াল যোগাযোগের মাধ্যমে ESP32 থেকে পাঠানো বাইটগুলি শোনে। প্রাপ্ত বাইটের উপর ভিত্তি করে, গাড়ি নিয়ন্ত্রণের জন্য মোটরগুলিতে একটি উচ্চ বা নিম্ন ভোল্টেজ প্রেরণ করে, পাশাপাশি গতি নিয়ন্ত্রণ করতে 0-255 এর মধ্যে একটি PWM ভেরিয়েবল পাঠিয়ে এগিয়ে, পিছনে, বাম, ডান ইত্যাদি দিকে অগ্রসর হবে। সংঘর্ষ এড়ানোর জন্য এই কোডটি দূরত্ব সেন্সর থেকে আসা মানগুলিও পড়ে এবং যদি দূরত্বটি একটি নির্দিষ্ট প্রান্তিকের চেয়ে কম হয়, তাহলে রোবটটি এগিয়ে যাবে না। পরিশেষে, যদি Arduino একটি ট্রিট বিতরণ করার জন্য একটি আদেশ পায়, এটি চিপ ডিসপেনসারে সার্ভোসগুলি সক্রিয় করবে।

ধাপ 9: মোবাইল রোবট গাড়ি - ESP32 কোড

ESP32 ওয়াইফাই এর মাধ্যমে সার্ভার এবং Arduino এর মধ্যে যোগাযোগের অনুমতি দেয়। এটি আরডুইনো থেকে আলাদাভাবে প্রোগ্রাম করা হয়েছে এবং এর নিজস্ব কোড রয়েছে:

  • ESP32_Code.ino হল Arduino- এ তথ্য পাঠানোর জন্য ESP32 এর কোড
  • app_httpd.cpp হল ডিফল্ট ESP32 ওয়েব সার্ভারের জন্য প্রয়োজনীয় কোড এবং কীপ্রেস শুনতে ফাংশন সেট করুন। স্থানীয় ওয়াইফাইতে ডিবাগিং এবং পরীক্ষার জন্য ভাল। এটি স্থানীয় নেটওয়ার্কের বাইরে যোগাযোগের জন্য ব্যবহৃত হয় না।
  • camera_index.h হল ডিফল্ট ওয়েব অ্যাপ্লিকেশনের জন্য এইচটিএমএল কোড
  • camera_pins.h ESP32 মডেলের উপর নির্ভর করে পিন সংজ্ঞায়িত করে

ESP32 কোডটি ওয়াইফাই লাইব্রেরির পাশাপাশি ESP32 অ্যাড-অন ব্যবহার করে, যা এই পদক্ষেপগুলি অনুসরণ করে Arduino IDE তে ইনস্টল করা যেতে পারে:

  1. Arduino IDE তে File> Preferences এ যান
  2. তারপর অতিরিক্ত বোর্ড ম্যানেজার URL এর অধীনে সেটিংস ট্যাবে নিম্নলিখিত "https://dl.espressif.com/dl/package_esp32_index.json" লিখুন
  3. এখন বোর্ড ম্যানেজার খুলুন এবং সরঞ্জাম> বোর্ড> বোর্ড ম্যানেজারে যান এবং "ESP32" লিখে ESP32 অনুসন্ধান করুন
  4. আপনি "Espressif সিস্টেম দ্বারা esp32" দেখতে হবে। ইনস্টল ক্লিক করুন।
  5. এখন ESP32 অ্যাড-অন ইনস্টল করা উচিত। চেক করার জন্য Arduino IDE এ ফিরে যান এবং সরঞ্জাম> বোর্ডে যান এবং "ESP32 Wrover মডিউল" নির্বাচন করুন।
  6. আবার সরঞ্জাম> আপলোড গতিতে যান এবং এটি "115200" এ সেট করুন।
  7. সবশেষে, টুলস> পার্টিশন স্কিম এ যান এবং এটি "বিশাল অ্যাপ (3MB No OTA/1MB SPIFFS) এ সেট করুন
  8. একবার আপনি এটি সম্পন্ন করার পরে, আমি র্যান্ডমনার্ড টিউটোরিয়ালগুলির এই টিউটোরিয়ালটি অনুসরণ করার সুপারিশ করি যা ESP32 সেটআপ চূড়ান্ত করার পদ্ধতি এবং FTDI প্রোগ্রামারের সাথে কোড আপলোড করার বিস্তারিত ব্যাখ্যা করে।

ধাপ 10: চিপ বিতরণকারী

চিপ বিতরণকারী
চিপ বিতরণকারী

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

*সমস্ত মাত্রা মিলিমিটার হয়

ধাপ 11: জয়স্টিক

জয়স্টিক
জয়স্টিক

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

এর জন্য আমাদের শুধুমাত্র একটি Arduino Uno ছিল যার লাইব্রেরি ব্যবহার করার ক্ষমতা নেই তাই আমরা এটিকে সরাসরি ইউএসবি প্রোটোকল ব্যবহার করে প্রোগ্রাম করেছি যা ডিভাইস ফার্মওয়্যার আপডেট (DFU) নামে পরিচিত যা একটি সাধারণ USB HID কীবোর্ড ফার্মওয়্যারের সাহায্যে arduino কে ফ্ল্যাশ করতে দেয় । অন্য কথায়, যখন আরডুইনো ইউএসবিতে প্লাগ করা হয় তখন এটি আরডুইনো হিসাবে স্বীকৃত নয় কিন্তু একটি কীবোর্ড হিসাবে!

ধাপ 12: জয়স্টিক - সার্কিট ডায়াগ্রাম

জয়স্টিক - সার্কিট ডায়াগ্রাম
জয়স্টিক - সার্কিট ডায়াগ্রাম

এখানে আমরা কিভাবে জয়স্টিক লাগিয়েছি।

ধাপ 13: জয়স্টিক - কীবোর্ড এমুলেটর

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

প্রথম ধাপ হল Arduino এ Atmel ইউএসবি ড্রাইভারটি ম্যানুয়ালভাবে লিখতে হবে যাতে এটি একটি ইউএসবি হিসাবে স্বীকৃত হয় এবং একটি আরডুইনো নয় যা এটি FLIP প্রোগ্রামারের সাথে ফ্ল্যাশ করতে সক্ষম করে।

  1. এটমেলের এফএলআইপি প্রোগ্রামার এখান থেকে ডাউনলোড করুন
  2. আপনার Arduino Uno প্লাগ ইন করুন
  3. ডিভাইস ম্যানেজারে যান এবং Arduino খুঁজুন। এটি COM বা অজানা ডিভাইসের অধীনে থাকবে। এটি সঠিক ডিভাইস কিনা তা নিশ্চিত করতে এটিকে ভিতরে এবং বাইরে প্লাগ করুন।
  4. একবার আপনি ডিভাইস ম্যানেজারে Arduino Uno খুঁজে পেয়ে গেলে, এটিতে ডান ক্লিক করুন এবং বৈশিষ্ট্যগুলি নির্বাচন করুন> ড্রাইভার> আপডেট ড্রাইভার> ড্রাইভার সফটওয়্যারের জন্য আমার কম্পিউটার ব্রাউজ করুন> আমাকে আমার কম্পিউটারে উপলব্ধ ড্রাইভারের তালিকা থেকে বেছে নিন> ডিস্ক আছে> ব্রাউজ করুন "atmel_usb_dfu.inf" ফাইলটি নির্বাচন করুন। এটি এমন ফোল্ডারে থাকা উচিত যেখানে আপনার Atmel FLIP প্রোগ্রামার ইনস্টল করা ছিল। আমার কম্পিউটারে এটি এখানে: C: / Program Files (x86) Atmel / Flip 3.4.7 / usb / atmel_usb_dfu.inf
  5. ড্রাইভার ইনস্টল করুন
  6. এখন ডিভাইস ম্যানেজারের কাছে ফিরে যান আপনার Arduino Uno এর সাথে এখন একটি ATmega16u2 লেবেলযুক্ত একটি "Atmel USB Devices" দেখা উচিত!

এখন যেহেতু কম্পিউটারটি Arduino Uno কে একটি USB ডিভাইস হিসেবে স্বীকৃতি দিয়েছে আমরা FLIP প্রোগ্রামারকে 3 টি আলাদা ফাইল দিয়ে ফ্ল্যাশ করতে এবং এটিকে একটি কীবোর্ডে পরিণত করতে পারি।

আপনি যদি প্রথম অংশের পরে আপনার Arduino Uno আনপ্লাগ করেন, তাহলে এটি আবার প্লাগ ইন করুন।

  1. FLIP খুলুন
  2. সংক্ষিপ্তভাবে মাটিতে বিদ্যুৎ সংযোগ করে Arduino Uno রিসেট করুন।
  3. ডিভাইস নির্বাচন ক্লিক করুন (একটি মাইক্রোচিপের মত আইকন) এবং ATmega16U2 নির্বাচন করুন
  4. একটি যোগাযোগ মাধ্যম নির্বাচন করুন (একটি ইউএসবি কর্ডের মতো আইকন) ক্লিক করুন এবং ইউএসবি নির্বাচন করুন। আপনি যদি প্রথম অংশটি সঠিকভাবে সম্পন্ন করেন তবে অন্যান্য ধূসর বোতামগুলি ব্যবহারযোগ্য হয়ে উঠবে।
  5. ফাইল> লোড হেক্স ফাইল> এ যান এবং Arduino-usbserial-uno.hex ফাইলটি আপলোড করুন
  6. FLIP উইন্ডোতে আপনার তিনটি বিভাগ দেখা উচিত: অপারেশন ফ্লো, ফ্ল্যাশ বাফার ইনফরমেশন এবং ATmega16U2। অপারেশন ফ্লোতে Erase, Program, এবং Verify- এর জন্য বাক্স চেক করুন, তারপর রান -এ ক্লিক করুন।
  7. একবার এই প্রক্রিয়াটি সম্পন্ন হলে, ATmega16U2 বিভাগে Start Application এ ক্লিক করুন।
  8. আরডুইনো চক্রটি কম্পিউটার থেকে আনপ্লাগ করে আবার প্লাগ ইন করে।
  9. সংক্ষিপ্তভাবে মাটিতে বিদ্যুৎ সংযোগ করে Arduino Uno রিসেট করুন।
  10. Arduino IDE খুলুন এবং JoyStickControl_Code.ino ফাইলটি বোর্ডে আপলোড করুন।
  11. আরডুইনো চক্রটি কম্পিউটার থেকে আনপ্লাগ করে আবার প্লাগ ইন করে।
  12. সংক্ষিপ্তভাবে মাটিতে বিদ্যুৎ সংযোগ করে arduino পুনরায় সেট করুন।
  13. FLIP এ ফিরে যান, নিশ্চিত করুন ডিভাইস নির্বাচন Atmega16U2 বলে
  14. একটি যোগাযোগ মাধ্যম নির্বাচন করুন ক্লিক করুন এবং ইউএসবি নির্বাচন করুন।
  15. ফাইল> লোড হেক্স ফাইল> এ যান এবং Arduino-keyboard-0.3.hex ফাইলটি আপলোড করুন
  16. FLIP উইন্ডোতে আপনার তিনটি বিভাগ দেখা উচিত: অপারেশন ফ্লো, ফ্ল্যাশ বাফার ইনফরমেশন এবং ATmega16U2। অপারেশন ফ্লোতে Erase, Program, এবং Verify- এর জন্য বাক্স চেক করুন, তারপর রান -এ ক্লিক করুন।
  17. একবার এই প্রক্রিয়াটি সম্পন্ন হলে, ATmega16U2 বিভাগে Start Application এ ক্লিক করুন।
  18. আরডুইনো চক্রটি কম্পিউটার থেকে আনপ্লাগ করে আবার প্লাগ ইন করে।
  19. এখন যখন আপনি ডিভাইস ম্যানেজারে যান তখন কীবোর্ডের অধীনে একটি নতুন HID কীবোর্ড ডিভাইস থাকা উচিত।
  20. একটি নোটপ্যাড বা কোন পাঠ্য সম্পাদক খুলুন এবং জয়স্টিকটি সরানো শুরু করুন। আপনি সংখ্যা টাইপ করা হচ্ছে দেখতে হবে!

আপনি যদি Arduino স্কেচে কোড পরিবর্তন করতে চান, উদাহরণস্বরূপ জয়স্টিকে নতুন কমান্ড লেখার জন্য, আপনাকে প্রতিবার 3 টি ফাইল দিয়ে এটি ফ্ল্যাশ করতে হবে।

কিছু দরকারী লিঙ্ক: Arduino DFUAtLibUsbDfu.dll পাওয়া যায়নি

এই কীবোর্ড এমুলেটরটি 24 জুন, 2012 এ মাইকেল এর এই টিউটোরিয়ালের উপর ভিত্তি করে তৈরি।

ধাপ 14: নেটওয়ার্ক যোগাযোগ

নেটওয়ার্ক যোগাযোগ
নেটওয়ার্ক যোগাযোগ

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

  • Handlers.py: ESP32-CAM এবং পাবলিক সার্ভার থেকে তথ্য রিলে (পাইথন 8. tested এ পরীক্ষা করা হয়েছে)
  • Flask_app.py: সংজ্ঞায়িত করে কিভাবে আপনার অ্যাপ আগত অনুরোধের প্রতি সাড়া দেয়।
  • Robot_stream.html: আপনার ব্রাউজারে ভিডিও রেন্ডার করে এবং কীবোর্ড / জয়স্টিকের মাধ্যমে কমান্ড শোনে (ক্রোমে পরীক্ষিত)

সংযোগ হ্যান্ডলার আপনি এটি সরাসরি app_httpd.cpp এ কোড করতে পারেন, কিন্তু সহজ ডিবাগিংয়ের জন্য আমরা একই নেটওয়ার্কে সংযুক্ত একটি পিসিতে চলমান পাইথন স্ক্রিপ্ট ব্যবহার করি। Handlers.py খুলুন এবং আপনার নিজের আইপি ঠিকানা এবং ব্যবহারকারীর নাম আপডেট করুন, এবং আপনি যেতে প্রস্তুত। যখন আপনি এই ফাইলটি চালাবেন তখন স্ট্রিম শুরু হবে।

পাবলিক সার্ভার ইন্টারনেটে সবকিছু অ্যাক্সেস করার জন্য, আপনি আপনার পছন্দের একটি PaaS দিয়ে একটি সার্ভার শুরু করতে পারেন। Pythonanywhere (PA) এ সেট আপ করতে 5 মিনিটেরও কম সময় লাগে:

  1. একটি অ্যাকাউন্টের জন্য সাইন আপ করুন এবং লগ ইন করুন
  2. "ওয়েব" ট্যাবে যান এবং "একটি নতুন ওয়েব অ্যাপ যুক্ত করুন" টিপুন, ফ্লাস্ক এবং পাইথন 3.6 নির্বাচন করুন
  3. Flask_app.py /mysite ডিরেক্টরিতে অনুলিপি করুন
  4. Robot_stream.html /mysite /templates ডিরেক্টরিতে কপি করুন
  5. "পুনরায় লোড করুন" এ ক্লিক করুন

এবং … আপনি পুরোপুরি প্রস্তুত!

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

ধাপ 15: সব একসাথে রাখা

এখন, আপনার রোবট চালু করুন, একটি কম্পিউটারে handlers.py চালান (রোবট হিসাবে একই নেটওয়ার্কে সংযুক্ত), এবং আপনি যে ব্রাউজারটি আপনি চান সেখান থেকে সেট করা ইউআরএলের উপর ভিত্তি করে রোবটটি নিয়ন্ত্রণ করতে পারেন। (যেমন

প্রস্তাবিত: