فهرست مطالب:
- مرحله 1: PINOUT
- مرحله 2: WiFiManager
- مرحله 3: چگونه کار می کند
- مرحله 4: کتابخانه ها
- مرحله 5: توابع
- مرحله ششم: مونتاژ
- مرحله 7: کد
- مرحله 8: راه اندازی
- مرحله 9: حلقه کنید
- مرحله 10: تماس های تلفنی
تصویری: ESP8266 و ESP32 با WiFiManager: 10 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
آیا با WiFiManager آشنا هستید؟ این یک کتابخانه است که به عنوان مدیر اتصال بی سیم عمل می کند ، و با استفاده از آن ، راهی آسان تر برای پیکربندی Access Point و Station داریم. چندین پیشنهاد برای بحث در مورد این موضوع دریافت کرده ام ؛ بنابراین امروز شما را با این کتابخانه و عملکردهای آن آشنا می کنم. من همچنین استفاده از آن را با ESP32 و ESP8266 نشان خواهم داد.
مرحله 1: PINOUT
در اینجا PINOUT دو دستگاهی را که استفاده می کنیم نشان می دهم:
- NodeMCU ESP-12E
- NodeMCU ESP-WROOM-32
مرحله 2: WiFiManager
WiFiManager واقعاً چیزی نیست جز یک کتابخانه که روی WiFi.h برای مدیریت آسان اتصالات بی سیم نوشته شده است. به یاد داشته باشید که با استفاده از آن ، ما امکانات بیشتری برای پیکربندی Access Point و Station داریم. برای حالت ایستگاه ، ما از طریق یک پورتال در مرورگر پیکربندی می کنیم.
برخی از ویژگی ها:
• بستگی به اتصال خودکار دارد
• راه اندازی پورتال پیکربندی غیر خودکار
• بصورت انتخابی در حالت دوگانه عمل می کند
مرحله 3: چگونه کار می کند
ESP هنگام اتصال یک پورت پیکربندی WiFi را راه اندازی می کند و داده های پیکربندی را در حافظه غیر فرار ذخیره می کند. متعاقباً ، در صورتی که دکمه ای در ماژول ESP فشار داده شود ، پورت پیکربندی دوباره شروع به کار می کند.
در اینجا می توانید جریان پیکربندی را بررسی کرده و مرحله به مرحله این کار را دنبال کنید:
1. با استفاده از هر دستگاه مجهز به WiFi با مرورگر ، به نقطه دسترسی تازه ایجاد شده متصل شوید و آدرس 192.168.4.1 را وارد کنید.
2. روی صفحه دو گزینه برای اتصال به یک شبکه موجود خواهید داشت:
• WiFi را پیکربندی کنید
• پیکربندی WiFi (بدون اسکن)
3. یکی از شبکه ها را انتخاب کرده و رمز عبور (در صورت نیاز) را وارد کنید. سپس ذخیره کرده و منتظر بمانید تا ESP راه اندازی مجدد شود.
4. در پایان بوت ، ESP سعی می کند به شبکه ذخیره شده متصل شود. اگر نمی توانید این کار را انجام دهید ، یک Access Point را فعال می کنید.
مرحله 4: کتابخانه ها
کتابخانه "WifiManager-ESP32" را اضافه کنید.
به https://github.com/zhouhan0126/WIFIMANAGER-ESP32 بروید و کتابخانه را بارگیری کنید.
فایل را از حالت فشرده خارج کرده و در پوشه کتابخانه های Arduino IDE قرار دهید.
C: / پرونده های برنامه (x86) / Arduino / کتابخانه ها
کتابخانه "DNSServer-ESP32" را اضافه کنید.
به پیوند https://github.com/zhouhan0126/DNSServer---esp32 بروید و کتابخانه را بارگیری کنید.
فایل را از حالت فشرده خارج کرده و در پوشه کتابخانه های Arduino IDE قرار دهید.
C: / پرونده های برنامه (x86) / Arduino / کتابخانه ها
کتابخانه "WebServer-ESP32" را اضافه کنید.
به پیوند https://github.com/zhouhan0126/WebServer-esp32 بروید و کتابخانه را بارگیری کنید.
فایل را از حالت فشرده خارج کرده و در پوشه کتابخانه های Arduino IDE قرار دهید.
C: / پرونده های برنامه (x86) / Arduino / کتابخانه ها
توجه داشته باشید:
کتابخانه WiFiManager-ESP32 در حال حاضر دارای تنظیماتی است که با ESP8266 کار می کند ، بنابراین ما فقط از آن به جای دو فای WiFiManager (یکی برای هر نوع تراشه) استفاده می کنیم.
همانطور که بعداً خواهیم دید ، ESP8266WiFi و ESP8266WebServer کتابخانه هایی هستند که نیازی به بارگیری آنها نداریم ، زیرا وقتی ما ESP8266 را در Arduino IDE نصب می کنیم ، قبلاً آمده اند.
مرحله 5: توابع
در اینجا برخی از عملکردهایی است که WiFiManager به ما ارائه می دهد.
1. autoConnect
عملکرد autoConnect وظیفه ایجاد نقطه دسترسی را بر عهده دارد. ما می توانیم از آن به سه روش استفاده کنیم.
• autoConnect ("نام شبکه" ، "رمز عبور") ؛ - شبکه ای با نام و رمز عبور تعریف شده ایجاد می کند.
• autoConnect ("نام شبکه") ؛ - ایجاد یک شبکه باز با نام تعریف شده
• اتصال خودکار ()؛ - ایجاد یک شبکه باز و خودکار با نام "ESP" + chipID.
2. startConfigPortal
تابع startConfigPortal مسئول ایجاد نقطه دسترسی بدون تلاش برای اتصال به شبکه ذخیره شده قبلی است.
• startConfigPortal ("نام شبکه" ، "رمز عبور") ؛ - شبکه ای با نام و رمز عبور تعریف شده ایجاد می کند.
• startConfigPortal ()؛ - ایجاد یک شبکه باز و خودکار با نام "ESP" + chipID.
3. getConfigPortalSSID
SSID پورتال را برمی گرداند (نقطه دسترسی)
4. getSSID
با این کار SSID شبکه ای که به آن متصل شده است برمی گردد.
5. getPassword
با این کار رمز شبکه ای که به آن متصل شده است برمی گردد.
6. setDebugOutput
عملکرد setDebugOutput وظیفه چاپ پیام های اشکال زدایی در مانیتور سریال را بر عهده دارد. این پیامها قبلاً در کتابخانه تعریف شده اند. با مرور توابع ، داده ها چاپ می شوند.
به طور پیش فرض ، این عملکرد روی TRUE تنظیم شده است. اگر می خواهید پیام ها را غیرفعال کنید ، کافی است عملکرد را روی FALSE تنظیم کنید.
7. setMinimumSignalQuality
تابع setMinimumSignalQuality وظیفه فیلتر کردن شبکه ها بر اساس کیفیت سیگنال را بر عهده دارد. به طور پیش فرض ، WiFiManager شبکه های ورود به سیستم زیر 8 را نشان نمی دهد.
8. setRemoveDuplicateAPs
عملکرد setRemoveDuplicateAPs مسئول حذف موارد تکراری شبکه است.
به طور پیش فرض روی TRUE تنظیم شده است.
9. setAPStaticIPConfig
عملکرد setAPStaticIPConfig وظیفه تنظیم تنظیمات آدرس استاتیک را در حالت نقطه دسترسی دارد.
(IP ، GATEWAY ، SUBNET)
10. setSTAStaticIPConfig
عملکرد setSTAStaticIPConfig وظیفه تنظیم تنظیمات آدرس استاتیک را در حالت ایستگاه بر عهده دارد.
(IP ، GATEWAY ، SUBNET)
قبل از اتصال خودکار باید دستور را اضافه کنید !!!
11. setAPCallback
عملکرد setAPCallback وظیفه دارد به شما اطلاع دهد که حالت AP شروع به کار کرده است.
پارامتر تابعی است که باید برای نشان دادن آن به عنوان یک فراخوانی ایجاد شود.
12. setSaveConfigCallback
عملکرد setSaveConfigCallback وظیفه اطلاع رسانی به شما را بر عهده دارد که پیکربندی جدیدی ذخیره شده است و اتصال با موفقیت انجام شده است.
پارامتر یک تابع برای ایجاد است و این را به عنوان allback نشان می دهد.
قبل از اتصال خودکار باید دستور را اضافه کنید !!!
مرحله ششم: مونتاژ
مثال
در مثال ما ، ما یک نقطه دسترسی با ESP ایجاد می کنیم (کد هم ESP8266 و هم ESP32 را ارائه می دهد). پس از ایجاد AP ، ما از طریق IP 192.168.4.1 (که پیش فرض برای دسترسی به آن است) به پورتال دسترسی خواهیم داشت. بنابراین بیایید شبکه های موجود را دریافت کنیم ، یکی را انتخاب کرده و ذخیره کنیم. از آنجا ، ESP راه اندازی مجدد می شود و سعی می کند به آن متصل شود ، و سپس به عنوان ایستگاه کار می کند و دیگر به عنوان نقطه دسترسی کار نمی کند.
پس از ورود به حالت ایستگاه ، می توانید ESP را فقط از طریق دکمه به حالت Access Point بازگردانید.
مرحله 7: کد
کتابخانه ها
ابتدا اجازه دهید کتابخانه هایی را که استفاده می کنیم تعریف کنیم.
توجه داشته باشید که ما دستورات #if تعریف ، #else و #endif داریم. آنها مشروط به شامل کتابخانه های لازم مربوط به تراشه هستند. این قسمت برای اجرای یک کد در هر دو ESP8266 و ESP32 بسیار مهم است.
اگر تعریف شده باشد (ESP8266)
#شامل // کتابخانه اصلی WiFi ESP8266 #دیگر #شامل // کتابخانه اصلی WiFi ESP32 #endif
اگر تعریف شده باشد (ESP8266)
#include // WebServer محلی برای سرویس دهی به پورتال پیکربندی استفاده می شود
#دیگر
#include // سرور DNS محلی برای هدایت همه درخواست ها به پورت پیکربندی استفاده می شود (https://github.com/zhouhan0126/DNSServer---esp32)
#اندیف
#include // WebServer محلی برای سرویس دهی به پورتال پیکربندی (https://github.com/zhouhan0126/DNSServer---esp32) #include // WiFi Configuration Magic (https://github.com/zhouhan0126/DNSServer-- -esp32) >> https://github.com/zhouhan0126/DNSServer---esp32 (اصلی)
مرحله 8: راه اندازی
در راه اندازی ، ما WiFiManager خود را به ساده ترین روش پیکربندی می کنیم. بیایید فقط تماس های تلفنی را تعریف کرده و شبکه را ایجاد کنیم.
const int PIN_AP = 2؛
void setup () {Serial.begin (9600)؛ pinMode (PIN_AP ، INPUT) ؛ // اعلام objeto wifiManager WiFiManager wifiManager؛
// useizando esse comando، as configurações são apagadas da memória // caso tiver salvo alguma rede para conectar automatamente، ela é apagada. // wifiManager.resetSettings ()؛ // callback para quando entra em modo de configuração AP wifiManager.setAPCallback (configModeCallback) ؛ // callback for quando se conecta em uma rede، ou seja، quando passa a trabalhar em modo estação wifiManager.setSaveConfigCallback (saveConfigCallback)؛ // cria uma rede de nome ESP_AP com senha 12345678 wifiManager.autoConnect ("ESP_AP" ، "12345678") ؛ }
مرحله 9: حلقه کنید
در حلقه ، پین دکمه را می خوانیم تا ببینیم آیا فشار داده شده است یا نه ، و سپس متد را برای فعال کردن مجدد حالت APP فراخوانی می کنیم.
حلقه خالی () {
WiFiManager wifiManager ؛ // se o botão foi pressionado if (digitalRead (PIN_AP) == HIGH) {Serial.println ("resetar")؛ // tenta abrir o portal if (! wifiManager.startConfigPortal ("ESP_AP"، "12345678")) {Serial.println ("Falha ao conectar")؛ تاخیر (2000) ؛ ESP.restart ()؛ تاخیر (1000) ؛ } Serial.println ("Conectou ESP_AP !!!")؛ }
وقتی دکمه را فشار می دهید ، ESP از حالت ایستگاه خارج می شود و نقطه دسترسی و پورتال شما را باز می کند.
به یاد داشته باشید که ما از دستور resetSettings () استفاده نمی کنیم. تنظیمات هنوز برای دفعات بعدی که ESP بوت می شود ذخیره می شود.
مرحله 10: تماس های تلفنی
توابع تماس ، که با رویدادها مرتبط هستند ، به شما کمک می کند تا لحظه دقیق عملیات را داشته باشید ، در مورد ما ، وارد حالت AP و حالت ایستگاه شوید. سپس می توانیم روال موردنظر را پیاده سازی کنیم ، برای مثال بازیابی SSID از شبکه متصل.
// callback que indica que o ESP entrou no modo AP
void configModeCallback (WiFiManager *myWiFiManager) {// Serial.println ("وارد حالت پیکربندی") ؛ Serial.println ("Entrou no modo de configuração")؛ Serial.println (WiFi.softAPIP ()) ؛ // imprime o IP do AP Serial.println (myWiFiManager-> getConfigPortalSSID ()) ؛ // imprime o SSID criado da rede
}
// callback que indica que salvamos uma nova rede para se conectar (modo estação)
void saveConfigCallback () {// Serial.println ("باید پیکربندی ذخیره شود")؛ Serial.println ("Configuração salva") ؛ Serial.println (WiFi.softAPIP ()) ؛ // imprime o IP do AP}
توصیه شده:
ایستگاه هواشناسی حرفه ای با استفاده از ESP8266 و ESP32 DIY: 9 مرحله (همراه با تصاویر)
ایستگاه هواشناسی حرفه ای با استفاده از ESP8266 و ESP32 DIY: LineaMeteoStazione یک ایستگاه آب و هوایی کامل است که می تواند با سنسورهای حرفه ای Sensirion و برخی از اجزای ابزار Davis (باران سنج ، بادسنج) ارتباط برقرار کند. این پروژه به عنوان ایستگاه هواشناسی DIY طراحی شده است اما فقط نیاز به
ارتباط بی سیم LoRa 3 کیلومتر تا 8 کیلومتر با هزینه کم E32 (sx1278/sx1276) دستگاه Arduino ، Esp8266 یا Esp32: 15 مرحله
ارتباطات بی سیم LoRa 3Km تا 8Km با هزینه کم E32 (sx1278/sx1276) دستگاه برای Arduino ، Esp8266 یا Esp32: من یک کتابخانه برای مدیریت EBYTE E32 بر اساس سری Semtech دستگاه LoRa ، دستگاه بسیار قدرتمند ، ساده و ارزان ایجاد می کنم. شما می توانید پیدا کنید نسخه 3 کیلومتری در اینجا ، نسخه 8 کیلومتری در اینجا آنها می توانند در فاصله 3000 تا 8000 متری کار کنند و ویژگی های زیادی دارند
آموزش بلوتوث ESP32 - نحوه استفاده از بلوتوث داخلی ESP32: 5 مرحله
آموزش بلوتوث ESP32 | نحوه استفاده از بلوتوث داخلی ESP32: سلام بچه ها از آنجا که برد ESP32 مجهز به WiFi است & amp؛ بلوتوث هر دو ، اما در بیشتر پروژه های ما معمولاً فقط از Wifi استفاده می کنیم ، از بلوتوث استفاده نمی کنیم. بنابراین در این دستورالعمل ها نشان خواهم داد که استفاده از بلوتوث ESP32 چقدر آسان است & amp؛ برای پروژه های اساسی شما
شروع کار با ESP32 CAM - پخش ویدئو با استفاده از ESP CAM بر روی Wifi - پروژه دوربین امنیتی ESP32: 8 مرحله
شروع کار با ESP32 CAM | پخش ویدئو با استفاده از ESP CAM بر روی Wifi | پروژه دوربین امنیتی ESP32: امروز نحوه استفاده از این برد جدید CAM ESP32 را یاد می گیریم و چگونه می توانیم آن را کدگذاری کرده و از آن به عنوان یک دوربین امنیتی استفاده کنیم و از طریق وای فای یک ویدئوی جاری را دریافت کنیم
شروع کار با ESP32 - نصب بردهای ESP32 در Arduino IDE - کد پلک زدن ESP32: 3 مرحله
شروع کار با ESP32 | نصب بردهای ESP32 در Arduino IDE | ESP32 Blink Code: در این دستورالعمل نحوه شروع کار با esp32 و نحوه نصب بردهای esp32 در Arduino IDE را مشاهده می کنیم و esp 32 را برای اجرای کد چشمک زدن با استفاده از arduino ide برنامه ریزی می کنیم