সুচিপত্র:

কিভাবে একটি ESP32 এ একটি ডিবাগার ব্যবহার করবেন: 11 টি ধাপ (ছবি সহ)
কিভাবে একটি ESP32 এ একটি ডিবাগার ব্যবহার করবেন: 11 টি ধাপ (ছবি সহ)

ভিডিও: কিভাবে একটি ESP32 এ একটি ডিবাগার ব্যবহার করবেন: 11 টি ধাপ (ছবি সহ)

ভিডিও: কিভাবে একটি ESP32 এ একটি ডিবাগার ব্যবহার করবেন: 11 টি ধাপ (ছবি সহ)
ভিডিও: PWM DC Motor control with Arduino and L298N Module with library - Robojax 2024, জুলাই
Anonim
কিভাবে ESP32 এ ডিবাগার ব্যবহার করবেন
কিভাবে ESP32 এ ডিবাগার ব্যবহার করবেন

আপনি কি কখনও আপনার কোডের ভিতরে উঁকি দিয়ে দেখতে চেয়েছেন যে এটি কেন এমন আচরণ করছে? SPতিহ্যগতভাবে ESP32 প্রকল্পে, আপনি কি ঘটছে তা খুঁজে বের করার জন্য অবিরাম মুদ্রণ বিবৃতি যোগ করতে হবে, কিন্তু একটি ভাল উপায় আছে!

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

এই গাইডে আমি আপনাকে হার্ডওয়্যার সেটআপ, সফটওয়্যার সেটআপ এবং ডিবাগার ব্যবহারের একটি সহজ উদাহরণ দেখাব।

সরবরাহ

  • ইএসপি -প্রোগ - এটি ডিবাগিংয়ের জন্য প্রয়োজনীয় বোর্ড

    • ঠিক যেটা আমি কিনেছি*
    • $ 5 একটি সস্তা, কিন্তু আমি এটি পরীক্ষা করিনি*
  • একটি ESP32 যা 12, 13, 14, 15 পিন ভেঙে দেয়

    • Adafruit পালক Huzzah32
    • D1 মিনি ESP32*
  • চ্ছিক] ডিবাগ শিল্ড টিন্ডিতে বিক্রি করি

    • পালক Huzzah32
    • D1 মিনি ESP32

* = এফিলিয়েট লিঙ্ক

ধাপ 1: ভিডিওটি দেখুন

Image
Image

আমার কাছে এই বিষয়ে একটি ভিডিও আছে যদি আপনি এটি পরীক্ষা করতে চান।

আমার চ্যানেলে আমি সাধারণত ESP8266 এবং ESP32 ভিত্তিক ভিডিও বানাই, তাই আপনি যদি সেগুলিতে আগ্রহী হন, অনুগ্রহ করে এটি পরীক্ষা করে দেখুন!

ধাপ 2: হার্ডওয়্যার - যন্ত্রাংশ এবং তারের

হার্ডওয়্যার - যন্ত্রাংশ এবং তারের
হার্ডওয়্যার - যন্ত্রাংশ এবং তারের
হার্ডওয়্যার - যন্ত্রাংশ এবং তারের
হার্ডওয়্যার - যন্ত্রাংশ এবং তারের
হার্ডওয়্যার - যন্ত্রাংশ এবং তারের
হার্ডওয়্যার - যন্ত্রাংশ এবং তারের

ডিবাগার ব্যবহার করার জন্য আপনাকে শুধুমাত্র একটি ESP-Prog এবং প্রায় যেকোন ESP32 বোর্ডের প্রয়োজন হবে (এগুলোর সাথে আগের ধাপে লিঙ্ক)

ইএসপি-প্রোগ:

ESP-Prog হল একটি বোর্ড যা espressif দ্বারা ডিজাইন করা হয়েছে, ESP32 এবং ESP8266 চিপের নির্মাতারা। এটি ESP32 এর JTAG পিনের সাথে সংযুক্ত করে আমাদের ডিবাগার ব্যবহার করার অনুমতি দেয়। এটি ESP32 বোর্ডের প্রোগ্রামিংয়ের জন্যও ব্যবহার করা যেতে পারে, কিন্তু আমি এখানে তা কভার করব না।

ESP32 বোর্ড:

