Arduino IDE এর সাথে ESP32 ব্লুটুথ ক্লাসিক ব্যবহার করা

Arduino Ide Era Sathe Esp32 Blututha Klasika Byabahara Kara



ESP32 হল একটি মাইক্রোকন্ট্রোলার-ভিত্তিক বোর্ড যা Wi-Fi এবং ব্লুটুথ সমর্থন সহ আসে। এটি একটি IoT ভিত্তিক বোর্ড যা নির্দেশাবলী কার্যকর করার জন্য একাধিক সেন্সরের সাথে একত্রিত করা যেতে পারে। ESP32 বোর্ডের একটি বিস্তৃত অ্যাপ্লিকেশন রয়েছে যেখানে বেতার যোগাযোগের প্রয়োজন। আসুন আলোচনা করি কিভাবে আমরা ESP32 ব্লুটুথ কনফিগার করতে পারি এবং এটি ব্যবহার করে তথ্য প্রেরণ করতে পারি।

Arduino IDE সহ ESP32 ব্লুটুথ ক্লাসিক

ESP32 বোর্ডটি ডুয়াল ব্লুটুথ সাপোর্ট সহ একটি ব্লুটুথ ক্লাসিক এবং দ্বিতীয়টি হল BLE (ব্লুটুথ লো এনার্জি)। আজ আমরা শুধুমাত্র ব্লুটুথ ক্লাসিক নিয়ে আলোচনা করব। শুধুমাত্র পার্থক্য যা উভয়ের মধ্যে বিদ্যমান তা হল যে ব্লুটুথ ক্লাসিক অনেক ডেটা স্থানান্তর পরিচালনা করতে পারে তবে উচ্চ হারে ব্যাটারি খরচ করে, তবে ব্লুটুথ লো এনার্জি শক্তি সংরক্ষণকারী বৈকল্পিক যা স্বল্প দূরত্বের যোগাযোগের জন্য ব্যবহৃত হয়। ডেটা স্থানান্তরের জন্য শুরু না হওয়া পর্যন্ত BLE স্লিপ মোডে থাকে।







ESP32 ক্লাসিক ব্লুটুথ সিরিয়াল কমিউনিকেশন

ESP32 ব্লুটুথের কাজটি একরকম আরডুইনোর মতোই, যেমনটি আমরা আরডুইনোতে করেছি কারণ একটি বাহ্যিক ব্লুটুথ সেন্সর HC-05 এর মতো ব্যবহার করা হয়। Arduino এবং HC-05 উভয় সেন্সরই সিরিয়াল যোগাযোগের মাধ্যমে যোগাযোগ করে। এখানে ESP32 এর ক্ষেত্রেও একই রকম কিন্তু পার্থক্য হল ESP32 বিল্ট-ইন ব্লুটুথ মডিউলগুলির সাথে আসে যা প্রথমে ডেটা গ্রহণ করে এবং তারপরে Xtensa প্রসেসরে ফরওয়ার্ড করে।



সুতরাং, এই যোগাযোগ স্থাপন করতে ' ব্লুটুথ সিরিয়াল ” লাইব্রেরি ব্যবহার করা হয় যা আরডুইনো সিরিয়াল লাইব্রেরির অনুরূপ, কিন্তু এটি ESP32 এর মধ্যে। ব্লুটুথ সিরিয়াল লাইব্রেরি দ্বারা অফার করা কিছু ফাংশন নিম্নরূপ:



  • শুরু()
  • উপলব্ধ()
  • লিখুন()
  • পড়ুন()

ESP32 ব্যবহার করে ব্লুটুথ নিয়ন্ত্রিত LED

আসুন একটি সাধারণ কোড লিখি যা ব্লুটুথ ওয়্যারলেস যোগাযোগের মাধ্যমে মোবাইল ব্লুটুথ ব্যবহার করে একটি LED নিয়ন্ত্রণ করতে পারে। ব্লুটুথ সিরিয়াল যোগাযোগ ব্যবহার করে এলইডি নিয়ন্ত্রণ করার জন্য প্রয়োজনীয় হার্ডওয়্যার নিম্নরূপ:





  • ESP32
  • এলইডি
  • ব্রেডবোর্ড
  • অ্যান্ড্রয়েড ডিভাইস
  • সিরিয়াল ব্লুটুথ টার্মিনাল অ্যাপ্লিকেশন

সার্কিট

ESP32 বোর্ডের GND-এ সংযুক্ত নেগেটিভ টার্মিনালের সাথে ESP32 এর ডিজিটাল পিন 15 এ LED কানেক্ট করুন। একটি নিরাপদ বর্তমান সীমার জন্য, আমরা তাদের মধ্যে প্রতিরোধক (220 ohms) সংযোগ করতে পারি:

কোড

Arduino IDE খুলুন এবং বোর্ড ম্যানেজারে ESP32 বোর্ড নির্বাচন করুন কিভাবে Arduino IDE-এ ESP32 বোর্ড ইনস্টল করবেন তা দেখতে ক্লিক করুন এখানে . বোর্ড নির্বাচন করার পরে সম্পাদক উইন্ডোতে নীচের কোডটি লিখুন:



#include   /*ব্লুটুথ সিরিয়াল যোগাযোগ লাইব্রেরি*/

#LED_PIN 15 সংজ্ঞায়িত করুন /*লেড পিন শুরু করা হয়েছে*/

ব্লুটুথ সিরিয়াল সিরিয়ালবিটি;

বাইট BT_INP;

#if !সংজ্ঞায়িত (CONFIG_BT_ENABLED) || !সংজ্ঞায়িত(CONFIG_BLUEDROID_ENABLED)/*SDK এ ব্লুটুথ পরীক্ষা করুন*/

#ত্রুটি ব্লুটুথ বন্ধ--এটি সক্ষম করতে `মেনু কনফিগার করুন` চালান

#যদি শেষ

অকার্যকর সেটআপ ( )

{

 পিনমোড ( LED_PIN, আউটপুট ) ; /* নেতৃত্বাধীন পিন সেট হিসাবে আউটপুট */
সিরিয়াল.শুরু ( 115200 ) ; /* বড হার জন্য সিরিয়াল যোগাযোগ */
সিরিয়ালবিটি.শুরু ( ) ; /* ব্লুটুথ যোগাযোগ শুরু হয় */
Serial.println ( 'ব্লুটুথ পেয়ার করার জন্য প্রস্তুত...' ) ; /* যখন ব্লুটুথ চালু হয় */
}
অকার্যকর লুপ ( )
{
যদি ( সিরিয়ালবিটি. উপলব্ধ ( ) ) /* চেক জন্য ব্লুটুথ ডেটা উপলব্ধতা */
{
BT_INP = SerialBT.read ( ) ; /* পড়া ডিভাইস থেকে ব্লুটুথ ডেটা */
সিরিয়াল.লিখুন ( BT_INP ) ; /* প্রিন্ট করুন পড়া তথ্য */
}
যদি ( BT_INP == '1' ) /* যদি অবস্থা জন্য নেতৃত্বাধীন রাষ্ট্র */
{
ডিজিটাল লিখুন ( LED_PIN, উচ্চ ) ; /* নেতৃত্বে চালু করুন যদি 1 ইনপুট গৃহীত হয় */
}
যদি ( BT_INP == '0' )
{
ডিজিটাল লিখুন ( LED_PIN, কম ) ; /* নেতৃত্বে বন্ধ করুন যদি 0 ইনপুট গৃহীত হয় */
}

}

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

পরবর্তী LED পিন 15 আরম্ভ করা হয় এবং ব্যবহার করে পিনমোড() ফাংশন LED পিন আউটপুট হিসাবে সেট করা হয়.

কোডের লুপ অংশে প্রোগ্রামটি সিরিয়াল ব্লুটুথ ডেটা উপলব্ধতা পরীক্ষা করবে। ইনপুট ডেটা হলে 1 LED চালু হবে এবং প্রাপ্ত ডেটা 0 হলে LED বন্ধ হয়ে যাবে।

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

সিরিয়াল ব্লুটুথ টার্মিনাল ইনস্টল করা হচ্ছে

আমাদের একটি ব্লুটুথ ডিভাইস দরকার যা ESP32 এ নির্দেশনা পাঠাতে পারে তাই আমরা এটিকে ESP32 ব্লুটুথের সাথে ইন্টারফেস করতে একটি Android স্মার্টফোন ব্যবহার করব। প্রথমত, আমাদের একটি অ্যান্ড্রয়েড ফোনে একটি সিরিয়াল টার্মিনাল ইনস্টল করতে হবে। ESP32 এর সাথে অ্যান্ড্রয়েড ফোন ইন্টারফেস করতে নিচের ধাপগুলি অনুসরণ করুন:

ধাপ 1 : আপনার স্মার্টফোনে গুগল প্লে স্টোর খুলুন এবং অনুসন্ধান করুন সিরিয়াল ব্লুটুথ টার্মিনাল . নীচে প্রদর্শিত অ্যাপ্লিকেশন ইনস্টল করুন:

ধাপ ২ : ইনস্টল করার পর মোবাইল ফোনের ব্লুটুথ সেটিংস খুলুন। ESP32 ব্লুটুথের জন্য অনুসন্ধান করুন এবং ক্লিক করে আপনার স্মার্টফোনের সাথে এটি জোড়া শুরু করতে ক্লিক করুন জোড়া :

ধাপ 3 : একটি টোকা পরে জোড়া , মোবাইল ফোনটি ESP32 ব্লুটুথের সাথে জোড়া লাগানো শুরু করবে:

ধাপ 4 : এখন সিরিয়াল ব্লুটুথ টার্মিনাল অ্যাপ্লিকেশন খুলুন এবং পাশের মেনু থেকে ডিভাইসগুলিতে যান:

ধাপ 5 : একবার ডিভাইস বিকল্পটি খোলা হলে এটি কিছু অনুমতি চাইবে বা টিপুন রিফ্রেশ উপরের ডান কোণে বোতাম:

ধাপ 6 : নিচের পপআপে ক্লিক করুন সেটিংস এবং এটি যে অনুমতি চাচ্ছে তা অনুমতি দিন:

ধাপ 7 : এখন ESP32 বোর্ড ব্লুটুথের মাধ্যমে নির্দেশনা নিতে প্রস্তুত৷ ব্লুটুথ ক্লাসিক বিকল্পের অধীনে ESP32 বোর্ড নির্বাচন করুন:

ধাপ 8 : একবার ESP32 নির্বাচন করা হলে এটি সংযোগ শুরু করবে এবং সফল হলে, ক সংযুক্ত বার্তা প্রদর্শিত হবে।

ধাপ 9 : এখন আমরা এখানে টাইপ করে যেকোনো নির্দেশ পাঠাতে পারি। 1 টাইপ করুন এবং পাঠান বোতামে ক্লিক করুন, ESP32 এ LED বোর্ড চালু হবে। একইভাবে, 0 টাইপ করলে LED বন্ধ হয়ে যাবে।

একইভাবে, আমরা Arduino IDE-এর সিরিয়াল মনিটরের আউটপুট দেখতে পারি যে এটি কী পাচ্ছে:

আউটপুট:

1 পাঠানোর পরে LED চালু হয়:

LED 0 পাঠানোর পরে বন্ধ হয়ে যায়:

বিঃদ্রঃ : আমরা নির্দিষ্ট নির্দেশাবলীর জন্য বোতাম কনফিগার করতে পারি যেমন নীচের ছবিতে দেখানো হয়েছে। এটি করতে বোতামগুলিতে ক্লিক করুন এবং আপনি যে মানটি চান তা সেট করুন। এখানে আমরা দুটি বোতাম সেট করেছি একটি HIGH এর জন্য এবং অন্যটি নিম্ন অবস্থার জন্য। আপনি হেক্সাডেসিমেল মানগুলিতে এই শর্টকাটগুলিও কনফিগার করতে পারেন।

উপসংহার

ESP32 বোর্ডগুলিতে ক্লাসিক ব্লুটুথ এবং লো এনার্জি ব্লুটুথ সহ বোর্ড ওয়াইফাই এবং ডুয়াল ব্লুটুথ সমর্থন রয়েছে। ক্লাসিক উচ্চ ডেটা স্থানান্তরের জন্য ব্যবহৃত হয় যখন BLE (ব্লুটুথ লো এনার্জি) কম বিদ্যুতের প্রয়োজনীয়তা সহ স্বল্প দূরত্বের জন্য ব্যবহৃত হয়। এই নিবন্ধটি ক্লাসিক ব্লুটুথ ডেটা স্থানান্তরকে কভার করে এবং ESP32 বোর্ড ব্যবহার করে কীভাবে ব্লুটুথ যোগাযোগ করা হয় তার একটি ধারণা দেয়।