![স্ট্যাটিক এবং DHCP আইপি সেটিংস কনফিগার করার জন্য ESP32 ক্যাপটিভ পোর্টাল: 8 টি ধাপ স্ট্যাটিক এবং DHCP আইপি সেটিংস কনফিগার করার জন্য ESP32 ক্যাপটিভ পোর্টাল: 8 টি ধাপ](https://i.howwhatproduce.com/images/003/image-8021-13-j.webp)
সুচিপত্র:
2025 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2025-01-23 14:36
![স্ট্যাটিক এবং DHCP আইপি সেটিংস কনফিগার করার জন্য ESP32 ক্যাপটিভ পোর্টাল স্ট্যাটিক এবং DHCP আইপি সেটিংস কনফিগার করার জন্য ESP32 ক্যাপটিভ পোর্টাল](https://i.howwhatproduce.com/images/003/image-8021-14-j.webp)
ইএসপি 32 হল এমন একটি ডিভাইস যা ইন্টিগ্রেটেড ওয়াইফাই এবং বিএলই। এটি আইওটি প্রকল্পগুলির জন্য এক ধরনের বর। শুধু আপনার এসএসআইডি, পাসওয়ার্ড এবং আইপি কনফিগারেশন দিন এবং ক্লাউডে জিনিসগুলিকে সংহত করুন। কিন্তু, আইপি সেটিংস এবং ব্যবহারকারীর শংসাপত্রগুলি পরিচালনা করা ব্যবহারকারীর জন্য মাথাব্যথা হতে পারে।
ব্যবহারকারী যদি ওয়াইফাই শংসাপত্র পরিবর্তন করতে চান?
যদি ব্যবহারকারী DHCP/স্ট্যাটিক আইপি সেটিংস পরিবর্তন করতে চায়?
ESP32 প্রতিবার ফ্ল্যাশ করা নির্ভরযোগ্য নয় এবং এমনকি এই সমস্যার সমাধানও নয়। এখানে এই নির্দেশে আমরা প্রদর্শন করতে যাচ্ছি।
- কীভাবে একটি ক্যাপটিভ পোর্টাল তৈরি করবেন।
- ESP32 থেকে একটি ওয়েব ফর্ম হোস্ট করা।
- SPIFFS ESP32 থেকে পড়া এবং লেখা।
- একটি নরম অ্যাক্সেস পয়েন্ট তৈরি করা এবং একটি স্টেশনের সাথে সংযোগ স্থাপন করা
ধাপ 1: হার্ডওয়্যার এবং সফ্টওয়্যার স্পেসিফিকেশন
হার্ডওয়্যার স্পেসিফিকেশন
- ESP32 ওয়াইফাই/BLE
- বেতার তাপমাত্রা এবং আর্দ্রতা সেন্সর
সফটওয়্যার স্পেসিফিকেশন
Arduino IDE
ধাপ 2: একটি ক্যাপটিভ পোর্টাল তৈরি করা
![একটি ক্যাপটিভ পোর্টাল তৈরি করা একটি ক্যাপটিভ পোর্টাল তৈরি করা](https://i.howwhatproduce.com/images/003/image-8021-15-j.webp)
![একটি ক্যাপটিভ পোর্টাল তৈরি করা একটি ক্যাপটিভ পোর্টাল তৈরি করা](https://i.howwhatproduce.com/images/003/image-8021-16-j.webp)
![একটি ক্যাপটিভ পোর্টাল তৈরি করা একটি ক্যাপটিভ পোর্টাল তৈরি করা](https://i.howwhatproduce.com/images/003/image-8021-17-j.webp)
একটি ক্যাপটিভ পোর্টাল হল একটি ওয়েব পেজ যা নতুন সংযুক্ত ব্যবহারকারীদের কাছে নেটওয়ার্ক রিসোর্সে বিস্তৃত অ্যাক্সেস দেওয়ার আগে প্রদর্শিত হয়। এখানে আমরা DHCP এবং স্ট্যাটিক আইপি সেটিংসের মধ্যে নির্বাচন করার জন্য তিনটি ওয়েব পেজ পরিবেশন করছি। আমরা ইএসপি -তে আইপি ঠিকানা দুটি উপায়ে সংজ্ঞায়িত করতে পারি।
- ডিএইচসিপি আইপি অ্যাড্রেস- এটি গতিশীলভাবে আইপি অ্যাড্রেস ডিভাইসে বরাদ্দ করার একটি উপায়। ইএসপির ডিফল্ট আইপি ঠিকানা হল 192.168.4.1
- স্ট্যাটিক আইপি ঠিকানা- আমাদের নেটওয়ার্ক ডিভাইসে একটি স্থায়ী আইপি ঠিকানা বরাদ্দ করা। ডিভাইসে স্ট্যাটিক আইপি প্রদানের জন্য আমাদের আইপি অ্যাড্রেস, গেটওয়ে অ্যাড্রেস এবং সাবনেট মাস্ক নির্ধারণ করতে হবে।
প্রথম ওয়েবপেজে, ব্যবহারকারীকে DHCP এবং স্ট্যাটিক আইপি সেটিংসের মধ্যে নির্বাচন করার জন্য রেডিও বোতাম দেওয়া হয়। পরবর্তী ওয়েবপেজে, আমাদের আরও এগিয়ে যেতে আইপি সম্পর্কিত তথ্য প্রদান করতে হবে।
HTML কোড
ওয়েব পেজের HTML কোড এই Github সংগ্রহস্থলে পাওয়া যাবে।
এইচটিএমএল ওয়েব পেজ তৈরিতে আপনি যে কোন আইডিই বা টেক্সট এডিটর যেমন সাবলাইম বা নোটপ্যাড ++ ব্যবহার করতে পারেন।
- প্রথমে একটি এইচটিএমএল ওয়েবপেজ তৈরি করুন যার মধ্যে দুটি রেডিও বোতাম রয়েছে যা DHCP এবং স্ট্যাটিক আইপি সেটিংসের মধ্যে বেছে নিতে পারে।
- এখন আপনার প্রতিক্রিয়া জমা দিতে বোতাম তৈরি করুন
- রেডিও বোতামে কিছু নাম দিন। ESP ওয়েব সার্ভার ক্লাস এই নামগুলিকে আর্গুমেন্ট হিসেবে গ্রহণ করবে এবং এই আর্গুমেন্টগুলি ব্যবহার করে রেডিও বোতামের প্রতিক্রিয়া পাবে
- এখন ডিভাইসে প্রতিক্রিয়া পাঠানোর জন্য একটি 'SUBMIT' বাটন োকান।
- অন্যান্য ওয়েব পেজে আমাদের টেক্সট বক্স আছে। টেক্সট বক্সে নামের মান এবং ইনপুট টাইপ দিন এবং 'SUBMIT' এ একটি সাবমিট বোতাম যোগ করুন।
- পাঠ্য ক্ষেত্রের সামগ্রী পুনরায় সেট করতে একটি 'রিসেট' বোতাম তৈরি করুন।
// রেডিও বোতাম DHCP সেটিং
স্ট্যাটিক আইপি সেটিং
// ইনপুট টেক্সট বক্স
//জমা বাটন
ইনপুট [টাইপ = "জমা দিন"] {ব্যাকগ্রাউন্ড-রঙ: #3498DB; / * সবুজ */ সীমানা: কোনটিই নয়; সাদা রং; প্যাডিং: 15px 48px; পাঠ্য-সারিবদ্ধকরণ: কেন্দ্র; টেক্সট-ডেকোরেশন: কোনটিই নয়; প্রদর্শন: ইনলাইন-ব্লক; ফন্ট সাইজ: 16px; }
// রিসেট বোতাম
ইনপুট [টাইপ = "জমা দিন"] {ব্যাকগ্রাউন্ড-রঙ: #3498DB; / * সবুজ */ সীমানা: কোনটিই নয়; সাদা রং; প্যাডিং: 15px 48px; পাঠ্য-সারিবদ্ধকরণ: কেন্দ্র; টেক্সট-ডেকোরেশন: কোনটিই নয়; প্রদর্শন: ইনলাইন-ব্লক; ফন্ট সাইজ: 16px; }
ধাপ 3: ওয়েব পেজ থেকে ESP32 এ ওয়েব রেসপন্স পাওয়া
![ওয়েব পেজ থেকে ESP32 এ ওয়েব রেসপন্স পাওয়া ওয়েব পেজ থেকে ESP32 এ ওয়েব রেসপন্স পাওয়া](https://i.howwhatproduce.com/images/003/image-8021-18-j.webp)
ESP 32 ডিভাইস থেকে ওয়েব পেজ পরিবেশন করা খুবই মজার। এটি ওয়েবপৃষ্ঠায় তাপমাত্রার ডেটা দেখানো, কাস্টম ওয়েবপৃষ্ঠা থেকে নেতৃত্ব ফিরিয়ে নেওয়া বা ওয়েবপেজের মাধ্যমে ব্যবহারকারীর ওয়াইফাই শংসাপত্র সংরক্ষণ করা থেকে কিছু হতে পারে। এই উদ্দেশ্যে, ESP 32 ওয়েব সার্ভার ক্লাস সার্ভার ওয়েব পেজ ব্যবহার করে।
- প্রথমে, পোর্ট 80 (HTTP পোর্ট) এ ওয়েব সার্ভার ক্লাসের একটি উদাহরণ তৈরি করুন।
- এখন সফটএপি হিসাবে ইএসপি ডিভাইস সেট আপ করুন। SSID এবং পাসকি দিন এবং ডিভাইসে একটি স্ট্যাটিক আইপি বরাদ্দ করুন।
- সার্ভার শুরু করুন।
// ********* SSID এবং AP এর জন্য পাস **************/
const char *ssidAP = "SSID দিন"; const char *passAP = "pass key";
// ********* স্ট্যাটিক আইপি কনফিগার **************/আইপি অ্যাড্রেস ap_local_IP (192, 168, 1, 77); IPAddress ap_gateway (192, 168, 1, 254); IPAddress ap_subnet (255, 255, 255, 0);
// ********* SoftAP কনফিগ ****************
WiFi.mode (WIFI_AP);
Serial.println (WiFi.softAP (ssidAP, passAP)? "Soft-AP setup": "কানেক্ট করতে ব্যর্থ");
বিলম্ব (100); Serial.println (WiFi.softAPConfig (ap_local_IP, ap_gateway, ap_subnet)? "Soft AP কনফিগার করা": "কনফিগারেশনে ত্রুটি"); Serial.println (WiFi.softAPIP ());
// সার্ভার শুরু করুন
server.begin ();
- বিভিন্ন কলব্যাক ব্যবহার করে ইউআরএল তৈরি করুন এবং পরিবেশন করুন।
- এবং হ্যান্ডেল ক্লায়েন্ট ব্যবহার করে ক্লায়েন্টকে অসিঙ্ক্রোনাসভাবে পরিচালনা করুন।
server.on ("/", handleRoot);
server.on ("/dhcp", handleDHCP); server.on ("/static", handleStatic); // প্রতিক্রিয়া সার্ভার পরিচালনা করুন। handleClient ();
- ওয়েব পৃষ্ঠাগুলি অ্যাক্সেস করতে। আপনার ওয়াইফাই নেটওয়ার্কের মধ্যে তালিকাভুক্ত, আপনি যে এপি তৈরি করেছেন তার সাথে সংযোগ করুন। এখন, ব্রাউজারে যান, শেষ ধাপে আপনার দ্বারা কনফিগার করা আইপি লিখুন এবং ওয়েবপেজে প্রবেশ করুন।
- ওয়েব সার্ভার ক্লাস ইনপুট ('টেক্সট', 'বোতাম', 'রেডিওবটন' ইত্যাদি।) আর্গুমেন্ট হিসাবে দেওয়া নাম নেয়। এটি এই ইনপুটগুলির প্রতিক্রিয়াগুলিকে যুক্তি হিসাবে সংরক্ষণ করে এবং আমরা মানগুলি পেতে পারি বা args, arg, hasArg পদ্ধতি ব্যবহার করে তাদের পরীক্ষা করতে পারি।
যদি (server.args ()> 0) {for (int i = 0; i <= server.args (); i ++) {
Serial.println (স্ট্রিং (server.argName (i)) + '\ t' + স্ট্রিং (server.arg (i)));
}
যদি (server.hasArg ("ipv4static") && server.hasArg ("গেটওয়ে") && server.hasArg ("সাবনেট")) {staticSet (); } অন্যথায় যদি (server.arg ("ipv4")! = "") {dhcpSetManual (); } অন্যথায় {dhcpSetDefault (); }
ধাপ 4: স্ট্যাটিক আইপি কনফিগারেশন
![স্ট্যাটিক আইপি কনফিগারেশন স্ট্যাটিক আইপি কনফিগারেশন](https://i.howwhatproduce.com/images/003/image-8021-19-j.webp)
এখন পর্যন্ত আমরা বুঝতে পেরেছি কিভাবে AP এর সাথে সংযোগ স্থাপন করতে হয় এবং কিভাবে ওয়েবপৃষ্ঠার ইনপুট ক্ষেত্রগুলি থেকে মানগুলি পেতে হয়।
এই ধাপে, আমরা স্ট্যাটিক আইপি কনফিগার করব
- স্ট্যাটিক আইপি সেটিং নির্বাচন করুন এবং সাবমিট বোতামে ক্লিক করুন। আপনাকে পরবর্তী পৃষ্ঠায় পুনirectনির্দেশিত করা হবে।
- পরবর্তী পৃষ্ঠায় স্ট্যাটিক আইপি অ্যাড্রেস, গেটওয়ে অ্যাড্রেস এবং সাবনেট মাস্ক লিখুন এই পৃষ্ঠাটি "/স্ট্যাটিক" এ পরিবেশন করা হবে যা হ্যান্ডেল স্ট্যাটিক কলব্যাক পদ্ধতি দ্বারা পরিচালিত হয়।
- Server.arg () পদ্ধতি ব্যবহার করে পাঠ্য ক্ষেত্রের মান পান।
স্ট্রিং ipv4static = স্ট্রিং (server.arg ("ipv4static"));
স্ট্রিং গেটওয়ে = স্ট্রিং (server.arg ("গেটওয়ে")); স্ট্রিং সাবনেট = স্ট্রিং (server.arg ("সাবনেট"));
- এখন, এই মানগুলি একটি JSON ফরম্যাটে সিরিয়াল করা হয়েছে।
- তারপর আমরা SPIFFS- এ JSON লিখব।
root ["statickey"] = "staticSet";
root ["staticIP"] = ipv4static;
মূল ["গেটওয়ে"] = গেটওয়ে;
রুট ["সাবনেট"] = সাবনেট;
ফাইল fileToWrite = SPIFFS.open ("/ip_set.txt", FILE_WRITE);
যদি (root.printTo (fileToWrite)) {
Serial.println ("-ফাইল লেখা"); }
- এই কনফিগারেশন SPIFFS- এ সেভ করা আছে। পরে, এই মানগুলি SPIFFS থেকে পড়া হয়।
- স্ট্যাটিক আইপি মানগুলি JSON থেকে বিশ্লেষণ করা হয়।
ফাইল ফাইল = SPIFFS.open ("/ip_set.txt", "r");
while (file.available ()) {
debugLogData += char (file.read ()); }
যদি (debugLogData.length ()> 5) {
JsonObject এবং readRoot = jsonBuffer.parseObject (debugLogData);
যদি (readRoot.containsKey ("statickey")) {
স্ট্রিং ipStaticValue = readRoot ["staticIP"];
স্ট্রিং গেটওয়েভ্যালু = রিডরুট ["গেটওয়ে"];
স্ট্রিং সাবনেটভ্যালু = রিডরুট ["সাবনেট"];
ধাপ 5: DHCP সেটিংস
![DHCP সেটিংস DHCP সেটিংস](https://i.howwhatproduce.com/images/003/image-8021-20-j.webp)
এই ধাপে, আমরা DHCP সেটিংস কনফিগার করব
সূচী পৃষ্ঠা থেকে DHCP সেটিংস নির্বাচন করুন এবং "জমা দিন" এ ক্লিক করুন
- আপনাকে পরবর্তী পৃষ্ঠায় পুনirectনির্দেশিত করা হবে। পরবর্তী পৃষ্ঠায় আইপি ঠিকানা লিখুন বা ডিফল্ট নির্বাচন করুন এবং প্রতিক্রিয়া জমা দিতে "জমা দিন" বোতামে ক্লিক করুন। এই পৃষ্ঠাটি "/dhcp" এ পরিবেশন করা হবে যা হ্যান্ডেলডিএইচসিপি কলব্যাক পদ্ধতি দ্বারা পরিচালিত হয়। Server.arg () পদ্ধতি ব্যবহার করে পাঠ্য ক্ষেত্রের মান পান। ক্লিক করার সময় ডিফল্ট চেকবক্স নির্বাচন করুন। 192.168.4.1 আইপি ডিভাইসে দেওয়া হবে।
- এখন, এই মানগুলি একটি JSON ফরম্যাটে সিরিয়াল করা হয়েছে।
- তারপর আমরা SPIFFS- এ JSON লিখব।
JsonObject & root = jsonBuffer.createObject ();
root ["dhcpManual"] = "dhcpManual";
root ["dhcpIP"] = "192.168.4.1";
ফাইল fileToWrite = SPIFFS.open ("/ip_set.txt", FILE_WRITE);
যদি (root.printTo (fileToWrite)) {
Serial.println ("-ফাইল লেখা"); }
- এই কনফিগারেশন SPIFFS- এ সেভ করা আছে। পরে, এই মানগুলি SPIFFS থেকে পড়া হয়।
- ডিএইচসিপি আইপি মানগুলি JSON থেকে বিশ্লেষণ করা হয়।
ফাইল ফাইল = SPIFFS.open ("/ip_set.txt", "r"); যখন (file.available ()) {debugLogData += char (file.read ()); } if (debugLogData.length ()> 5) {JsonObject & readRoot = jsonBuffer.parseObject (debugLogData);
যদি (readRoot.containsKey ("dhcpDefault")) {
স্ট্রিং ipdhcpValue = readRoot ["dhcpIP"];
Serial.println (ipdhcpValue);
dhcpAPConfig ();}
ধাপ 6: ওয়াইফাই শংসাপত্র সংরক্ষণ
![ওয়াইফাই শংসাপত্র সংরক্ষণ করা হচ্ছে ওয়াইফাই শংসাপত্র সংরক্ষণ করা হচ্ছে](https://i.howwhatproduce.com/images/003/image-8021-21-j.webp)
আপাতত, আমরা আইপি কনফিগারেশন নির্বাচন করেছি। এখন আমাদের ব্যবহারকারীর ওয়াইফাই শংসাপত্র সংরক্ষণ করতে হবে। এই পরিস্থিতির সমাধানের জন্য। আমরা এই পদ্ধতি অনুসরণ করেছি।
- তাই এখন আমাদের ডিএইচসিপি বা স্ট্যাটিক আইপি কনফিগারেশনে আমাদের ডিভাইস এপি সেটআপ রয়েছে যা আমরা শেষ ধাপে উল্লিখিত ক্যাপটিভ পোর্টাল থেকে নির্বাচন করেছি।
- ধরা যাক আমরা স্ট্যাটিক আইপি কনফিগারেশন নির্বাচন করেছি।
- আমরা এই আইপি তে একটি সফটএপ কনফিগার করব।
- SPIFFS থেকে মানগুলি পড়ার পরে এবং JSON থেকে এই মানগুলি বিশ্লেষণ করার পরে। আমরা এই আইপি তে সফটএপ কনফিগার করব।
- আইপি স্ট্রিংকে বাইটে রূপান্তর করুন।
বাইট আইপি [4];
parseBytes (ipv4Arr, '।', ip, 4, 10);
ip0 = (uint8_t) ip [0];
ip1 = (uint8_t) ip [1];
ip2 = (uint8_t) ip [2];
ip3 = (uint8_t) ip [3];
IPAddress ap_local (ip0, ip1, ip2, ip3);
// *************** স্ট্রিং থেকে পার্ট বাইট ****************** //
void parseBytes (const char* str, char sep, byte* bytes, int maxBytes, int base) {
জন্য (int i = 0; i <maxBytes; i ++) {
বাইট = strtoul (str, NULL, base);
str = strchr (str, sep);
যদি (str == NULL || *str == '\ 0') {
বিরতি;
}
str ++;
}}
এখন আমরা এই আইপি তে সফটএপ কনফিগার করব
Serial.println (WiFi.softAPConfig (ap_localWeb_IP, ap_gate, ap_net)? "SoftAP কনফিগার করা হচ্ছে": "সংযুক্ত নয়"); Serial.println (WiFi.softAPIP ());
- এখন ওয়েব সার্ভার শুরু করুন এবং এই আইপি তে একটি ওয়েবপেজ পরিবেশন করুন। ব্যবহারকারীর ওয়াইফাই শংসাপত্রগুলি প্রবেশ করতে।
- এসএসআইডি এবং পাসওয়ার্ড প্রবেশ করার জন্য ওয়েবপেজে দুটি পাঠ্য ক্ষেত্র রয়েছে।
- handleStaticForm একটি কলব্যাক পদ্ধতি যা ওয়েবপেজটি পরিবেশন করে।
- server.handleClient () ওয়েবপেজ থেকে অনুরোধ এবং প্রতিক্রিয়াগুলির যত্ন নেয়।
server.begin ();
server.on ("/", handleStaticForm);
server.onNotFound (handleNotFound);
STimer = মিলিস ();
যখন (মিলিস ()-STimer <= SInterval) {
server.handleClient (); }
HTML ফর্ম SPIFFS- এ সেভ করা আছে। আমরা server.arg () ব্যবহার করে উপযুক্ত আর্গুমেন্টগুলি পরীক্ষা করি। SSID এবং Password এর মান পেতে।
ফাইল ফাইল = SPIFFS.open ("/WiFi.html", "r");
server.streamFile (ফাইল, "টেক্সট/এইচটিএমএল");
file.close ();
ধাপ 7: SPIFFS থেকে পড়ুন এবং লিখুন
SPIFFS
সিরিয়াল পেরিফেরাল ইন্টারফেস ফ্ল্যাশ ফাইল সিস্টেম, অথবা সংক্ষেপে SPIFFS। এটি একটি SPI ফ্ল্যাশ চিপ সহ মাইক্রোকন্ট্রোলারের জন্য একটি হালকা ওজনের ফাইল সিস্টেম। ESP32 এর অনবোর্ড ফ্ল্যাশ চিপে আপনার ওয়েব পেজের জন্য প্রচুর জায়গা আছে। আমরা ফ্ল্যাশ সিস্টেমে আমাদের ওয়েবপেজও সংরক্ষণ করেছি। স্পিফগুলিতে ডেটা আপলোড করার জন্য আমাদের কয়েকটি পদক্ষেপ অনুসরণ করতে হবে
ESP 32 SPIFFS ডেটা আপলোড টুল ডাউনলোড করুন:
- আপনার Arduino স্কেচবুক ডিরেক্টরিতে, সরঞ্জাম ডিরেক্টরি তৈরি করুন যদি এটি এখনও বিদ্যমান না থাকে
- টুলস ডিরেক্টরিতে টুলটি আনপ্যাক করুন (পাথটি /Arduino/tools/ESP32FS/tool/esp32fs.jar এর মত দেখাবে)
- Arduino IDE পুনরায় চালু করুন
- একটি স্কেচ খুলুন (অথবা একটি নতুন তৈরি করুন এবং এটি সংরক্ষণ করুন)
- স্কেচ ডিরেক্টরিতে যান (স্কেচ নির্বাচন করুন> স্কেচ ফোল্ডার দেখান)
- সেখানে ফাইল সিস্টেমে ডেটা এবং যে কোনো ফাইল নামক একটি ডিরেক্টরি তৈরি করুন। আমরা ওয়েবফর্ম.এইচটিএমএল নামে আমাদের এইচটিএমএল পেজ আপলোড করেছি
- নিশ্চিত করুন যে আপনি একটি বোর্ড, পোর্ট এবং বন্ধ সিরিয়াল মনিটর নির্বাচন করেছেন
- সরঞ্জাম> ESP8266 স্কেচ ডেটা আপলোড নির্বাচন করুন। এটি ESP8266 ফ্ল্যাশ ফাইল সিস্টেমে ফাইল আপলোড করা শুরু করবে। হয়ে গেলে, IDE স্ট্যাটাস বার SPIFFS ইমেজ আপলোড করা বার্তা প্রদর্শন করবে।
void handleDHCP () {File file = SPIFFS.open ("/page_dhcp.html", "r"); server.streamFile (ফাইল, "টেক্সট/এইচটিএমএল"); file.close ();}
অকার্যকর হ্যান্ডেল স্ট্যাটিক () {
ফাইল ফাইল = SPIFFS.open ("/page_static.html", "r"); server.streamFile (ফাইল, "টেক্সট/এইচটিএমএল"); file.close ();}
SPIFFS- এ লেখা
এখানে আমরা SPIFFS- এ সংরক্ষিত সেটিং লিখছি যাতে ব্যবহারকারীদের যখনই ডিভাইস রিসেট হবে তখন এই ধাপগুলি অতিক্রম করতে হবে না।
- ওয়েবপেজ থেকে প্রাপ্ত আর্গুমেন্টগুলিকে JSON অবজেক্টে রূপান্তর করুন
- SPIFFS- এ সংরক্ষিত.txt ফাইলে এই JSON লিখুন।
স্ট্রিং ipv4static = স্ট্রিং (server.arg ("ipv4static"));
স্ট্রিং গেটওয়ে = স্ট্রিং (server.arg ("গেটওয়ে")); স্ট্রিং সাবনেট = স্ট্রিং (server.arg ("সাবনেট")); root ["statickey"] = "staticSet"; root ["staticIP"] = ipv4static; মূল ["গেটওয়ে"] = গেটওয়ে; রুট ["সাবনেট"] = সাবনেট; স্ট্রিং JSONStatic; চর JSON [120]; root.printTo (সিরিয়াল); root.prettyPrintTo (JSONStatic); JSONStatic.toCharArray (JSON, sizeof (JSONStatic) +2); ফাইল fileToWrite = SPIFFS.open ("/ip_set.txt", FILE_WRITE); যদি (! fileToWrite) {Serial.println ("SPIFFS খোলার সময় ত্রুটি"); } যদি (fileToWrite.print (JSON)) {Serial.println ("-File Written"); } অন্য {Serial.println ("-ফাইল লেখার ত্রুটি"); } fileToWrite.close ();
ধাপ 8: সামগ্রিক কোড
HTML এবং ESP32 এর জন্য ওভার কোড এই Github সংগ্রহস্থলে পাওয়া যাবে
প্রস্তাবিত:
আপনার আরডুইনোকে আইপি নেটওয়ার্কের সাথে সংযুক্ত করার জন্য কীভাবে আপনার নিজের ওয়াইফাই গেটওয়ে তৈরি করবেন?: 11 টি ধাপ (ছবি সহ)
![আপনার আরডুইনোকে আইপি নেটওয়ার্কের সাথে সংযুক্ত করার জন্য কীভাবে আপনার নিজের ওয়াইফাই গেটওয়ে তৈরি করবেন?: 11 টি ধাপ (ছবি সহ) আপনার আরডুইনোকে আইপি নেটওয়ার্কের সাথে সংযুক্ত করার জন্য কীভাবে আপনার নিজের ওয়াইফাই গেটওয়ে তৈরি করবেন?: 11 টি ধাপ (ছবি সহ)](https://i.howwhatproduce.com/images/004/image-10449-j.webp)
আপনার Arduino কে IP নেটওয়ার্কের সাথে সংযুক্ত করার জন্য আপনার নিজের ওয়াইফাই গেটওয়ে কিভাবে তৈরি করবেন? আমি একটি রোবট নিয়ে কাজ করছি যা স্থায়ীভাবে একটি সার্ভারের সাথে সংযুক্ত হওয়া প্রয়োজন যা এআর চালায়
ESP8266 স্ট্যাটিক আইপি (WIP): 3 টি ধাপ
![ESP8266 স্ট্যাটিক আইপি (WIP): 3 টি ধাপ ESP8266 স্ট্যাটিক আইপি (WIP): 3 টি ধাপ](https://i.howwhatproduce.com/images/011/image-30299-j.webp)
ESP8266 স্ট্যাটিক আইপি (WIP): (যদি আপনার ওয়াই-ফাই নেটওয়ার্ক ইতিমধ্যেই কোনোভাবে কনফিগার করা থাকে, তাহলে আপনার নেটওয়ার্ক অ্যাডমিনিস্ট্রেটরের সাথে কথা বলার প্রয়োজন হতে পারে।) আমাদের প্রকল্পের লক্ষ্যের অংশ হল প্রতিটি ESP8266 এর নিজস্ব স্ট্যাটিক আইপি ঠিকানা ডিভাইস এবং সংযোগের উপর নজর রাখা সহজ করে তোলে
ক্যাপটিভ পোর্টাল ব্যবহার করে হোম অটোমেশন: 9 টি ধাপ
![ক্যাপটিভ পোর্টাল ব্যবহার করে হোম অটোমেশন: 9 টি ধাপ ক্যাপটিভ পোর্টাল ব্যবহার করে হোম অটোমেশন: 9 টি ধাপ](https://i.howwhatproduce.com/images/012/image-33209-j.webp)
ক্যাপটিভ পোর্টাল ব্যবহার করে হোম অটোমেশন: এখানে, আমরা শুরু থেকে নোডএমসিইউ ব্যবহার করে ক্যাপটিভ পোর্টাল ভিত্তিক হোম অটোমেশনের একটি খুব আকর্ষণীয় প্রকল্প তৈরি করব।
একটি নিকন এসসি -28 টিটিএল ক্যাবলে একটি পিসি সিঙ্ক জ্যাক যুক্ত করুন (ক্যামেরা ফ্ল্যাশের জন্য অটো সেটিংস ব্যবহার করুন এবং ক্যামেরা ফ্ল্যাশ বন্ধ করুন !!): 4 টি ধাপ
![একটি নিকন এসসি -28 টিটিএল ক্যাবলে একটি পিসি সিঙ্ক জ্যাক যুক্ত করুন (ক্যামেরা ফ্ল্যাশের জন্য অটো সেটিংস ব্যবহার করুন এবং ক্যামেরা ফ্ল্যাশ বন্ধ করুন !!): 4 টি ধাপ একটি নিকন এসসি -28 টিটিএল ক্যাবলে একটি পিসি সিঙ্ক জ্যাক যুক্ত করুন (ক্যামেরা ফ্ল্যাশের জন্য অটো সেটিংস ব্যবহার করুন এবং ক্যামেরা ফ্ল্যাশ বন্ধ করুন !!): 4 টি ধাপ](https://i.howwhatproduce.com/preview/how-and-what-to-produce/10966971-add-a-pc-sync-jack-to-a-nikon-sc-28-ttl-cable-use-auto-settings-for-an-on-camera-flash-and-trigger-off-camera-flashes-4-steps-j.webp)
একটি নিকন এসসি -28 টিটিএল ক্যাবলে একটি পিসি সিঙ্ক জ্যাক যুক্ত করুন (ক্যামেরা ফ্ল্যাশ অন করার জন্য অটো সেটিংস ব্যবহার করুন এবং ক্যামেরা ফ্ল্যাশ বন্ধ করুন !!): এই নির্দেশে আমি আপনাকে দেখাবো কিভাবে সেই বিরক্তিকর মালিকানা 3 পিন টিটিএল সংযোগকারীগুলিকে সরিয়ে ফেলতে হয় একটি নিকন SC-28 অফ ক্যামেরা টিটিএল তারের পাশে এবং এটি একটি আদর্শ পিসি সিঙ্ক সংযোগকারী দিয়ে প্রতিস্থাপন করুন। এটি আপনাকে একটি ডেডিকেটেড ফ্ল্যাশ ব্যবহার করতে দেবে
ট্যাবড ব্রাউজিং স্ট্রিমলাইন করার জন্য মাউস সেটিংস: ৫ টি ধাপ
![ট্যাবড ব্রাউজিং স্ট্রিমলাইন করার জন্য মাউস সেটিংস: ৫ টি ধাপ ট্যাবড ব্রাউজিং স্ট্রিমলাইন করার জন্য মাউস সেটিংস: ৫ টি ধাপ](https://i.howwhatproduce.com/preview/how-and-what-to-produce/11123802-mouse-settings-to-streamline-tabbed-browsing-5-steps-j.webp)
ট্যাবড ব্রাউজিংকে স্ট্রিমলাইন করার জন্য মাউস সেটিংস: ট্যাবড ব্রাউজিংকে আরও কার্যকর করার জন্য আমি আপনাকে দেখাব কিভাবে আপনার মাউস বোতাম কনফিগার করতে হয়। এই সেটিংসগুলির সাহায্যে আপনি দ্রুত ট্যাবগুলির মধ্যে স্থানান্তর করতে পারবেন, নতুন ট্যাব তৈরি করতে পারবেন, বর্তমান ট্যাবগুলি বন্ধ করতে পারবেন এবং ওয়েব ব্রাউজার বা অন্য কোনও প্রোগ্রাম বন্ধ করতে পারবেন