আপনি JTAG পিনগুলি ভেঙে ফেললে এটির জন্য আপনি যে কোনও ESP32 বোর্ড ব্যবহার করতে পারেন, যা 12, 13, 14 এবং 15। আমি একটি Adafruit পালক Huzzah32 এবং একটি D1 মিনি 32 বোর্ড উভয়ই পরীক্ষা করেছি এবং তারা উভয়ই ভাল কাজ করেছে।

দয়া করে মনে রাখবেন যে আপনি ডিবাগার দিয়ে আপনার স্কেচে JTAG পিন ব্যবহার করতে পারেন, উদাহরণস্বরূপ Huzzah32 বোর্ডের অন্তর্নির্মিত LED পিন 13 এ রয়েছে, তাই ডিবাগ করার সময় আপনি এটি ব্যবহার করতে পারবেন না।

তারের:

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

ডিবাগ শিল্ড:

এগুলি alচ্ছিক, কিন্তু আমি টিঞ্জির উপর কিছু ieldsাল বিক্রি করি Huzzah32 এবং D1 Mini 32 এর জন্য যা ESP-Prog সংযোগকে সত্যিই সহজ করে তোলে, এটি একটি IDC সংযোগকারীকে উপযুক্ত পিনগুলি ভেঙে দেয় যা আপনি সরাসরি সংযোগ করতে একটি পটি কেবল ব্যবহার করতে পারেন। shাল এবং ইএসপি-প্রোগ

ধাপ 3: হার্ডওয়্যার - ড্রাইভার সেটআপ

হার্ডওয়্যার - ড্রাইভার সেটআপ
হার্ডওয়্যার - ড্রাইভার সেটআপ
হার্ডওয়্যার - ড্রাইভার সেটআপ
হার্ডওয়্যার - ড্রাইভার সেটআপ
হার্ডওয়্যার - ড্রাইভার সেটআপ
হার্ডওয়্যার - ড্রাইভার সেটআপ

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

  1. ESP-Prog এর জন্য FTDI ড্রাইভার ডাউনলোড করুন এবং ইনস্টল করুন এখান থেকে, "সেটআপ এক্সিকিউটেবল" সংস্করণটি ডাউনলোড করতে ডানদিকে স্ক্রোল করুন এটি সহজ করার জন্য।
  2. এখান থেকে Zadig টুলটি ডাউনলোড এবং ইনস্টল করুন, এটি আমাদের ডিবাগিংয়ের জন্য প্রয়োজনীয় একটি জেনেরিক ড্রাইভার ইনস্টল করতে দেয়।
  3. ESP-Prog প্লাগ ইন করার সাথে, Zadig খুলুন
  4. জ্যাডিগ অ্যাপ্লিকেশনে, "বিকল্প" এর অধীনে, "সমস্ত ডিভাইসের তালিকা" ক্লিক করুন
  5. Zadig এ ড্রপ ডাউন এখন পপুলেটেড হবে, "Dual RS232-HS (Interface 0)" অপশনটি নির্বাচন করুন। নিশ্চিত করুন যে এটি ইন্টারফেস 0 আপনি নির্বাচন করেছেন!
  6. সবুজ তীরের ডানদিকে, "WinUSB" নির্বাচন করা উচিত, তারপরে "ড্রাইভার প্রতিস্থাপন করুন" ক্লিক করুন

এটি শেষ হয়ে গেলে আপনার ড্রাইভারগুলি ব্যবহারের জন্য সেটআপ করা উচিত!

দ্রষ্টব্য: যদি আপনি ইএসপি-প্রোগের জন্য যে ইউএসবি পোর্টটি ব্যবহার করেন তা পরিবর্তন করেন, তাহলে আপনাকে আবার 3-6 ধাপ পুনরাবৃত্তি করতে হতে পারে। ডিবাগ করার সময় যদি আপনি উপরের ছবিতে দেখানো ত্রুটি পান তবে আপনাকে পদক্ষেপগুলি পুনরাবৃত্তি করতে হবে।

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

সফটওয়্যার: PlatformIO ইনস্টল করা
সফটওয়্যার: PlatformIO ইনস্টল করা
সফটওয়্যার: PlatformIO ইনস্টল করা
সফটওয়্যার: PlatformIO ইনস্টল করা
সফটওয়্যার: PlatformIO ইনস্টল করা
সফটওয়্যার: PlatformIO ইনস্টল করা

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

