Мазмуну:

ESP8266 жана ESP32 WiFiManager менен: 10 кадам
ESP8266 жана ESP32 WiFiManager менен: 10 кадам

Video: ESP8266 жана ESP32 WiFiManager менен: 10 кадам

Video: ESP8266 жана ESP32 WiFiManager менен: 10 кадам
Video: Использование комплекта Wi-Fi Heltec ESP32 OLED 2024, Ноябрь
Anonim
Image
Image
КАДАП ЧЫГЫП
КАДАП ЧЫГЫП

Сиз WiFiManager менен таанышсызбы? Бул зымсыз байланыш менеджери катары кызмат кылган китепкана жана анын жардамы менен биз кирүү түйүнүн жана станцияны конфигурациялоонун оңой жолуна ээ болдук. Мен бул теманы талкуулоо үчүн бир нече сунуштарды алдым; Ошентип, бүгүн мен бул китепкана жана анын функциялары менен тааныштырам. Мен ошондой эле ESP32 жана ESP8266 менен анын колдонулушун көрсөтөм.

1 -кадам: PINOUT

КАДАП ЧЫГЫП
КАДАП ЧЫГЫП

Бул жерде мен колдоно турган эки түзмөктүн PINOUTун көрсөтөм:

  • NodeMCU ESP-12E
  • NodeMCU ESP-WROOM-32

2 -кадам: WiFiManager

WiFiManager чынында зымсыз байланыштарды оңой башкаруу үчүн WiFi.h үстүнө жазылган китепканадан башка эч нерсе эмес. Унутпаңыз, анын жардамы менен биз кирүү чекитин да, станцияны да конфигурациялоого мүмкүнчүлүгүбүз чоң. Станция режими үчүн биз браузердеги портал аркылуу конфигурациялайбыз.

Кээ бир өзгөчөлүктөр:

• Бул автоматтык туташуудан көз каранды

• Автоматтык эмес конфигурация порталынын башталышы

• кош режимде тандалма иштейт

3 -кадам: Бул кантип иштейт

Бул кантип иштейт
Бул кантип иштейт
Бул кантип иштейт
Бул кантип иштейт

ESP туташканда WiFi конфигурация порталын иштетет жана конфигурация маалыматтарын туруктуу эстутумга сактайт. Кийинчерээк, конфигурация порталы ESP модулунда баскыч басылса гана кайра башталат.

Бул жерде конфигурация агымын текшерип, этап -этабы менен аткарсаңыз болот:

1. Браузер менен каалаган WiFi иштетилген түзмөктү колдонуп, жаңы түзүлгөн кирүү чекитине туташыңыз жана 192.168.4.1 дарегин киргизиңиз.

2. Экранда сиз учурдагы тармакка туташуу үчүн эки вариантка ээ болосуз:

• WiFi конфигурациялоо

• WiFi конфигурациялоо (Скандоо жок)

3. Тармактардын бирин тандап, сырсөздү киргизиңиз (керек болсо). Андан кийин сактаңыз жана ESP кайра жүктөлүшүн күтө туруңуз.

4. Жүктөөнүн аягында ESP сакталган тармакка туташууга аракет кылат. Эгер муну кыла албасаңыз, анда кирүү чекитин иштетесиз.

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 libsтин ордуна колдонобуз (ар бир чип түрү үчүн).

Кийинчерээк көрө турганыбыздай, ESP8266WiFi жана ESP8266WebServer - бул биз жүктөп алуунун кажети жок китепканалар, анткени алар ESP8266ны Arduino IDEге орноткондо эле келишет.

5 -кадам: Функциялар

Функциялар
Функциялар
Функциялар
Функциялар
Функциялар
Функциялар

Бул жерде WiFiManager бизге сунуштаган кээ бир функциялар.

1. autoConnect

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 деп коюлган. Эгер сиз билдирүүлөрдү өчүргүңүз келсе, жөн гана функцияны ЖАЛГАН кылып коюңуз.

7. setMinimumSignalQuality

SetMinimumSignalQuality функциясы сигналдын сапатына негизделген тармактарды чыпкалоо үчүн жооптуу. Демейки боюнча, WiFiManager кирүү тармактарын 8%дан төмөн көрсөтпөйт.

8. setRemoveDuplicateAPs

SetRemoveDuplicateAPs функциясы тармактын дубликаттарын алып салуу үчүн жооптуу.

Алыдын ала ЧЫНЫГЫ деп коюлган.

9. setAPStaticIPConfig

SetAPStaticIPConfig функциясы кирүү чекити режиминде статикалык дарек орнотууларын орнотуу үчүн жооптуу.

