সুচিপত্র:
- সরবরাহ
- ধাপ 1: সার্কিট নির্মাণ
- ধাপ 2: SPIFFS ফাইল সিস্টেমের দ্রুত ওভারভিউ
- ধাপ 3: ম্যাক ওএসে SPIFFS বুটলোডার ইনস্টল করা
- ধাপ 4: লাইব্রেরি ইনস্টল করা
- ধাপ 5: নিম্নলিখিত বিষয়বস্তু দিয়ে একটি Index.html এবং Style.css ফাইল তৈরি করুন
- ধাপ 6: Arduino কোড
- ধাপ 7: SPIFFS লোডার ব্যবহার করে Arduino কোড এবং ফাইল আপলোড করুন
- ধাপ 8: ESP32 ওয়েব সার্ভার আইপি ঠিকানা নির্ধারণ করুন
- ধাপ 9: স্থানীয় ওয়েব সার্ভার পরীক্ষা করা
- ধাপ 10: Ngrok ব্যবহার করে বিশ্বের যেকোনো স্থান থেকে একটি স্থানীয় ওয়েব সার্ভারে অ্যাক্সেস
ভিডিও: ESP32 ভিত্তিক ওয়েব সার্ভার ব্যবহার করে ইন্টারনেট নিয়ন্ত্রিত LED: 10 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:00
প্রজেক্ট সারসংক্ষেপ
এই উদাহরণে, আমরা LED অবস্থা নিয়ন্ত্রণের জন্য কিভাবে ESP32- ভিত্তিক ওয়েব সার্ভার তৈরি করতে হয় তা বের করব, যা বিশ্বের যে কোন জায়গা থেকে অ্যাক্সেসযোগ্য। এই প্রকল্পের জন্য আপনার একটি ম্যাক কম্পিউটারের প্রয়োজন হবে, কিন্তু আপনি রাস্পবেরী পাই এর মত একটি সস্তা এবং কম ক্ষমতার কম্পিউটারেও এই সফটওয়্যারটি চালাতে পারেন।
Arduino IDE দিয়ে ESP32 এর প্রস্তুতি
Arduino IDE এবং Arduino প্রোগ্রামিং ভাষা ব্যবহার করে ESP32 প্রোগ্রাম শুরু করার জন্য, আপনার একটি বিশেষ অ্যাড-অন প্রয়োজন হবে। নীচের লিঙ্কটি দ্বারা ম্যাক ওএসে ESP32 এর জন্য Arduino IDE কিভাবে প্রস্তুত করবেন সে সম্পর্কে পড়ুন।
সরবরাহ
এই টিউটোরিয়ালের জন্য আপনার নিম্নলিখিত আইটেমগুলির প্রয়োজন হবে:
- ESP32 উন্নয়ন বোর্ড 5mm
- LEDResistor 220ohm
- I2C মডিউল সহ 16x2 LCD ডিসপ্লে
- ব্রেডবোর্ড
- জাম্পার তার
- মাইক্রো ইউএসবি কেবল
ধাপ 1: সার্কিট নির্মাণ
নিচের নিচের স্কিম্যাটিক ডায়াগ্রামে দেখানো সংযোগগুলি সম্পাদন করুন।
ESP32 এবং GNDto ব্রেডবোর্ডে 3V3 সাপ্লাই ভোল্টেজ আউটপুট সংযোগ করে শুরু করুন। ডিজিটাল আউটপুট পিন হিসেবে GPIO পিন 23 ব্যবহার করে ESP32 এর সাথে রোধের মাধ্যমে LED সংযোগ করুন। এর পরে, 16x2 এলসিডি ডিসপ্লের এসডিএ পিনকে জিপিআইও পিন 21 এবং এসসিএল জিপিআইও পিন 22 এর সাথে সংযুক্ত করুন।
ধাপ 2: SPIFFS ফাইল সিস্টেমের দ্রুত ওভারভিউ
SPIFFS মানে "সিরিয়াল পেরিফেরাল ইন্টারফেস ফ্ল্যাশ ফাইল সিস্টেম", অর্থাৎ ফ্ল্যাশ মেমরির জন্য ফাইল সিস্টেম যা SPI এর মাধ্যমে ডেটা স্থানান্তর করে। তদনুসারে, এসপিআইএফএফএস হল একটি সরলীকৃত ফাইল সিস্টেম যা মাইক্রোকন্ট্রোলারদের জন্য ফ্ল্যাশ চিপ দিয়ে তৈরি করা হয়েছে যা এসপিআই বাসের মাধ্যমে ডেটা প্রেরণ করে (যেমন ইএসপি 32 ফ্ল্যাশ মেমরি)।
SPIFFS নিম্নলিখিত পরিস্থিতিতে ESP32 এর সাথে ব্যবহারের জন্য সবচেয়ে উপযোগী:
- সেটিংস সংরক্ষণের জন্য ফাইল তৈরি করা
- স্থায়ী ডেটা স্টোরেজ।
- অল্প পরিমাণ ডেটা সংরক্ষণের জন্য ফাইল তৈরি করা (এর জন্য মাইক্রোএসডি কার্ড ব্যবহারের পরিবর্তে)।
- ওয়েব সার্ভার তৈরির জন্য HTML এবং CSS ফাইল সংরক্ষণ করা।
ধাপ 3: ম্যাক ওএসে SPIFFS বুটলোডার ইনস্টল করা
আপনি Arduino IDE- এ প্লাগইন ব্যবহার করে ESP32 ফাইল সিস্টেমে সংরক্ষিত ফাইলগুলিতে ডেটা তৈরি, সংরক্ষণ এবং লিখতে পারেন।
প্রথমত, নিশ্চিত করুন যে আপনার কাছে Arduino IDE এর সর্বশেষ সংস্করণ ইনস্টল আছে, এবং তারপর নিম্নলিখিতগুলি করুন:
- নিম্নলিখিত লিঙ্কটি খুলুন এবং "ESP32FS-1.0.zip" সংরক্ষণাগারটি ডাউনলোড করুন
- Arduino IDE ডিরেক্টরিতে যান, যা ডকুমেন্টস ফোল্ডারে অবস্থিত।
- একটি সরঞ্জাম ফোল্ডার তৈরি করুন, যদি এটি বিদ্যমান না থাকে। টুলস ডিরেক্টরির ভিতরে আরেকটি ফোল্ডার ESP32FS তৈরি করুন। ESP32FS এর ভিতরে আরেকটি তৈরি করুন, যাকে বলা হয় টুল।
- ধাপ 1 এ ডাউনলোড করা জিপ আর্কাইভটি টুল ফোল্ডারে আনজিপ করুন।
- আপনার Arduino IDE পুনরায় চালু করুন।
- প্লাগ-ইন সফলভাবে ইনস্টল করা হয়েছে কিনা তা পরীক্ষা করার জন্য, Arduino IDE খুলুন এবং "সরঞ্জাম" এ ক্লিক করুন এবং এই মেনুতে "ESP32 স্কেচ ডেটা আপলোড" আইটেম আছে কিনা তা পরীক্ষা করুন।
ধাপ 4: লাইব্রেরি ইনস্টল করা
ESPAsyncWebServer এবং AsyncTCP লাইব্রেরি আপনাকে ESP32 এর ফাইল সিস্টেম থেকে ফাইল ব্যবহার করে একটি ওয়েব সার্ভার তৈরি করতে দেয়। এই লাইব্রেরি সম্পর্কে আরও তথ্যের জন্য, নিম্নলিখিত লিঙ্কটি দেখুন।
ESPAsyncWebServer লাইব্রেরি ইনস্টল করুন
- লাইব্রেরির জিপ আর্কাইভ ডাউনলোড করতে এখানে ক্লিক করুন।
- এই আর্কাইভটি আনজিপ করুন। আপনার ESPAsyncWebServer-master ফোল্ডারটি পাওয়া উচিত।
- এটির নাম পরিবর্তন করে "ESPAsyncWebServer" করুন।
AsyncTCP লাইব্রেরি ইনস্টল করুন
- লাইব্রেরির জিপ আর্কাইভ ডাউনলোড করতে এখানে ক্লিক করুন।
- এই আর্কাইভটি আনজিপ করুন। আপনার AsyncTCP- মাস্টার ফোল্ডারটি পাওয়া উচিত।
- এর নাম পরিবর্তন করে “AsyncTCP” করুন।
ESPAsyncWebServer এবং AsyncTCP ফোল্ডারগুলিকে লাইব্রেরি ফোল্ডারে সরান, যা ডকুমেন্টস ডিরেক্টরিতে অবস্থিত।
অবশেষে, Arduino IDE পুনরায় চালু করুন।
ধাপ 5: নিম্নলিখিত বিষয়বস্তু দিয়ে একটি Index.html এবং Style.css ফাইল তৈরি করুন
টগল বোতামের জন্য HTML/CSS টেমপ্লেট নিম্নলিখিত উৎস থেকে নেওয়া হয়েছে।
ধাপ 6: Arduino কোড
মূলত, কোডটি Arduino কোডের উপর ভিত্তি করে তৈরি করা হয়েছিল যা SPSPFS ব্যবহার করে ESP32 ওয়েব সার্ভার থেকে নেওয়া হয়েছিল এবং Arduino IDE তে ESP32 দিয়ে I2C LCD কিভাবে ব্যবহার করবেন।
ধাপ 7: SPIFFS লোডার ব্যবহার করে Arduino কোড এবং ফাইল আপলোড করুন
- Arduino কোডের স্কেচ ফোল্ডারটি খুলুন।
- এই ফোল্ডারের ভিতরে, "ডেটা" নামে একটি নতুন ফোল্ডার তৈরি করুন।
- ডাটা ফোল্ডারের ভিতরে, আপনাকে index.html এবং style.css লাগাতে হবে।
- Arduino কোড আপলোড করুন
- তারপর, ফাইলগুলি আপলোড করার জন্য, সরঞ্জাম> ESP32 স্কেচ ডেটা আপলোডে Arduino IDE- এ ক্লিক করুন
ধাপ 8: ESP32 ওয়েব সার্ভার আইপি ঠিকানা নির্ধারণ করুন
এটি দুটি উপায়ে পাওয়া যাবে।
- Arduino IDE তে সিরিয়াল মনিটর (সরঞ্জাম> সিরিয়াল মনিটর)
- এলসিডি ডিসপ্লেতে
ধাপ 9: স্থানীয় ওয়েব সার্ভার পরীক্ষা করা
এরপরে, আপনার পছন্দের একটি ওয়েব ব্রাউজার খুলুন এবং ঠিকানা বারে নিম্নলিখিত আইপি ঠিকানাটি আটকান। আপনি নীচের স্ক্রিনশট অনুরূপ একটি আউটপুট পেতে হবে।
ধাপ 10: Ngrok ব্যবহার করে বিশ্বের যেকোনো স্থান থেকে একটি স্থানীয় ওয়েব সার্ভারে অ্যাক্সেস
এনগ্রোক একটি প্ল্যাটফর্ম যা আপনাকে একটি ওয়েব সার্ভারে রিমোট অ্যাক্সেস বা বাইরের ইন্টারনেট থেকে আপনার পিসিতে চলমান অন্য কোনও পরিষেবা সংগঠিত করতে দেয়। এনগ্রোকের শুরুতে তৈরি সুরক্ষিত টানেলের মাধ্যমে অ্যাক্সেস সংগঠিত করা হয়।
- এই লিঙ্কটি অনুসরণ করুন এবং সাইন আপ করুন।
- একটি অ্যাকাউন্ট তৈরি করার পরে, লগ ইন করুন এবং "অথ" ট্যাবে যান। "আপনার টানেল Authtoken" ক্ষেত্র থেকে লাইনটি অনুলিপি করুন।
- নেভিগেশন বারে "ডাউনলোড" ট্যাবে ক্লিক করুন আপনার OS এর সাথে মেলে এমন ngrok সংস্করণটি নির্বাচন করুন এবং ডাউনলোড করুন।
- ডাউনলোড করা ফোল্ডারটি আনজিপ করুন এবং কমান্ড লাইন চালান।
- নিম্নলিখিত কমান্ডটি প্রবেশ করে আপনার অ্যাকাউন্ট সংযুক্ত করুন
./ngrok authtoken
পোর্ট 80 এ একটি HTTP টানেল শুরু করুন
./ngrok http Your_IP_Address: 80
যদি সবকিছু সঠিকভাবে করা হয়, তাহলে টানেলের অবস্থা "অনলাইন" এ পরিবর্তিত হওয়া উচিত এবং "ফরওয়ার্ডিং" কলামে একটি পুনirectনির্দেশ লিঙ্ক উপস্থিত হওয়া উচিত।
প্রস্তাবিত:
ESP 8266 Nodemcu Ws 2812 Neopixel ভিত্তিক LED MOOD ল্যাম্প স্থানীয় ওয়েব সার্ভার দ্বারা নিয়ন্ত্রিত: 6 টি ধাপ
ESP 8266 Nodemcu Ws 2812 Neopixel ভিত্তিক LED MOOD ল্যাম্প স্থানীয় ওয়েব সার্ভার দ্বারা নিয়ন্ত্রিত: ESP 8266 Nodemcu Ws 2812 Neopixel ভিত্তিক LED MOOD ল্যাম্প ওয়েব সার্ভার ব্যবহার করে নিয়ন্ত্রিত
ESP 8266 Nodemcu Ws 2812 Neopixel ভিত্তিক LED MOOD ল্যাম্প ওয়েব সার্ভার ব্যবহার করে নিয়ন্ত্রিত: 6 টি ধাপ
ESP 8266 Nodemcu Ws 2812 Neopixel ভিত্তিক LED MOOD ল্যাম্প নিয়ন্ত্রিত ওয়েবসাইট সার্ভার ব্যবহার করে: এই প্রজেক্টে আমরা nodemcu থেকে একটি মুড ল্যাম্প তৈরি করব & neopixel এবং যা স্থানীয় ওয়েব সার্ভার ব্যবহার করে যে কোন ব্রাউজার দ্বারা নিয়ন্ত্রিত হতে পারে
Esp32 পাইথন এবং জেরিন্থ আইডিই ব্যবহার করে তাপমাত্রা এবং আর্দ্রতা ওয়েব সার্ভার: 3 টি ধাপ
পাইপথন এবং জেরিন্থ আইডিই ব্যবহার করে Esp32 তাপমাত্রা এবং আর্দ্রতা ওয়েব সার্ভার: Esp32 একটি দুর্দান্ত মাইক্রো-কন্ট্রোলার, এটি একটি Arduino এর মতো শক্তিশালী কিন্তু আরও ভাল! এতে ওয়াইফাই সংযোগ রয়েছে, যা আপনাকে IOT প্রকল্পগুলি সস্তায় এবং সহজে বিকাশ করতে সক্ষম করে। ডিভাইসগুলি হতাশাজনক, প্রথমে এটি স্থিতিশীল নয়, সেকন
ESP8266 ওয়েব সার্ভার ব্যবহার করে 7-সেগমেন্ট LED ডিসপ্লে নিয়ন্ত্রণ করা: 8 টি ধাপ (ছবি সহ)
ESP8266 ওয়েব সার্ভার ব্যবহার করে 7-সেগমেন্ট LED ডিসপ্লে নিয়ন্ত্রণ করা: আমার প্রজেক্টে একটি Nodemcu ESP8266 আছে যা html ফর্ম ব্যবহার করে http সার্ভারের মাধ্যমে 7-সেগমেন্ট ডিসপ্লে নিয়ন্ত্রণ করছে
ওয়েব-ভিত্তিক কন্ট্রোল প্যানেলের সাথে ওয়েব-সংযুক্ত স্মার্ট LED অ্যানিমেশন ঘড়ি, টাইম সার্ভার সিঙ্ক্রোনাইজড: ১১ টি ধাপ (ছবি সহ)
ওয়েব-ভিত্তিক কন্ট্রোল প্যানেলের সাথে ওয়েব-সংযুক্ত স্মার্ট LED অ্যানিমেশন ঘড়ি, টাইম সার্ভার সিঙ্ক্রোনাইজড: এই ঘড়ির গল্প অনেক পিছিয়ে যায়-30 বছরেরও বেশি সময় ধরে। আমার বাবা এই ধারণার প্রবর্তন করেছিলেন যখন আমি মাত্র 10 বছর বয়সে ছিলাম, LED বিপ্লবের অনেক আগে - যখন LED ছিল তখন তাদের বর্তমান অন্ধকারের উজ্জ্বলতার 1/1000 উজ্জ্বলতা। একটি সত্য