সুচিপত্র:
- সরবরাহ
- ধাপ 1: এটি কাজ করুন
- ধাপ 2: কোড কিভাবে কাজ করে
- ধাপ 3: NODEMCU কে সার্ভার হিসাবে সেট করুন
- ধাপ 4: HTML ফাইল লোড করুন
- ধাপ 5: এটি চেষ্টা করুন
ভিডিও: কিভাবে ESP8266 ওয়েবসাইট সার্ভার হিসাবে ব্যবহার করবেন: 5 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 07:57
হাই, আমি বর্তমানে উইন্ডোজ 10, নোডএমসিইউ 1.0 ব্যবহার করছি এবং এখানে আমি যে সফ্টওয়্যার ব্যবহার করেছি এবং ইনস্টলেশন গাইড আমি অনুসরণ করেছি তার তালিকা:
- Arduino IDE
- Esp8266 এর জন্য অতিরিক্ত বোর্ড
- স্পিফ
ব্যবহৃত লাইব্রেরি:
ওয়েবসকেট
আমি থিস্টুটোরিয়াল থেকে তৈরি একটি HTML ফাইল পরিবেশন করার জন্য আমি একটি সার্ভার হিসাবে NodeMCU ব্যবহার করেছি। এই ফাইলটি পরিবেশন করার জন্য, আমি স্পিডগুলি ব্যবহার করে ফাইলটি নোডেমকু ফাইল সিস্টেমে আপলোড করেছি। এইচটিএমএল ফাইল নোডেমকুতে ডেটা পাঠায় ওয়েবসকেট ব্যবহার করে এর জন্য সিরিয়াল মনিটরে মুদ্রণ করা হয়। সার্ভার এবং ক্লায়েন্টের ওয়েবসকেটের মাধ্যমে দ্রুত দ্বিমুখী যোগাযোগ এটিকে রিমোট কন্ট্রোল হিসাবে ব্যবহার করতে সক্ষম করেছে। নিম্নলিখিত ধাপগুলিতে, আমার কোড কীভাবে কাজ করে তা ব্যাখ্যা করা হচ্ছে
সরবরাহ
NodeMCU
ধাপ 1: এটি কাজ করুন
এটি কীভাবে কাজ করে তার পদক্ষেপগুলি এখানে
- সংযুক্ত ফাইলটি ডাউনলোড করুন এবং mousebot.ino ফাইলটি খুলুন
- স্কেচ> শো স্কেচ ফোল্ডারে যান এবং ডেটা নামে একটি নতুন ফোল্ডার তৈরি করুন
- এই টিউটোরিয়াল থেকে html ফাইলটি নামের ফোল্ডারে সেভ করুন। আমি আমার নাম দিয়েছিলাম "জয়স্টিক"
- "Esp8266 স্কেচ ডেটা আপলোড" দেখে টুলস এ গিয়ে আপনার স্পিফ ইতিমধ্যেই কাজ করছে তা নিশ্চিত করুন
- "Esp8266 স্কেচ ডেটা আপলোড" ক্লিক করে HTML ফাইলটি নোডেমকুতে আপলোড করুন
- ফাইল আপলোড করার পরে, nodemcu এ মাউসবট.ইনো ফাইলটি আপলোড করুন আরডুইনো আইডিই -তে এবং ctrl U টিপে
ধাপ 2: কোড কিভাবে কাজ করে
প্রথমত, আমরা লাইব্রেরিগুলি অন্তর্ভুক্ত করি যা এই কোডটি ব্যবহার করবে
// ESP8266 কে WIFI এর সাথে সংযুক্ত করতে সক্ষম করুন
#অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত // ইএসপি 8266 কে একটি সার্ভার হিসাবে কাজ করতে সক্ষম করে #অন্তর্ভুক্ত // সার্ভার এবং ক্লায়েন্টের সাথে যোগাযোগ সক্ষম করে (আপনার সংযুক্ত ডিভাইস) #অন্তর্ভুক্ত #অন্তর্ভুক্ত // নডেমকুতে আপলোড করা ফাইল খুলতে #অন্তর্ভুক্ত করুন
Esp8266 পোর্ট 80 -এ খোলা একটি ওয়েব সার্ভার হিসাবে সেট করুন। একটি সার্ভার পোর্ট হিসাবে, এটি ক্লায়েন্টকে HTML ফাইল পাঠাবে (এর সাথে সংযুক্ত ডেভিস)।
ক্লায়েন্টের বার্তা শোনার জন্য পোর্ট 81 ব্যবহার করে একটি ওয়েবসকেট সংযোগ যুক্ত করে
ওয়েবসকেটের সংখ্যা, WStype_t, পেলোড এবং আকার প্যারামিটার রয়েছে। সংখ্যা ক্লায়েন্ট সংখ্যা নির্ধারণ করে, পেলোড হল বার্তাটি পাঠানো, আকার বার্তার দৈর্ঘ্য এবং WStype_t বিভিন্ন ইভেন্টের জন্য যেমন
- WStype_DISCONNECTED - একটি ক্লায়েন্টের সংযোগ বিচ্ছিন্ন করার ক্ষেত্রে।
- WStype_CONNECTED: - যখন একজন ক্লায়েন্ট সংযোগ করে
- WStype_TEXT - ক্লায়েন্ট থেকে প্রাপ্ত তথ্য
ইভেন্ট টাইপের উপর নির্ভর করে বিভিন্ন কাজ করা হয় এবং এখানে মন্তব্য করা হয়
void webSocketEvent (uint8_t num, WStype_t type, uint8_t * payload, size_t length) {
সুইচ (টাইপ) {কেস WStype_DISCONNECTED: Serial.printf ("[%u] সংযোগ বিচ্ছিন্ন! / n", সংখ্যা); // সিরিয়াল মনিটর বিরতিতে ডেটা প্রিন্ট করে; কেস WStype_CONNECTED: {IPAddress ip = webSocket.remoteIP (num); // ক্লায়েন্টের IP পায় Serial.printf ("[%u]%d।%d।%d।%d url:%s / n", num, ip [0], ip [1], ip [2], ip [3], পেলোড); webSocket.sendTXT (সংখ্যা, "সংযুক্ত"); // ব্রাউজার কনসোল} বিরতিতে "সংযুক্ত" পাঠায়; কেস WStype_TEXT: Serial.printf ("[%u] ডেটা: %s / n", সংখ্যা, প্লেলোড); // ক্লায়েন্ট নম্বরটি %u তে প্রিন্ট করে এবং %s / n বিরতিতে স্ট্রিং হিসাবে প্রাপ্ত ডেটা;}}
ধাপ 3: NODEMCU কে সার্ভার হিসাবে সেট করুন
ssid এবং পাসওয়ার্ড সেট করে যা আপনি পরে এটির সাথে সংযোগ করতে ব্যবহার করবেন
const char *ssid = "চেষ্টা করুন";
const char *password = "12345678";
সেট আপ করার সময়, আমরা আমাদের নডেমকু এবং পিসি যে হারে যোগাযোগ করব তা নির্দিষ্ট করি, যা 115200।
অকার্যকর সেটআপ (অকার্যকর) {
Serial.begin (115200); সিরিয়াল.প্রিন্ট ("\ n");
সত্য সেট করুন সিরিলা টার্মিনালে ওয়াইফাই ডায়াগনস্টিক আউটপুট দেখুন
Serial.setDebugOutput (সত্য);
ফাইল সিস্টেম initaliaze
SPIFFS. শুরু ();
Ssid এবং পাসওয়ার্ড ডিফেন্ডের সাথে একটি অ্যাক্সেসপয়েন্ট হিসাবে nodemcu সেট আপ করুন এবং nodemcu এর আইপি প্রিন্ট করুন যা আপনি আগে সংযোগ করবেন। ডিফল্টরূপে এটি 192.168.4.1
সিরিয়াল.প্রিন্ট ("অ্যাক্সেস পয়েন্ট কনফিগার করা …");
WiFi.mode (WIFI_AP); WiFi.softAP (ssid, password); IPAddress myIP = WiFi.softAPIP (); Serial.print ("AP IP address:"); Serial.println (myIP);
নোডেমকুতে ওয়েবসকেট শুরু করুন, whcih পুর সার্ভার
webSocket.begin ();
যখন একটি ওয়েবসকেট ইভেন্ট হয় তখন webSocketEvent ফাংশনকে কল করে।
webSocket.onEvent (webSocketEvent);
ডিবাগ করার জন্য, একটি নতুন লাইনে "ওয়েবসকেট সার্ভার শুরু" মুদ্রণ করুন। এটি নডেমকু প্রক্রিয়াকরণ করা কোডের লাইন নির্ধারণ করতে হয়
Serial.println ("ওয়েবসকেট সার্ভার শুরু হয়েছে।");
যখন একজন ক্লায়েন্ট 192.168.4.1 পরিদর্শন করেন, তখন এটি ফাংশন হ্যান্ডেলফিলরেডকে কল করবে এবং এর সাথে প্যারামিটার সার্ভার ইউআরআই পাঠাবে যা এই ক্ষেত্রে আমাদের নোডেমকু তথ্য। ফাংশন হ্যান্ডেলফিলরেড নোডেমকু ফাইল সিস্টেম থেকে এইচটিএমএল ফাইল পরিবেশন করবে
server.onNotFound ( () {
if (! handleFileRead (server.uri ()))
যদি এটি পাওয়া না যায় তবে এটি "FileNotFound" দেখাবে
server.send (404, "টেক্সট/প্লেইন", "FileNotFound");
});
সার্ভার শুরু হয় এবং HTTP সার্ভার প্রিন্ট শুরু হয়।
server.begin (); Serial.println ("HTTP সার্ভার শুরু হয়েছে");
আমাদের অকার্যকর লুপে, আমরা সার্ভারকে ক্লায়েন্ট এবং এর ওয়েবসকেটগুলির যোগাযোগকে সামঞ্জস্যপূর্ণভাবে পরিচালনা করতে সক্ষম করি:
অকার্যকর লুপ (অকার্যকর) {
server.handleClient (); webSocket.loop ();}
ধাপ 4: HTML ফাইল লোড করুন
আমরা খুলতে হ্যান্ডেলফিল রিড নামে একটি ফাংশন ব্যবহার করব এবং নডেমকু ফাইল সিস্টেম থেকে এইচটিএমএল ফাইল। এটি লোড হয়েছে কি না তা নির্ধারণ করার জন্য একটি বুলিয়ান মান ফেরত দেবে।
যখন ক্লায়েন্টের দ্বারা "192.168.4.1/" খোলা হয় তখন আমরা ফাইল পাথ সেট করি "/Joystick.html, ডেটা ফোল্ডারে আমাদের ফাইলের নাম
bool handleFileRead (স্ট্রিং পাথ) {
Serial.println ("handleFileRead:" + path); যদি (path.endsWith ("/")) path += "Joystick.html"; যদি (SPIFFS.exists (path)) {File file = SPIFFS.open (path, "r"); size_t পাঠানো = server.streamFile (ফাইল, "টেক্সট/এইচটিএমএল"); file.close (); সত্য ফিরে; } মিথ্যা প্রত্যাবর্তন; }
ফাইল পাথ "/Joystick.html" আছে কিনা তা পরীক্ষা করুন
যদি (SPIFFS.exists (path)) {
যদি এটি বিদ্যমান থাকে, তাহলে এটি পড়ার উদ্দেশ্যে একটি পথ খুলুন যা "r" দ্বারা নির্দিষ্ট করা হয়েছে। আরো উদ্দেশ্যে এখানে যান।
ফাইল ফাইল = SPIFFS.open (পাথ, "r");
"টেক্সট/এইচটিএমএল" বিষয়বস্তুর মতো ফাইলটি সার্ভারে পাঠায়
size_t পাঠানো = server.streamFile (ফাইল, "টেক্সট/এইচটিএমএল");
ফাইল বন্ধ করুন
file.close ();
ফাংশন handleFileRead সত্য ফিরে আসে
সত্য ফিরে;}
যদি ফাইলের পথ বিদ্যমান না থাকে, ফাংশন হ্যান্ডেলফিলরেড মিথ্যা প্রদান করে
সত্য ফিরে; }
ধাপ 5: এটি চেষ্টা করুন
NodeMCU- এর সাথে সংযোগ করুন এবং "192.168.4.1" -এ যান এবং চেষ্টা করুন!:)
প্রস্তাবিত:
কিভাবে IST হিসাবে Arduino-Mega ব্যবহার করে ATTiny85 বার্ন করবেন: 5 টি ধাপ
কিভাবে আইএসপি হিসাবে Arduino -Mega ব্যবহার করে ATTiny85 বার্ন করবেন: অবদানকারী - সায়ান ওয়াদাদার, চিরঞ্জিব কুণ্ডু ARTINO MEGA2560 কে ISP হিসাবে ব্যবহার করে ATTiny85 এর প্রোগ্রামিং। কয়েক মাস আগে, আমি আমার অ্যাটুইনি 85 আইসি ব্যবহার করে আমার আরডুইনো প্রকল্পটি সঙ্কুচিত করার চেষ্টা করছিলাম। এই প্রথম আমি 20u ATTiny 85 ব্যবহার করে প্রোগ্রাম করার চেষ্টা করছিলাম
কিভাবে ম্যাক টার্মিনাল ব্যবহার করবেন, এবং কিভাবে মূল ফাংশন ব্যবহার করবেন: 4 টি ধাপ
কিভাবে ম্যাক টার্মিনাল ব্যবহার করবেন, এবং কী ফাংশন কিভাবে ব্যবহার করবেন: আমরা আপনাকে দেখাব কিভাবে ম্যাক টার্মিনাল খুলতে হয়। আমরা আপনাকে টার্মিনালের মধ্যে কিছু বৈশিষ্ট্যও দেখাব, যেমন ifconfig, ডিরেক্টরি পরিবর্তন করা, ফাইলগুলি অ্যাক্সেস করা এবং arp। Ifconfig আপনাকে আপনার IP ঠিকানা এবং আপনার MAC বিজ্ঞাপন পরীক্ষা করার অনুমতি দেবে
ওয়েবসাইট থেকে ESP8266 NodemCU Lua WiFi ব্যবহার করে LED কিভাবে নিয়ন্ত্রণ করবেন: 7 টি ধাপ
ওয়েবসাইট থেকে ESP8266 NodemCU Lua WiFi ব্যবহার করে LED কিভাবে নিয়ন্ত্রণ করবেন: এই টিউটোরিয়ালটি আপনাকে ESP8266 NodemCU Lua WiFi ব্যবহার করে ওয়েব থেকে এলইডি নিয়ন্ত্রণ করার কিছু প্রাথমিক বিষয় শেখাতে যাচ্ছে। NodeMCU Lua WiFi LED Breadboard Jumper (প্রয়োজন হলে)
একটি সেন্সর হিসাবে মোমবাতি ব্যবহার করে একটি কম্পিউটার মাউস হিসাবে Wiimote কিভাবে ব্যবহার করবেন !!: 3 টি ধাপ
কিভাবে একটি কম্পিউটার মাউস হিসাবে Wiimote ব্যবহার করবেন একটি সেন্সর হিসাবে মোমবাতি ব্যবহার করে !!: এই নির্দেশিকাটি আপনাকে দেখাবে কিভাবে আপনার Wii রিমোট (Wiimote) কে আপনার পিসির সাথে সংযুক্ত করবেন এবং এটি একটি মাউস হিসাবে ব্যবহার করবেন
কীভাবে একটি হোম ওয়েবসাইট/সার্ভার শুরু করবেন: 5 টি ধাপ
কীভাবে একটি হোম ওয়েবসাইট/সার্ভার শুরু করবেন: আমি সপ্তাহান্তে এটি করেছি কারণ আমি বিরক্ত হয়েছি তাই উপভোগ করুন