01 wifi

Depois deste passo o seu ESP32 estará ligado ao WiFi e as credenciais serão guardadas em NVS para reconexão automática no próximo reinício. Portal e MQTT vêm no passo seguinte.

Hardware:

  • Placa ESP32-C3 (DevKit, Super Mini, ou compatível)
  • Cabo USB (USB-C ou Micro-USB dependendo da sua placa)

Software:

  • PlatformIO em VS Code
  • Navegador Chrome ou Edge (Web Serial API não é suportado em Safari ou Firefox)

1. Crie platformio.ini na raiz do seu projecto:

[env:improv-demo]
platform   = espressif32
framework  = arduino
board      = esp32-c3-devkitm-1

lib_deps =
    https://github.com/jnthas/Improv-WiFi-Library.git
    bblanchon/ArduinoJson @ ^6.21.3
    knolleary/PubSubClient @ ^2.8
    densaugeo/base64 @ ^1.4.0

build_flags =
    -DIDRYER_API_BASE='"https://portal.idryer.org/api"'
    -DMQTT_BROKER='"mqtt.idryer.org"'
    -DMQTT_PORT=8883
    -DMQTT_USE_TLS=1

Substitua board pelo valor para a sua placa (esp32-c3-devkitm-1, seeed_xiao_esp32c3, etc.).

2. Copie o exemplo. Pegue no conteúdo de examples/03_with_improv/03_with_improv.ino e guarde-o como src/main.cpp no seu projecto.

3. Defina a ChipFamily. No ficheiro copiado, encontre a linha:

s_improv.setDeviceInfo(ImprovTypes::ChipFamily::CF_ESP32_C3, ...);

Certifique-se de que a ChipFamily corresponde ao seu chip: CF_ESP32_C3, CF_ESP32_S3, ou CF_ESP32.

4. Flash:

pio run -e improv-demo -t upload

5. Abra improv-wifi.com/serial em Chrome ou Edge. Clique em Connect e seleccione a porta USB do dispositivo a partir da caixa de diálogo do navegador.

6. Introduza o SSID e a palavra-passe da sua rede 2,4 GHz. A página web enviará as credenciais para a placa via Serial-Improv. A placa guardá-las-á em NVS.

Abra o Serial Monitor:

pio device monitor -b 115200

Após uma conexão bem-sucedida verá:

[BOOT] WiFi connected, Improv done
[BOOT] IP: 192.168.1.42  RSSI: -47 dBm

Se esta linha não aparecer, consulte a ligação de resolução de problemas abaixo.

Note

Se as credenciais já estão guardadas em NVS de uma execução anterior, a placa liga-se ao WiFi no arranque automaticamente — Improv não é necessário.