ডিবাগার ব্যবহার করার জন্য PlatformIO এর প্রয়োজন। আপনি যদি PlatformIO- এর সাথে ইতিমধ্যেই পরিচিত হন, তাহলে নির্দ্বিধায় কয়েক ধাপ এগিয়ে যান।

  • PlatformIO.org ওয়েবসাইটে দেওয়া লিঙ্ক থেকে ভিসুয়াল স্টুডিও কোড (ভিএস কোড) ডাউনলোড এবং ইনস্টল করুন
  • VS কোড খুলুন, এবং এক্সটেনশন মেনু খুলুন, উপরের ছবিতে বোতামটি হাইলাইট করা হয়েছে
  • অনুসন্ধানে "প্ল্যাটফর্মিও" টাইপ করুন, এটি নির্বাচন করুন এবং ইনস্টল ক্লিক করুন।

ধাপ 5: সফটওয়্যার: PlatformIO ব্যবহার করা

সফটওয়্যার: PlatformIO ব্যবহার করা
সফটওয়্যার: PlatformIO ব্যবহার করা
সফটওয়্যার: PlatformIO ব্যবহার করা
সফটওয়্যার: PlatformIO ব্যবহার করা
সফটওয়্যার: PlatformIO ব্যবহার করা
সফটওয়্যার: PlatformIO ব্যবহার করা

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

একটি উদাহরণ খোলা:

  1. PlatformIO টুলবারে হোম বোতামে ক্লিক করুন (ছবিতে দেখানো হয়েছে)
  2. "প্রকল্প উদাহরণ" বাটনে ক্লিক করুন
  3. Espressif 32 বিভাগের অধীনে "Arduino-blink" উদাহরণ নির্বাচন করুন

এটি একটি নমুনা ঝলকানো প্রকল্প খুলবে। একটি Arduino প্রকল্পের তুলনায় একটি PlatformIO এর বিন্যাস বেশ ভিন্ন, তাই আসুন মূল বিষয়গুলি দিয়ে যাই।

কোড কোথায়?

আপনার প্রকল্পের কোডটি "src" ফোল্ডারে সংরক্ষণ করা হবে, চোখের পলকের উদাহরণের জন্য আপনি একটি "blink.cpp" ফাইল দেখতে পাবেন, এই ফাইলটি একটি Arduino প্রকল্পে আপনার স্কেচ ফাইল (.ino) এর মতই।

আমি কিভাবে আমার বোর্ড কনফিগার করব?

আপনার প্রকল্পের কনফিগারেশনগুলি আপনার প্রকল্পে একটি "platformio.ini" ফাইলের মধ্যে রাখা আছে। এটি আসলে Arduino IDE এর তুলনায় PlatformIO সম্পর্কে আমার প্রিয় জিনিসগুলির মধ্যে একটি, এটি আমার কাছে কখনই বোধগম্য হয়নি যে বোর্ড সেটিংস স্কেচের সাথে আবদ্ধ ছিল না।

উদাহরণ।

আমি কোথায় আমার COM পোর্ট সেট করব?

PlatformIO আসলে স্বয়ংক্রিয়ভাবে ব্যবহার করার জন্য সঠিক COM পোর্ট খুঁজে বের করার চেষ্টা করবে, তাই আপনি আসলে এর জন্য কিছু সেট না করে দূরে সরে যেতে পারেন। কিন্তু যদি আপনার একাধিক COM পোর্ট থাকে, যা আপনি ডিবাগার ব্যবহার করার সময় করবেন, আমি মনে করি আপনার প্রয়োজনীয় নির্দিষ্টটি সেট করা বোধগম্য। আপনি হোম ট্যাবে "ডিভাইস" বিভাগে ক্লিক করে আপনার বিভিন্ন ডিভাইস দেখতে পারেন, এবং আপনি একটি "upload_port" কনফিগারেশন যোগ করে "platformio.ini" এ আপনার ESP32 কোনটি সেট করতে পারেন।

আমি কিভাবে আমার কোড আপলোড করব?

আপলোড বোতামে ক্লিক করুন (আইকনটি একটি তীর ডানদিকে নির্দেশ করে) এবং এটি কোডটি কম্পাইল এবং আপলোড করা উচিত। আপনার বোর্ডে এখন একটি জ্বলজ্বলে LED থাকা উচিত।

