ESPShell для Ардуино :: WiFi и сети

[ На русском ] ↔ [ English ]

WiFi в ESP32

Большинство чипов Espressif оснащены встроенным модулем WiFi. Этот модуль разработан сторонними специалистами, поэтому значительная часть исходного кода, связанного с драйвером WiFi, недоступна. Вместо исходников поставляются только скомпилированные библиотеки и заголовочные файлы. При инициализации WiFi происходит загрузка микрокода во внутренний FPGA, который реализует всю функциональность беспроводного интерфейса.

Некоторые микроконтроллеры Espressif не имеют встроенной поддержки WiFi, а, например, ESP32-P4 использует конфигурацию с двумя MCU, где один из них выполняет роль WiFi-модуля (сам ESP32-P4 встроенного WiFi не имеет). Внимание: ESPShell поддерживает работу лишь с чипами, у которых WiFi встроен аппаратно (например ESP32, ESP32-S3, ESP32C6).

Пользовательские скетчи Arduino обычно используют «стандартную» библиотеку WiFi для ESP32, которая представляет собой обертку для ESP-IDF API. ESPShell не конфликтует с такими скетчами, т.к. хоть ничего и не знает про WiFi Library, но пользуется тем же самым API и не хранит указателей на интерфейсы или их настройки: если WiFi был инициализирован в коде скетча, шелл корректно взаимодействует с уже работающим интерфейсом. Более того, один из основных сценариев использования ESPShell — это возможность менять сетевые настройки на лету: переопределять IP-адреса, пароли и имена сетей прямо во время работы пользовательского приложения. Если же пользовательский скетч ничего не знает про WiFi и его инициализацию, но хочет использовать BSD sockets API, то можно вручную сконфигурировать сетевые подключения и продолжить выполнение скетча (прервать скетч можно нажав Ctrl+C, а продолжить его выполнение - командой "resume").

Все взаимодействие с WiFi представлено в ESPShell в виде двух сетевых интерфейсов: AP и STA, а так же нескольких команд общего назначения, которые начинаются с "wifi" (например "wifi storage flash")

Сетевые интерфейсы: AP и STA

ESPShell поддерживает два сетевых WiFi-интерфейса: один называется sta (Station) а другой - ap (Access Point). Интерфейс sta используется для подключения к существующей сети (например, для доступа в интернет), а ap — для создания собственной точки доступа. Оба интерфейса можно использовать одновременно, что позволяет, например, организовать маршрутизацию и трансляцию адресов — так ESP32 может работать в режиме WiFi-удлинителя.

Как и в случае с другими интерфейсами ESP32, работа с WiFi начинается с перехода в нужный режим. Для этого выполните команду wifi sta или wifi ap:

  esp32#>wifi sta
  esp32-sta>
  esp32#>wifi ap
  esp32-ap>

Список команд, доступных для интерфейса STA:

esp32-sta>?
% Enter "? COMMAND" to view details about a specific command.
% Enter "? keys" to display the ESPShell keyboard help page.
%
% ?           : Commands list & help
% up          : Initialize and start WiFi interface
% down        : Shutdown WiFi interface
% scan        : WiFi scan
% ntp         : SNTP settings
% mac         : MAC settings (STAtion)
% hostname    : Host name
% ip          : IP information
% exit        : Exit
esp32-sta>
Помимо привычных up и down (которые присутствуют в каждом интерфейсе, поддерживаемом espshell: SPI, UART, I2C и пр.) так же доступны команды установки\получения IP адреса, установка MAC адреса, WiFi сканер и NTP клиент для синхронизации времени.

Интерфейс AP в целом похож, но присутствуют дополнительные команды для настройки DHCP сервера, NAT-маршрутизатор и некоторые другие:

esp32-ap>?
% Enter "? COMMAND" to view details about a specific command.
% Enter "? keys" to display the ESPShell keyboard help page.
%
% ?           : Commands list & help
% up          : Initialize and start WiFi interface
% down        : Shutdown WiFi interface
% scan        : WiFi scan
% mac         : MAC settings (Access Point)
% hostname    : Host name (per interface)
% dhcp        : DHCP server settings
% ip          : IP information
% natp        : NAT/P settings
% kick        : Deauthenticate clients
% exit        : Exit
esp32-ap>

Чтобы выйти из режима конфигурации WiFi, используйте команду exit (или нажмите Ctrl+Z). Понять, в каком режиме конфигурирования (STA или AP) вы сейчас находитесь можно по промпту: для AP промпт содержит "-ap" а для STA, соответственно, "-sta"

Отображение информации об интерфейсах и сетях

Для просмотра состояния и параметров WiFi-интерфейса используется команда show wifi с нужным параметром:

  esp32#>show wifi ap      ← информация об интерфейсе AP
  esp32#>show wifi sta     ← информация об интерфейсе STA
  esp32#>show wifi clients ← информация о клиентах (STA) на нашей точке доступа
Этак команда, хоть и находится в основном каталоге команд (промпт "esp32#>"), может быть использована и в режиме конфигурирования AP или STA - выходить ("exit") каждый раз, когда нужно глянуть IP адрес или состояние соединения не нужно.

Ниже показан пример вывода команды show wifi sta при отсутствии соединения. Строка «Configured:» отображает информацию, считанную из flash-памяти (если она была туда сохранена ранее командой wifi storage flash).

show wifi sta down
Рис. 1: Вывод команды show wifi sta (соединение не установлено)

Пример: установление соединения с точкой доступа

Прежде чем переходить к подробному описанию команд, попробуем подключиться к одной из доступных точек доступа. Для этого войдём в режим конфигурации WiFi-станции (STA):

  esp32#>wifi sta
  esp32-sta>
В этом режиме становятся доступны команды для настройки параметров WiFi-станции — имени сети, пароля, IP- и MAC-адресов, маски сети, DNS-серверов и прочего. Полный список команд можно увидеть, выполнив ? (знак вопроса):

WiFi STA commands list
Рис. 2: Список доступных команд в режиме STA

Чтобы просмотреть список доступных WiFi-сетей и их характеристики, используйте команду scan. Она выполняет сканирование (активное или пассивное, в зависимости от параметра) и выводит найденные сети:

esp32-sta>scan
% Starting active WiFi scan (obtaining a list of available networks)...
% # |Ch| Network Name (SSID)             | AP MAC (BSSID) | RSSI | Security
% --+--+---------------------------------+----------------+------+--------------
% 1 | 7| SomKiat Suksamran               | CC50:0AC2:3E44 | -60  | * WPA1/2
% 2 |13| TECNO SPARK 20 Pro              | 623A:D9D7:FCD9 | -62  | * WPA2
% 3 | 3| Cherish_2.4G                    | E4FA:C45F:DCFF | -63  | * WPA2
% 4 | 1| ORNSHOUSE_2.4GHz                | 3E93:F42D:9DEC | -76  | * WPA1/2
% 5 | 5| hidden                          | 6420:E063:B383 | -84  | * WPA2
% 6 |13| hidden                          | 6420:E387:C756 | -86  | * WPA2
% 7 |13| Nonginin_2.4G                   | 6620:E317:C756 | -86  | * WPA2
% 8 | 1| ORNSHOUSE_2.4GHz                | CA9F:1A90:1F30 | -91  | * WPA1/2
% 9 |11| VR CHINA EXPRSS                 | 6CA5:D11F:99B5 | -91  | * WPA1/2
% 10| 9| hidden                          | 9CA2:F401:A666 | -92  | * WPA2
% 11| 4| hidden                          | 6420:E386:23FE | -93  | * WPA2
% 12| 4| TrueGigatexFiber_2.4G_3FA       | 6620:E316:23FE | -93  | * WPA2
% 13| 9| GWF @aonang                     | 9EA2:F421:A666 | -93  | * WPA2
% 14|11| Get Well Fitness@aonang         | 9056:DE3F:0A06 | -93  | * WPA1/2
% 15| 7| Eud Service_2.4                 | F4E8:4F4E:66F0 | -94  | * WPA1/2
%
% Total: 15 access points
%
% Legend ("security" column):
%"*" : PSK (Preshared key)
%"+" : PSK (Preshared key, mixed mode)
%"$" : ENT (Enterprise security)
%"-" : OPEN (Open access)
% Scanning took 3.63 seconds
esp32-sta>
Выберем сеть «SomKiat Suksamran» и подключимся к ней с паролем Klong1414. Обратите внимание, что имя сети записано в кавычках — это необходимо, если в SSID есть пробелы. Без кавычек шелл воспримет каждое слово как отдельный аргумент команды. Как и в других интерфейсах ESPShell (например, UART или I2C), интерфейс активируется командой up. У неё несколько параметров: первый — имя или MAC-адрес точки доступа, второй — пароль (если он есть), третий — auto-reconnect, включающий автоматическое восстановление соединения при обрыве.
esp32-sta>up "SomKiat Suksamran" Klong1414 auto
% Connect to a network using SSID
% Auto-reconnect enabled
% WIFI STA: Connected to the network. Configuring IP..
% Interface WIFI STA got IP 192.168.1.5, mask 255.255.255.0, gw 192.168.1.1 (changed)
% WIFI STA: propagating DNS servers to the AP interface..
Команда up выполняется асинхронно — процесс подключения идёт в фоне. О факте установления соединения можно узнать по сообщениям шелла или по выводу команды show wifi sta.

show wifi sta
Рис. 3: Вывод команды show wifi sta — соединение установлено

Сканирование WiFi сети

Сканирование применяется для получения списка доступных сетей, а так же - параметров той или иной точки доступа.

ESP32 поддерживает два режима сканирования: активное (команда scan) и пассивное (команда scan passive). При активном сканировании в эфир отправляются WiFi Probe Request, и это режим по умолчанию — команда scan без параметров выполняет именно активное сканирование. Если добавить аргумент passive, ESPShell выполнит пассивное сканирование: никаких пакетов в эфир не отправляется, устройство просто «слушает» эфир и собирает информацию о найденных точках доступа.

  esp32-ap>scan passive
  % # |Ch| Network Name (SSID)             | AP MAC (BSSID) | RSSI | Security
  % --+--+---------------------------------+----------------+------+--------------
  % 1 | 4| Cherish_2.4G                    | E4FA:C45F:DCFF | -72  | * WPA2
  % 2 | 7| SomKiat Suksamran               | CC50:0AC2:3E44 | -72  | * WPA1/2
  % 3 | 6| ORNSHOUSE_2.4GHz                | 3E93:F42D:9DEC | -83  | * WPA1/2
  % 4 | 9| Rungrojch_2.4GHz_F3-4           | 50C7:BF94:0572 | -89  | * WPA
  % 5 | 6| Kittichai_2.4G                  | 30C5:0F38:A05C | -90  | * WPA1/2
  %
  % Total: 5 access points
  %
  % Legend ("security" column):
  %"*" : PSK (Preshared key)
  %"+" : PSK (Preshared key, mixed mode)
  %"$" : ENT (Enterprise security)
  %"-" : OPEN (Open access)
  % Scanning took 3.3 seconds
  esp32-ap>

Если передать команде scan аргумент bssid и MAC-адрес точки доступа (отображается в выводе команды scan в колонке BSSID), можно получить расширенную информацию о конкретной сети:

esp32-ap>scan bssid CC50:0AC2:3E44
% Starting active WiFi scan (obtaining details for the BSSID)...
%Information on AP "SomKiat Suksamran" (BSSID: CC50:0AC2:3E44)
%
% Security: [* WPA1/2], Pairwise cipher: TKIP_CCMP, Group cipher: TKIP
% WPS is not supported
% Channels: 7 (primary), secondary channel is above primary
%
% Signal power (RSSI): -60 dBm, used antenna#0
% Bandwidth: 40MHz
% PHY enabled modes: 802.11bgn
%
% FTM role: no support for Fine Time Measurement
% Scanning took 3.43 seconds
esp32-ap>
Команда сканирования доступна для обоих интерфейсов (т.е. может быть выполнена в любом из конфигурационных режимов - STA, AP, AP+STA)

Синхронизация времени по NTP

При конфигурировании WiFi есть возможность запустить NTP-клиента, который будет переодически синхъронизировать время с удаленным сервером. Адреса NTP серверов по умолчанию получаются от DHCP сервера. Если получить адреса NTP серверов от DHCP не удалось, то будут использованы статические сервера time.windows.com и pool.ntp.org. Если получить адрес NTP сервера по DHCP удалось, то в добавление к адресу полученному от DHCP сервера, так же будут добавлены два статическиъ сервера (time.windows.com и pool.ntp.org).

Можно сконфигурировать только статические адреса NTP серверов. В таком случае предложение от DHCP сервера будет проигнорировано. Данная версия поддерживает до трех NTP серверов: один может быть поолучен от DHCP сервера а два других (или все три!) могут быть сконфигурированы статически.

По умолчанию NTP клиент остановлен и для его запуска надо выполнить команду "ntp enable" на одном из WiFi интерфейсов. Команда "ntp" может обрабатывать последовательность аргументов: вместо

  esp32-sta>ntp dhcp
  esp32-sta>ntp enable
можно написать:
  esp32-sta>ntp dhcp enable
Для того, чтобы получать адреса NTP от DHCP нужно выполнить команду "ntp dhcp". Для того, чтобы использовать свои адреса NTP нужно выполнить команду "ntp pool.ntp.org": имя сервера приведено для примера. Вместо имен серверов можно использовать IP адреса
Пример: задаем три статических сервера, предварительно остановив сервис

  esp32-sta>ntp disable 1.1.1.1 time.windows.com 2.2.2.2
Для того, чтобы задать и DHCP сервера и статические вместе, следует использовать такой синтаксис команды:
Пример: задаем 2 статических сервера, и один по DHCP

  esp32-sta>ntp 1.1.1.1 time.windows.com dhcp
Обратите внимание, что для случая со смешанными серверами NTP, ключевое слово "dhcp" в команде "ntp" ставится ПОСЛЕ статических адресов! Если же сделать наоборот, то есть написать что-то вроде "ntp dhcp 1.1.1.1", то ключевое слово dhcp будет проигнорировано.
  esp32-sta>ntp 1.1.1.1 time.windows.com dhcp   ← правильное задание статических и динамических серверов
  esp32-sta>ntp dhcp 1.1.1.1 time.windows.com   ← "dhcp" будет проигнорировано!

Если соединение WiFi установлено, IP адрес получен и NTP серверы сконфигурированы, то через несколько секунд появится сообщение о том, что время синхзронизировано. Удостовериться в этом можно командой "show time", главное - не забыть установить Time Zone (командой "time zone +3" если у вас смещение равно трем часам)

  esp32-ap>time zone +7 hours
  esp32-ap>sh ti
  % Today is: 23 of November (Sunday) 18:43:41 ,year 2025 (UTC-07:00)
  % Time source is NTP, synchronized.
  esp32-ap>

Команды (синтаксис и примеры) интерфейса STA (WiFi клиент)

Работа со STA-интерфейсом начинается с команды wifi sta. Рекомендуется выполнять настройку интерфейса до подключения к сети — особенно если вы планируете использовать статический IP-адрес. Изменить IP можно и после подключения, но это приведёт к переподключению.

КомандаОписание

ip

ip address ADDRESS/PREFIX | dhcp [dns ADDRESS | gw ADDRESS]*

Задаёт статический или динамический IP-адрес, маску сети, шлюз по умолчанию и DNS-серверы.

По умолчанию на STA-интерфейсе включён DHCP-клиент, что эквивалентно команде:

  esp32-sta>ip address dhcp
Эта команда указывает шеллу, что все сетевые параметры (адрес, маска, DNS и шлюз по умолчанию) будут получены от DHCP-сервера точки доступа. Если же нужно задать статический адрес, команда будет выглядеть так:
  esp32-sta>ip address 192.168.0.2/24 gw 192.168.0.1
Маска сети указывается в формате CIDR (в примере — /24), то есть через длину префикса. В ESPShell не используются привычные записи масок вроде 255.255.255.0. Если маску не указать, она считается равной /32 (255.255.255.255). При попытке установить такой адрес интерфейс автоматически скорректирует маску до /24. Маска /32 обычно используется в PPP-соединениях, которые ESPShell пока не поддерживает.

Если задать статический IP без указания маршрута по умолчанию (gw A.B.C.D), шелл автоматически подставит шлюз A.B.C.1 — то есть заменит последний октет на 1.

Оба примера ниже эквивалентны:

  esp32-sta>ip address 192.168.0.2/24 gw 192.168.0.1
  esp32-sta>ip address 192.168.0.2   ← маска /24, шлюз 192.168.0.1

Другой пример: получать настройки от DHCP-сервера, но использовать статические DNS-серверы Google:

  esp32-sta>ip address dhcp dns 8.8.8.8 dns 4.4.4.4
Чтобы задать два DNS-сервера (основной и резервный), перед каждым адресом добавляется ключевое слово dns.

up

up [NETWORK_NAME_OR_MAC [PASSWORD [auto-reconnect]]]

Включает интерфейс (подключается к точке доступа). Команду up без параметров можно использовать для повторного подключения, если ESPShell помнит параметры предыдущего успешного соединения (см. wifi storage flash).

Обычно указываются два параметра — имя сети (или MAC, если SSID скрыт) и пароль. Для открытых сетей пароль можно опустить или указать пустые кавычки "".

Примеры:

  esp32-sta>up McDonalds_FREE                    - без пароля  
  esp32-sta>up McDonalds_FREE "" auto-reconnect  - без пароля, с авто-переподключением  
  esp32-sta>up McDonalds myPaSsword              - с паролем  
  esp32-sta>up McDonalds myPaSsword auto-reconnect - с паролем и авто-переподключением

down

down

Отключает интерфейс: прерывает процесс подключения или разрывает активное соединение.

mac

mac MAC_ADDRESS

Задаёт новый MAC-адрес. Изменить MAC можно «на лету», но если STA-интерфейс уже подключён, смена адреса вызовет переподключение.

Шелл принимает разные форматы записи, например: AA:BB:11:22:33:44, aaBB:1234:56Ff или 001122334455 — все они корректны.

Пример:

  esp32-sta>mac 0044:afaf:dead
Нельзя задать MAC, совпадающий с уже используемым (например, у AP-интерфейса). Также не допускаются адреса, у которых установлен младший бит первого байта (адрес 0133:3333:3333 — некорректен, 0233:3333:3333 — корректен). Широковещательные адреса также не могут использоваться в качестве MAC интерфейса.

hostname

hostname TEXT

Задаёт новый hostname. В реализации от Espressif мы имеем уникальный hostname на каждом сетевом интерфейсе.

Пример:

  esp32-sta>hostname mars.local

Пример: создаем точку доступа и роутер

Самый простой способ создать точку доступа (AP) - это войти в режим wifi ap, и выполнить команду "up". У команды "up" есть один обязательный и два необязательных параметра: имя создаваемой сети, пароль и максимальное количество клиентов, которым разрешено подключение. Пример:

  esp32-ap>up Barmalei78 MyP@ssworT max-conn 4
Эта команда создает WiFi сеть "Barmalei78" с паролем MyP@ssworT и максимальным количеством соединений равным четырем (это же число является значением по умолчанию). Пример создания сети без пароля, на одного клиента:
  esp32-ap>up Barmalei78 "" max-conn 1
Если параметр max-conn нам не нужен, то для сети без пароля можно ограничится командой
  esp32-ap>up Barmalei78
Как и в случае со STA , команда "up" может быть выполнена и вовсе без аргументов, при условии, что шелл запомнил прежнюю рабочую конфигурацию

По умолчанию точка доступа сконфигурирована со следующими параметрами:

После выполнения команды "up" ESP32 создает SoftAP (точку доступа) и начинает передавать в эфир название сети (SSID): можно подключаться. Обратите внимание, что смена mac адреса точки доступа возможна лишь в случае, когда точка доступа запущена и слышна в эфире: т.е. сначала "up" а уж потом - "mac". Такое поведение специфично для интерфейса AP. На интерфейсе STA менять mac адрес можно когда заблагорассудится

Хорошо, создали мы точку доступа, скажем, Barmalei78 с такими параметрами:

  esp32-ap>up Barmalei78 PaSSword1923 max-conn 2
Можно ли создать маршрутизатор, если мы оживили оба интерфейса (STA и AP)? Да, можно. Для этого всего лишь нужно включить NAT на интерфейсе AP: делается это одной командой
  esp32-ap>nat enable
Теперь, если STA интерфейс подключен к Интернет, то клиенты нашей точки доступа (на интерейсе AP) так же будут иметь доступ в Интернет.

Пример: Подключиться интерфейсом STA к интернету (сеть "SomKiat Suksamran", password: "Khlong1822"), а интерфейсом AP раздавать интернет пользователям. Раздавать интернет без пароля, а название сети будет "FreeWiFi".

  esp32#>wifi sta
  esp32-sta>up "SomKiat Suksamran" Khlong1822
  esp32-sta>exit

  esp32#>wifi ap
  esp32-ap>up FreeWiFi
  esp32-ap>nat enable
  esp32-ap>exit

Команды (синтаксис и примеры) интерфейса AP (Точка доступа)

Работа с AP-интерфейсом начинается с команды wifi ap.

КомандаОписание

ip

ip address ADDRESS/PREFIX [dns ADDRESS]*

Задаёт статический или динамический IP-адрес, маску сети и DNS-серверы; задать шлюз по умолчанию так же возможно, через парамер gw как и в STA интерфейсе, но это , скорее всего, приведет к неработоспособности клиентов.

Обратите внимание: если не задать DNS, то, по умолчанию DNS адрес будет установлен таким же, как адрес интерфейса. В таком случае, при установлении соединения по интерфейсу STA, настройки DNS серверов, полученные интерфейсом STA будут распостранены и на интерфейс AP. Чтобы запретить автоматическое изменение DNS серверов на интерфейсе AP, следует задать их явно, при задании IP адреса:
  esp32-ap>ip address 192.168.4.1/24 dns 8.8.8.8
Если же адрес задать так:
  esp32-ap>ip address 192.168.4.1/24
то DNS сервер будет установлен в 192.168.4.1, но как только STA интерфейс установит соединение и получит значения DNS серверов по DHCP, настройки DNS AP тут же будут изменены. Такое поведение необходимо для работы в режиме маршрутизатора. Так же, как и в интерфейсе STA, маска сети указывается в формате CIDR (в примере — /24), то есть через длину префикса.

up

up [NETWORK_NAME [PASSWORD [max-conn NUM]]]

Включает интерфейс (создает точку доступа). Команду up без параметров можно использовать для повторного подключения, если ESPShell помнит параметры предыдущего успешного соединения (см. storage).

Обычно указываются два параметра — имя сети и пароль. Для открытых сетей пароль можно опустить или указать пустые кавычки "". Дополнительно можно указать максимальное количество подключений к вашей точке, воспользовавшись ключевым словом max-conn (по умолчанию max-conn равен 4)

Примеры:

  esp32-ap>up McDonalds_FREE                    - Открытая сеть, без пароля, макс. 4 клиента
  esp32-ap>up McDonalds_FREE "" max-conn 1      - без пароля, 1 клиент
  esp32-ap>up McDonalds myPaSsword              - с паролем  

down

down

Отключает интерфейс: выключает точку доступа, разрывает все установленные клиентами соединения.

mac

mac MAC_ADDRESS

Задаёт новый MAC-адрес. Интерфейс должен быть "up", для того, чтобы можно было менять MAC адрес (это ограничение драйвера WiFi)

Шелл принимает разные форматы записи, например: AA:BB:11:22:33:44, aaBB:1234:56Ff или 001122334455 — все они корректны.

Пример:

  esp32-sta>mac 0044:afaf:dead
Нельзя задать MAC, совпадающий с уже используемым (например, у STA-интерфейса). Также не допускаются адреса, у которых установлен младший бит первого байта (адрес 0133:3333:3333 — некорректен, 0233:3333:3333 — корректен). Широковещательные адреса также не могут использоваться в качестве MAC интерфейса.

hostname

hostname TEXT

Задаёт новый hostname. В реализации от Espressif мы имеем уникальный hostname на каждом сетевом интерфейсе.

Пример:

  esp32-sta>hostname snikers.local

dhcp

dhcp enable | disable

dhcp A.B.C.D [COUNT]

Включить \ выключить DHCP сервер, задать диапазон выдаваемых клиентам IP адресов. Настройки по умолчанию:

  esp32-ap>dhcp 192.168.4.2 15    ← выдавать адреса 192.168.4.2 ... 192.168.4.17
  esp32-ap>dhcp enable            ← включить DHCP сервер

nat

nat enable | disable

Включить \ выключить NAT. Настройки по умолчанию:

  esp32-ap>nat disable
При включенном NAT, работающей точке доступа и установленному соединению на STA интерфейсе, ESP32 превратится в маленький маршрутизатор, способный выдавать около 14мбит\сек работая удлинителем WiFi.

kick

kick all | AID

Отключить (деаутентифицировать) станцию с идентификатором AID (число от 1 до 65535, выводится в колонке "AID" команды "show wifi clients") или, если вместо идетификатора станции указано ключевое слово "all", все подключенные станции.

  esp32-ap>kick all
  esp32-ap>kick 1
  esp32-ap>kick 4

Отображение информации о клиентах

Для просмотра списка клиентов можно воспользоваться командой "show wifi clients". Команда выведет на экран список клиентов аутентифицированных нашей точкой доступа. Вывод команды выглядит следующим образом:

show wifi clients
Рис. 4: Вывод команды show wifi clients

Запоминание настроек

По умолчанию WiFi хранит все пользовательские настройки в памяти (RAM). Это означает, что при перезагрузке эти данные будут потеряны и их придется вводить заново: имя сети, пароль, IP адрес и .т.п. Чтобы эту информацию не терять, следует воспользоваться командой "wifi storage flash". После выполнения этой команды драйвер будет запоминать WiFi настройки и конфигурацию во внутренней flash памяти и считывать ее при перезагрузке. Режим "wifi storage flash" нужно включать каждый раз после перезагрузки процессора: при перезагрузке значение "storage" всегда устанавливается в "ram".

ESPShell не активирует интерфейсы при старте, даже если знает пароли и имена сетей: это делает только пользователь и только вручную, посредством комманд "up" и "down". ESPShell будет хранить настройки во flash, и будет считывать их. Но для применения нужно будет исполнить команду "up" без параметров.

  esp32#>wifi storage ram      ← значение по умолчанию: все хранится в RAM
  esp32#>wifi storage flash    ← все хранится во FLASH

Требования к ресурсам (память)