
एक पूर्ण कार्यात्मक WiFi NAT राउटर (और अब एक WiFi रिपीटर भी)
एक पूर्ण कार्यशील WiFi NAT राउटर (और अब एक WiFi रिपीटर यानी L2 ब्रिज भी)
NEW 2026: पहले रिलीज़ के 10 साल बाद यह आखिरकार वही बन गया है, जो इसे हमेशा होना था: एक सच्चा WiFi रिपीटर। मौजूदा डॉक्स और लिंक्स को तोड़ने से बचने के लिए, मानक संस्करण अभी भी सभी उन्नत सुविधाओं के साथ प्रसिद्ध NAT राउटर संस्करण ही है। लेकिन अगर आप एक हल्के (stripped down) वास्तविक L2 ब्रिज में रुचि रखते हैं, तो नीचे ESP8266 WiFi Repeater - L2 bridge अनुभाग देखें।
यह esp8266 और esp8285 पर WiFi NAT राउटर का एक कार्यान्वयन है। इसमें ACLs के साथ पैकेट फ़िल्टरिंग फ़ायरवॉल, पोर्ट मैपिंग, ट्रैफ़िक शेपिंग, रिमोट मॉनिटरिंग (या पैकेट स्निफिंग) के लिए हुक, एक MQTT प्रबंधन इंटरफ़ेस, सरल GPIO इंटरैक्शन और पावर प्रबंधन के लिए समर्थन भी शामिल है। एक बड़े क्षेत्र को कवर करने के लिए मेश में कई राउटरों के सेटअप के लिए एक नया मोड "Automesh" शामिल किया गया है।
अगर आप अपने Arduino प्रोजेक्ट में NAT सुविधा को एकीकृत करने का तरीका ढूंढ रहे हैं - यहाँ देखें।
EPS32 NAT Router ESP32 के लिए उन्नत प्रोजेक्ट है।
विशिष्ट उपयोग परिदृश्यों में शामिल हैं:
डिफ़ॉल्ट रूप से, ESP STA और soft-AP दोनों के रूप में कार्य करता है और किसी भी IP ट्रैफ़िक को पारदर्शी रूप से आगे भेजता है। चूँकि यह NAT का उपयोग करता है, नेटवर्क की ओर या कनेक्टेड स्टेशनों पर कोई रूटिंग प्रविष्टियाँ आवश्यक नहीं हैं। स्टेशन डिफ़ॉल्ट रूप से DHCP के माध्यम से 192.168.4.0/24 नेट में कॉन्फ़िगर किए जाते हैं और अपना DNS रिस्पॉन्डर पता मौजूदा WiFi नेटवर्क से प्राप्त करते हैं।
मापों से पता चलता है कि यह दोनों दिशाओं में लगभग 5 Mbps प्राप्त कर सकता है, इसलिए स्ट्रीमिंग भी संभव है।
कुछ विवरण इस वीडियो में समझाए गए हैं।
डिवाइस पर सीधे फ्लैश करने के लिए Web-Installer का उपयोग करें।
esp_wifi_repeater निम्नलिखित डिफ़ॉल्ट कॉन्फ़िगरेशन के साथ शुरू होता है:
पहले बूट (या फ़ैक्टरी रीसेट) के बाद यह एक खुले AP के साथ एक WiFi नेटवर्क और ssid "MyAP" प्रदान करेगा। यह अभी तक किसी अपलिंक AP से स्वचालित रूप से पुनः कनेक्ट करने का प्रयास नहीं करता है (क्योंकि यह एक मान्य ssid या पासवर्ड नहीं जानता है)।
इस WiFi नेटवर्क से कनेक्ट करें और बुनियादी कॉन्फ़िगरेशन या तो एक सरल वेब इंटरफ़ेस के माध्यम से या कंसोल के माध्यम से सभी विकल्पों के साथ पूर्ण कॉन्फ़िगरेशन करें।
वेब इंटरफ़ेस बुनियादी फ़ॉरवर्डिंग कार्यक्षमता के लिए आवश्यक सभी मापदंडों के कॉन्फ़िगरेशन की अनुमति देता है। उस पर प्रमुख काम के लिए rubfi को धन्यवाद: https://github.com/rubfi/esp_wifi_repeater/ । अपना ब्राउज़र "http://192.168.4.1" पर इंगित करें। यह पृष्ठ दिखना चाहिए:
पहले अपलिंक WiFi नेटवर्क, "STA Settings" के लिए उपयुक्त मान दर्ज करें। खुले नेटवर्क के लिए पासवर्ड "none" का उपयोग करें। "Automesh" बॉक्स को तभी चेक करें जब आप वास्तव में automesh मोड का उपयोग करना चाहते हैं। "Connect" पर क्लिक करें। ESP रिबूट होता है और आपके WiFi राउटर से कनेक्ट होगा। कुछ सेकंड के बाद स्टेटस LED ब्लिंक करनी चाहिए।
यदि आपने automesh चुना है, तो आपका कॉन्फ़िगरेशन पूरा हो गया है। "Soft AP Settings" कॉन्फ़िगर करना आवश्यक नहीं है क्योंकि automesh मोड में ये सेटिंग्स "STA Settings" के समान होती हैं। वही ssid सभी कनेक्टेड ESP रिपीटर्स द्वारा प्रदान किया जाएगा।
यदि आप automesh का उपयोग नहीं कर रहे हैं, तो अब आप पृष्ठ को पुनः लोड कर सकते हैं और "Soft AP Settings" बदल सकते हैं। "Set" पर क्लिक करें और ESP फिर से रिबूट होता है। अब यह नव कॉन्फ़िगर किए गए Soft AP पर ट्रैफ़िक फ़ॉरवर्ड करने के लिए तैयार है। ध्यान रखें कि ये परिवर्तन कॉन्फ़िग इंटरफ़ेस को भी प्रभावित करते हैं, अर्थात आगे कॉन्फ़िगरेशन करने के लिए, नए कॉन्फ़िगर किए गए WiFi नेटवर्क में से किसी एक के माध्यम से ESP से कनेक्ट करें। Soft AP के माध्यम से पहुँच के लिए, यदि आपने इसे बदला है तो Soft APs नेटवर्क का पता याद रखें (इस नेटवर्क में ESP का पता हमेशा x.x.x.1 होता है)।
यदि आप चाहें, तो आप "lock" चेकबॉक्स को चिह्नित कर सकते हैं और "Lock" पर क्लिक कर सकते हैं। अब कॉन्फ़िगरेशन को बिना पहले अपलिंक WiFi नेटवर्क के पासवर्ड से अनलॉक किए बदला नहीं जा सकता (भले ही नेटवर्क खुला हो, एक परिभाषित करें)।
यदि आप वेब इंटरफ़ेस में गैर-ASCII या विशेष वर्ण दर्ज करना चाहते हैं, तो आपको HTTP-शैली हेक्स एन्कोडिंग का उपयोग करना होगा जैसे "My%20AccessPoint"। इसका परिणाम स्ट्रिंग "My AccessPoint" होगा। इस हेक्स एन्कोडिंग के साथ आप अपनी पसंद का कोई भी बाइट मान दर्ज कर सकते हैं, सिवाय 0 के (C-आंतरिक कारणों से)।
यदि आपने कोई गलती की है और ESP से सारा संपर्क खो दिया है, तो भी आप इसे पुनर्प्राप्त करने के लिए सीरियल कंसोल का उपयोग कर सकते हैं ("reset factory", नीचे देखें)।
उन्नत कॉन्फ़िगरेशन कंसोल इंटरफ़ेस पर कमांड लाइन के माध्यम से करना पड़ता है। यह कंसोल या तो 115200 बॉड पर सीरियल पोर्ट के माध्यम से या tcp पोर्ट 7777 के माध्यम से उपलब्ध है (जैसे कनेक्टेड STA से "telnet 192.168.4.1 7777")।
प्रारंभिक सेटअप के लिए निम्नलिखित कमांड का उपयोग करें:
फिर से, यदि आप गैर-ASCII या विशेष वर्ण दर्ज करना चाहते हैं, तो आप HTTP-शैली हेक्स एन्कोडिंग (जैसे "My%20AccessPoint") या, केवल CLI पर, शॉर्टकट के रूप में C-शैली के उद्धरण बैकस्लैश के साथ (जैसे "My\ AccessPoint") का उपयोग कर सकते हैं। दोनों विधियों का परिणाम स्ट्रिंग "My AccessPoint" होगा।
कमांड लाइन बहुत अधिक कमांड समझती है:
लगभग सभी वातावरणों में इसे काम करवाने के लिए पर्याप्त।
अधिकांश set-कमांड केवल save और reset के बाद प्रभावी होते हैं।
कमांड लाइन इनपुट का एकल "#" के बाद पंक्ति के अंत तक का कोई भी भाग एक टिप्पणी के रूप में माना जाएगा और अनदेखा किया जाएगा।