ধাপ 6: ডিবাগিং: সম্ভাব্য কলার ত্বক

ডিবাগিং: সম্ভাব্য কলার ত্বক!
ডিবাগিং: সম্ভাব্য কলার ত্বক!
ডিবাগিং: সম্ভাব্য কলার ত্বক!
ডিবাগিং: সম্ভাব্য কলার ত্বক!
ডিবাগিং: সম্ভাব্য কলার ত্বক!
ডিবাগিং: সম্ভাব্য কলার ত্বক!

এটি এমন একটি বিষয় যা আমি যখন এটি প্রস্তুত করছিলাম তখন আমাকে ধরে ফেলেছিল এবং আশা করি আপনি এটি চেষ্টা করার সময় ঠিক হয়ে যাবেন, কিন্তু আমি ভেবেছিলাম এখানে চলে যাওয়া গুরুত্বপূর্ণ।

এই নির্দেশিকা তৈরির সময়, PlatformIO- এর সর্বশেষ সংস্করণ 4.3.0 এবং এটিতে একটি বাগ রয়েছে যা ডিবাগ করতে সক্ষম হওয়ার সাথে সম্পর্কিত। সৌভাগ্যক্রমে আমরা খুব সহজেই সর্বশেষ ডেভেলপমেন্ট ভার্সনে আপডেট করতে পারি যা সমস্যার সমাধান করে।

PlatformIO কোর এর সংস্করণটি হোম পেজে চেক করুন, যদি এটি "4.3.0" হয়, তাহলে নিচের ধাপগুলো সম্পাদন করুন।

  1. PlatformIO টুলবারে, টার্মিনাল আইকনে ক্লিক করুন
  2. টার্মিনালে টাইপ: pio upgrade --dev
  3. পুনartসূচনা VS কোড এবং PlatfromIO আপডেট করা উচিত

ধাপ 7: ডিবাগিং: কনফিগারেশন

ডিবাগিং: কনফিগারেশন
ডিবাগিং: কনফিগারেশন

ডিবাগিং সক্ষম করতে আমাদের "PlatofrmIO.ini" ফাইলটি সম্পাদনা করতে হবে, আমাদের কেবল দুটি জিনিস যোগ করতে হবে।

debug_tool = esp-prog

এটি ডিবাগ টুল সেট করে যা আমরা ব্যবহার করছি।

debug_init_break = tbreak সেটআপ

এটি একটি কৌশল যা আমরা ESP32 এ ডিবাগিংয়ের উপর Andress Spiess এর ভিডিও থেকে শিখেছি। এটি ডিবাগারকে আমাদের অ্যাপ্লিকেশনের সেটআপ বন্ধ করতে বলে।

ধাপ 8: ডিবাগিং: ডিবাগিং শুরু

ডিবাগিং: ডিবাগিং শুরু
ডিবাগিং: ডিবাগিং শুরু
ডিবাগিং: ডিবাগিং শুরু
ডিবাগিং: ডিবাগিং শুরু
ডিবাগিং: ডিবাগিং শুরু
ডিবাগিং: ডিবাগিং শুরু
ডিবাগিং: ডিবাগিং শুরু
ডিবাগিং: ডিবাগিং শুরু

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

  1. একটি নতুন পরিবর্তনশীল তৈরি করুন, "int delayTime = 1000;" যেকোনো পদ্ধতির বাইরে, এটি এটিকে একটি বৈশ্বিক পরিবর্তনশীল করে তুলবে।
  2. এই নতুন ভেরিয়েবলের সাথে লুপে বিলম্ব কলগুলির ভিতরের নম্বরটি প্রতিস্থাপন করুন: বিলম্ব (বিলম্বের সময়);

আরও একবার বোর্ডে কোড আপলোড করুন, তারপর ডিবাগিং শুরু করতে, টুলবারে, "চালান" তারপর "ডিবাগিং শুরু করুন" ক্লিক করুন

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

যদি সবকিছু প্রত্যাশা অনুযায়ী হয় তবে আপনি সেটআপের শুরুতে ডিবাগার স্টপ দেখতে পাবেন।

ধাপ 9: ডিবাগিং: মৌলিক ব্যবহার