(IP, GATEWAY, SUBNET)

10. setSTAStaticIPConfig

SetSTAStaticIPConfig функциясы станция режиминде статикалык дарек орнотууларын орнотуу үчүн жооптуу.

(IP, GATEWAY, SUBNET)

Сиз автоматтык туташуудан мурун буйрукту кошушуңуз керек !!!

11. setAPCallback

SetAPCallback функциясы AP режими башталганын кабарлоо үчүн жооптуу.

Параметр - бул кайра чалуу катары көрсөтүү үчүн түзүлүшү керек болгон функция;

12. setSaveConfigCallback

SetSaveConfigCallback функциясы сизге жаңы конфигурация сакталганын жана байланыш ийгиликтүү аяктаганын маалымдоо үчүн жооптуу.

Параметр - бул түзүү функциясы жана муну артка кайтаруу катары көрсөтөт.

Сиз автоматтык туташуудан мурун буйрукту кошушуңуз керек !!!

6 -кадам: Ассамблея

Ассамблея
Ассамблея

Мисал

Биздин мисалда, биз ESP менен кирүү чекитин түзөбүз (код ESP8266 менен ESP32ге кызмат кылат). АР түзүлгөндөн кийин, биз порталга IP 192.168.4.1 аркылуу киребиз (бул ага жетүү үчүн демейки). Ошентип, келгиле, жеткиликтүү тармактарды алалы, бирин тандап, сактап коюңуз. Ал жерден, ESP кайра башталат жана ага туташууга аракет кылат, андан кийин станция катары иштейт жана мындан ары кирүү түйүнү катары иштебейт.

Станция режимине киргенден кийин, сиз ESPти Access Point режимине кнопка аркылуу гана кайтара аласыз.

7 -кадам: Код

Китепканалар

Адегенде биз колдоно турган китепканаларды аныктайлы.

Белгилей кетсек, бизде #if аныкталган, #башка жана #endif буйруктары бар. Алар шарттуу түрдө чипке тиешелүү керектүү китепканаларды камтыйт. Бул бөлүк ESP8266 менен ESP32де бир эле кодду иштетүү үчүн абдан маанилүү.

#аныкталган болсо (ESP8266)

#кошуу // ESP8266 Core WiFi китепканасы #дагы #кошуу // ESP32 Core WiFi китепканасы #endif

#аныкталган болсо (ESP8266)

#include // Жергиликтүү WebServer конфигурация порталына кызмат кылуу үчүн колдонулат

#башка

#include // Бардык сурамдарды конфигурация порталына багыттоо үчүн колдонулган жергиликтүү DNS Server (https://github.com/zhouhan0126/DNSServer---esp32)

#endif

#include // Local 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); // декларация wifiManager WiFiManager wifiManager;

// колдонулбагандан кийин, сиз конфигурациялоо үчүн, ошондой эле автоматтык түрдө // автоматтык түрдө автоматтык түрдө жаңыланышыңыз керек. // wifiManager.resetSettings (); // чалуу чалуусу конфигурацияланган AP wifiManager.setAPCallback (configModeCallback); // кайра чалуу кайра калыбына келтирилсе, же жок болсо, wifiManager.setSaveConfigCallback (saveConfigCallback); // ESP_AP комментарийлеринин тизмеси 12345678 wifiManager.autoConnect ("ESP_AP", "12345678"); }

9 -кадам: Loop

Укурукта, биз басылганын билүү үчүн баскычтын пинин окуйбуз, андан кийин AP режимин кайра иштетүү ыкмасын чакырабыз.

void loop () {

WiFiManager wifiManager; // эгерде (digitalRead (PIN_AP) == HIGH) {Serial.println ("resetar"); // порталы if 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ди алуу сыяктуу каалаган тартипти ишке ашыра алабыз.

// кайра чалуу көрсөтүлөт же ESP кирүү үчүн AP жок

жараксыз configModeCallback (WiFiManager *myWiFiManager) {// Serial.println ("Киргизилген конфигурация режими"); Serial.println ("Entrou no modo de configuração"); Serial.println (WiFi.softAPIP ()); // AP Serial.println (myWiFiManager-> getConfigPortalSSID ()) үчүн IP дареги; // SSID өчүрүү же өчүрүү

}

// кайра чалуу көрсөтүлүүдө

void saveConfigCallback () {// Serial.println ("Config сактоо керек"); Serial.println ("Configuração salva"); Serial.println (WiFi.softAPIP ()); // IP же AP үчүн кам көрүү)

Сунушталууда: