Руководство по настройке BluFi
Руководство по настройке BluFi
В этом документе описано, как включить и использовать BluFi (настройка Wi-Fi через BLE) в прошивке XiaoZhi. Подключение к Wi-Fi и хранение учётных данных обеспечивает входящий в репозиторий компонент esp-wifi-connect. Подробности протокола см. в официальной документации Espressif по BluFi.
Предварительные условия
- Чип и конфигурация прошивки должны поддерживать BLE.
- В
idf.py menuconfigвключитеWiFi Configuration Method -> ESP-BluFi(CONFIG_USE_ESP_BLUFI_WIFI_PROVISIONING=y). Чтобы использовать BluFi, отключите в этом же меню пункт Hotspot: иначе по умолчанию побеждает настройка через точку доступа. - Оставьте без изменений стандартную инициализацию NVS и цикла событий в
app_mainпроекта. - Из
CONFIG_BT_BLUEDROID_ENABLEDиCONFIG_BT_NIMBLE_ENABLEDдолжен быть выбран ровно один: они взаимно исключают друг друга.
Порядок работы
- Телефон (официальное приложение EspBlufi или другой клиент BluFi) подключается к устройству по BLE и отправляет SSID и пароль целевой сети Wi-Fi. Через протокол BluFi телефон может также запросить список сетей Wi-Fi, найденных устройством.
- В обработчике
ESP_BLUFI_EVENT_REQ_CONNECT_TO_APустройство сохраняет учётные данные вSsidManager(компонентesp-wifi-connectзаписывает их в NVS). - Затем устройство запускает
WifiStationдля поиска сети и подключения; ход выполнения передаётся обратно по BluFi. - При успешной настройке устройство автоматически подключается к новой сети Wi-Fi. При ошибке в ответ отправляется статус ошибки.
Шаги
- Конфигурация: включите
ESP-BluFiв menuconfig, затем соберите и прошейте прошивку. - Запуск настройки: при первом включении без сохранённых данных Wi-Fi устройство автоматически переходит в режим настройки.
- На стороне телефона: откройте приложение EspBlufi (или другой клиент BluFi), найдите устройство и подключитесь к нему, при необходимости включите шифрование, затем введите SSID и пароль Wi-Fi и отправьте их.
- Проверка результата:
- Успех: BluFi сообщает об успехе, устройство подключается к Wi-Fi.
- Ошибка: BluFi сообщает об ошибке; повторите попытку или проверьте роутер.
Примечания
- BluFi нельзя использовать одновременно с настройкой через точку доступа. Если настройка через точку доступа включена, устройство будет использовать её. Оставьте в menuconfig только один способ настройки.
- При повторных проверках очищайте или перезаписывайте сохранённый SSID (пространство имён NVS
wifi), чтобы устаревшие данные не влияли на следующий запуск. - Если вы пишете собственный клиент BluFi, следуйте формату кадров протокола из официальной документации по ссылке выше.
- Ссылки на загрузку приложения EspBlufi приведены в официальной документации.
- Устройство объявляет имя Bluetooth
Xiaozhi-Blufi(задаётся вESP_BLUFI_EVENT_INIT_FINISH). Прежняя прошивка, собранная на ESP-IDF 5.5.1, использовалаBLUFI_DEVICE; для текущей прошивки нужен ESP-IDF v6.0.1 или новее.
Источник: docs/blufi.md в 78/xiaozhi-esp32