ডিবাগিং: মৌলিক ব্যবহার
ডিবাগিং: মৌলিক ব্যবহার
ডিবাগিং: মৌলিক ব্যবহার
ডিবাগিং: মৌলিক ব্যবহার
ডিবাগিং: মৌলিক ব্যবহার
ডিবাগিং: মৌলিক ব্যবহার
ডিবাগিং: মৌলিক ব্যবহার
ডিবাগিং: মৌলিক ব্যবহার

আসুন ডিবাগার দিয়ে আপনি কী করতে পারেন তার কিছু মূল কথা কভার করি

ব্রেকপয়েন্ট তৈরি করা:

একটি ব্রেকপয়েন্ট আপনার কোডের একটি বিন্দু যেখানে আপনি ডিবাগার বন্ধ করতে চান। ব্রেকপয়েন্ট তৈরি করতে লাইন নম্বরের বাম দিকে ক্লিক করুন। ডেমো হিসাবে, লুপ পদ্ধতিতে প্রথম লাইনে ব্রেকপয়েন্ট যুক্ত করুন।

ব্রেকপয়েন্ট নেভিগেশন:

ব্রেকপয়েন্টের মধ্যে যেতে বা কোডের পরবর্তী লাইনে যাওয়ার জন্য, আপনি স্ক্রিনের শীর্ষে প্রদর্শিত সরঞ্জামগুলি ব্যবহার করতে পারেন। আমরা শুধু লুপের ভিতরে তৈরি করা ব্রেকপয়েন্টটি সরানোর জন্য "চালিয়ে যান" বোতামটি (একটি প্লে বাটনের মত দেখায়) টিপুন।

পরিবর্তনশীল ঘড়ি:

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

পরিবর্তনশীল ভিউয়ার:

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

ভেরিয়েবলের মান সম্পাদনা:

আপনি ভেরিয়েবলের মানগুলিও সম্পাদনা করতে পারেন এবং এটি আপনার কোড আচরণের উপর অবিলম্বে প্রভাব ফেলবে। এটি প্রদর্শনের জন্য, ভেরিয়েবল ভিউয়ার বিভাগে ডেল্টটাইম ভেরিয়েবলে ক্লিক করুন এবং মানটি "100" এ পরিবর্তন করুন। এই কাজটি দেখানোর জন্য, লাইন নম্বরের বাম দিকে আবার ক্লিক করে লুপের ভিতরে ব্রেকপয়েন্টটি অক্ষম করুন। ব্রেকপয়েন্ট নেভিগেশন বারে অবিরত বোতাম টিপুন। আপনার ESP32 এর LED এখন আগের তুলনায় অনেক দ্রুত জ্বলজ্বল করা উচিত।

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

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

আমি আমার পরীক্ষার সময় দেখেছি যে, ESP-prog- এর সাথে সংযুক্ত থাকাকালীন কিছু সময় আমি ESP32 এ আপলোড করতে পারিনি, এবং কেন এমনটি ঘটেছে তার একটি প্যাটার্ন বের করতে পারিনি, কারণ বেশিরভাগ সময় আমি আপলোড করতে পারতাম কোন সমস্যা. আমি খুঁজে পেয়েছি যে আমি কেবল ESP32 এবং ESP-Prog সংযোগ বিচ্ছিন্ন করতে পারি, ESP32 এ কোড আপলোড করতে পারি এবং তারপরে তাদের পুনরায় সংযোগ করতে পারি এবং এটি ঠিক কাজ করবে।

ধাপ 11: উপসংহার

আমি মনে করি আপনার প্রকল্পের ভিতরে কি চলছে তা বের করতে সাহায্য করার জন্য টুলবক্সে যোগ করার জন্য এটি একটি সত্যিই দুর্দান্ত সরঞ্জাম।

আপনি যদি এটি দরকারী মনে করেন তবে আমি শুনতে চাই! অনুগ্রহ করে আমাকে নীচের মন্তব্যে জানান, অথবা আমার ডিসকর্ড সার্ভারে আমার সাথে এবং অন্যান্য নির্মাতাদের একটি গুচ্ছের সাথে যোগ দিন, যেখানে আমরা এই বিষয় বা আপনার সাথে সম্পর্কিত অন্য কোন নির্মাতা নিয়ে আলোচনা করতে পারি, সেখানে মানুষ সত্যিই সহায়ক তাই এটি ঝুলন্ত একটি দুর্দান্ত জায়গা বাইরে

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

প্রস্তাবিত: