সুচিপত্র:

ESP32 এর ভূমিকা: 10 টি ধাপ
ESP32 এর ভূমিকা: 10 টি ধাপ

ভিডিও: ESP32 এর ভূমিকা: 10 টি ধাপ

ভিডিও: ESP32 এর ভূমিকা: 10 টি ধাপ
ভিডিও: ESP32 Tutorial 12 - WS2812 RGB Srip 4 Project with SunFounder's ESP32 IoT Learnig kit 2024, নভেম্বর
Anonim
Image
Image
মূল বৈশিষ্ট্য
মূল বৈশিষ্ট্য

এই নিবন্ধে আমরা ESP32 সম্পর্কে কথা বলতে যাচ্ছি, যাকে আমি ESP8266 এর বড় ভাই বলে মনে করি। আমি সত্যিই এই মাইক্রোকন্ট্রোলারটি পছন্দ করি কারণ এতে ওয়াইফাই রয়েছে। ইএসপি বিদ্যমান থাকার আগে আপনার একটি ধারণা আছে, যদি আপনার ওয়াইফাই করার জন্য আরডুইনো প্রয়োজন হয়, তাহলে আপনাকে ওয়াইফাই অ্যাডাপ্টার কিনতে $ 200 থেকে $ 300 খরচ করতে হবে। নেটওয়ার্ক তারের জন্য অ্যাডাপ্টার এত ব্যয়বহুল নয়, তবে ওয়াইফাইয়ের জন্য এটি সর্বদা ছিল এবং এখনও ব্যয়বহুল। কিন্তু সৌভাগ্যবশত, Espressif Systems ESP চালু করেছে এবং আমাদের জীবনের সমাধান করছে।

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

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

ধাপ 1: মূল বৈশিষ্ট্য

অন্তর্নির্মিত ওয়াইফাই সহ চিপ: স্ট্যান্ডার্ড 802.11 বি / জি / এন, 2.4 থেকে 2.5GHz এর পরিসরে কাজ করে

অপারেশন মোড: ক্লায়েন্ট, অ্যাক্সেস পয়েন্ট, স্টেশন + অ্যাক্সেস পয়েন্ট

ডুয়াল কোর মাইক্রোপ্রসেসর Tensilica Xtensa 32-bit LX6

নিয়মিত ঘড়ি 80MHz থেকে 240MHz পর্যন্ত

অপারেটিং ভোল্টেজ: 3.3 ভিডিসি

এতে 512KB এর SRAM আছে

বৈশিষ্ট্য 448KB রম

এর বহিরাগত ফ্ল্যাশ মেমরি 32Mb (4 মেগাবাইট)

সর্বোচ্চ পিন প্রতি পিন 12mA (এটি 6mA ব্যবহার করার পরামর্শ দেওয়া হয়)

এতে 36 জিপিআইও রয়েছে

PWM / I2C এবং SPI ফাংশন সহ GPIOs

এতে আছে ব্লুটুথ v4.2 BR / EDR এবং BLE (ব্লুটুথ লো এনার্জি)

ধাপ 2: ESP32, ESP8266 এবং Arduino R3 এর মধ্যে তুলনা

ESP32, ESP8266 এবং Arduino R3 এর মধ্যে তুলনা
ESP32, ESP8266 এবং Arduino R3 এর মধ্যে তুলনা

ধাপ 3: ESP32 এর ধরন

ESP32 এর ধরন
ESP32 এর ধরন

ESP32 অনেক ভাইবোন নিয়ে জন্মগ্রহণ করেছিল। আজ আমি বাম থেকে প্রথম ব্যবহার করছি, Espressif, কিন্তু ওলেড ডিসপ্লে বিল্ট-ইন সহ বেশ কয়েকটি ব্র্যান্ড এবং প্রকার রয়েছে। যাইহোক, পার্থক্য সব একই চিপ: Tensilica LX6, 2 কোর।

ধাপ 4: ওয়াইফাই নোড MCU-32S ESP-WROOM-32

ওয়াইফাই নোড MCU-32S ESP-WROOM-32
ওয়াইফাই নোড MCU-32S ESP-WROOM-32

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

ধাপ 5: Arduino IDE (উইন্ডোজ) কনফিগার করা

Arduino IDE (উইন্ডোজ) কনফিগার করা হচ্ছে
Arduino IDE (উইন্ডোজ) কনফিগার করা হচ্ছে
Arduino IDE (উইন্ডোজ) কনফিগার করা হচ্ছে
Arduino IDE (উইন্ডোজ) কনফিগার করা হচ্ছে

এখানে কিভাবে Arduino IDE কনফিগার করতে হয় যাতে আমরা ESP32 এর জন্য কম্পাইল করতে পারি:

1. লিঙ্কের মাধ্যমে ফাইল ডাউনলোড করুন:

2. ফাইলটি আনজিপ করুন এবং বিষয়বস্তুগুলি নিম্নলিখিত পথে অনুলিপি করুন:

C: / ব্যবহারকারী / [YOUR_USER_NAME] / নথি / Arduino / হার্ডওয়্যার / espressif / esp32

দ্রষ্টব্য: যদি "espressif" এবং "esp32" কোন ডিরেক্টরি না থাকে, তবে সেগুলি সাধারণভাবে তৈরি করুন।

3. ডিরেক্টরি খুলুন

C: / ব্যবহারকারী / [YOUR_USER_NAME] / নথি / Arduino / হার্ডওয়্যার / espressif / esp32 / সরঞ্জাম

"Get.exe" ফাইলটি চালান।

4. "get.exe" শেষ হওয়ার পরে, ESP32 প্লাগ করুন, ড্রাইভারগুলি ইনস্টল হওয়ার জন্য অপেক্ষা করুন (বা ম্যানুয়ালি ইনস্টল করুন)।

প্রস্তুত, এখন শুধু "টুলস >> বোর্ড" এ ESP32 বোর্ডটি বেছে নিন এবং আপনার কোড কম্পাইল করুন।

ধাপ 6: ওয়াইফাই স্ক্যান

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

ধাপ 7: কোড

প্রথমে লাইব্রেরি "ওয়াইফাই.এইচ" অন্তর্ভুক্ত করা যাক, আমাদের ডিভাইসের নেটওয়ার্ক কার্ডের সাথে কাজ করার অনুমতি দেওয়া প্রয়োজন।

#"WiFi.h" অন্তর্ভুক্ত করুন

এখানে দুটি ভেরিয়েবল রয়েছে যা নেটওয়ার্কের SSID (নাম) এবং সংকেত শক্তি সঞ্চয় করতে ব্যবহৃত হবে।

স্ট্রিং নেটওয়ার্ক SSID = ""; int strengthSignal = -9999;

ধাপ 8: সেটআপ

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

অকার্যকর সেটআপ () {// সিরিয়াল মনিটর লগ ইন করার জন্য সিরিয়াল শুরু করুন। Serial.begin (115200);

// ওয়াইফাই অপারেশন মোডকে স্টেশন ওয়াইফাই মোড (WIFI_STA) হিসাবে কনফিগার করা;

// অ্যাক্সেস পয়েন্ট থেকে সংযোগ বিচ্ছিন্ন করুন যদি এটি ইতিমধ্যে WiFi.disconnect () সংযুক্ত থাকে; বিলম্ব (100);

// Serial.println ("সেটআপ সম্পন্ন");}

ধাপ 9: লুপ

লুপ () ফাংশনে, আমরা উপলব্ধ নেটওয়ার্কগুলি অনুসন্ধান করব এবং তারপরে পাওয়া নেটওয়ার্কগুলিতে লগটি মুদ্রণ করব। এই প্রতিটি নেটওয়ার্কের জন্য আমরা সর্বোচ্চ সংকেত শক্তি সহ একটি খুঁজে পেতে তুলনা করব।

অকার্যকর লুপ () {// Serial.println ("স্ক্যান শুরু"); // উপলব্ধ নেটওয়ার্কগুলির স্ক্যানিং সম্পাদন করে

int n = WiFi.scanNetworks ();

Serial.println ("স্ক্যান করা হয়েছে");

// (n == 0) {Serial.println ("কোন নেটওয়ার্ক পাওয়া যায়নি") কোন নেটওয়ার্ক খুঁজে পেয়েছেন কিনা তা পরীক্ষা করুন; } অন্য {networkSSID = ""; শক্তি সিগন্যাল = -9999; সিরিয়াল.প্রিন্ট (এন); Serial.println ("নেটওয়ার্ক পাওয়া গেছে / n"); জন্য Serial.println (WiFi. SSID (i)); // নেটওয়ার্কের নাম (ssid) Serial.print ("SIGNAL:"); Serial.print (WiFi. RSSI (i)); // সংকেত শক্তি Serial.print ("\ t / tCHANNEL:"); Serial.print ((int) WiFi.channel (i)); Serial.print ("\ t / tMAC:"); Serial.print (WiFi. BSSIDstr (i)); Serial.println ("\ n / n"); যদি (abs (WiFi. RSSI (i)) <abs (strengthSignal)) {strengthSignal = WiFi. RSSI (i); networkSSID = WiFi. SSID (i); সিরিয়াল.প্রিন্ট ("সেরা সিগন্যাল ফাউন্ডের সাথে নেটওয়ার্ক: ("); Serial.print (networkSSID); Serial.print (") - সিগন্যাল: ("); Serial.print (strengthSignal); Serial.println (")")); } বিলম্ব (10); }} Serial.println ("n ----------------------------------------- --------------------------------------------------- / n ");

// একটি নতুন স্ক্যান বিলম্ব (5000) সঞ্চালনের জন্য 5 সেকেন্ডের ব্যবধান; }

"যদি (abs (WiFi. RSSI (i))"

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

ধাপ 10: ফাইল

আমার সমস্ত ফাইল এখানে ডাউনলোড করুন: www.fernandok.com

প্রস্তাবিত: