Přeskočit na hlavní obsah

Workshop: ESP-IDF a ESP32-C6 - Úkol 5

·2 min·

Úkol 5: Wi-Fi provisioning
#

Wi-Fi provisioning je jedním z nejdůležitějších aspektů jakéhokoli IoT zařízení. Když si domů přinesete třeba chytrou zásuvku, také nemusíte od výrobce stahovat kód a ručně měnit SSID a heslo, ale všechno je řešené zpravidla přes nějakou aplikaci, která všechny tyhle údaje zásuvce poskytne. Zpravidla procházíme Wi-Fi provisioningem jen jednou při počátečním nastavení našeho zařízení, ale může se hodit i v situaci, kdy dojde např. k továrnímu resetu.

Existuje několik metod, jak Wi-Fi provisioning zajistit. Některá zařízení lze do tzv. provisioning módu přepnout stiskem nějakého tlačítka, jiná fungují přes zmíněnou aplikaci nebo webovou stránku, a některá podporují automatický provisioning pomocí jiné technologie, třeba Bluetooth Low Energy (BLE).

ESP32 samozřejmě tuhle možnost také podporuje. Můžete se s ní setkat v projektech, jakými je třeba náš ESP RainMaker.

Praktická ukázka, jak na Wi-Fi provisioning
#

V předchozím úkolu jsme si ukázali, jak s pomocí NVS nastavit a přečíst údaje z flash paměti. Oproti zapisování údajů napevno do kódu to je jistě pokrok, ale ruční zapisování údaju do flash paměti pořád není zrovna pohodlné.

Teď si ukážeme, jak s pomocí mobilního telefonu s Androidem nebo iOS nastavit Wi-Fi údaje přes BLE.

  1. Instalace mobilní aplikace

Nejdříve si potřebujete stáhnout aplikaci pro BLE provisioning:

  1. Vytvoření nového projektu

Vytvoříme nový projekt s využitím příkladu provisioning -> wifi_prov_mgr. Buď lze vytvořit pomocí příkazu níže:

idf.py create-project-from-example "espressif/network_provisioning^1.0.2:wifi_prov"

…nebo pomocí GUI:

  1. Otevřeme si ESP-IDF Component Registry
  2. Vyhledáme espressif/network_provisioning
  3. Najedeme do záložky Examples
  4. Vybereme wifi_prov
  5. A zvolíme Create Project from this Example. V následujícím okně již stačí jen zvolit, kam projekt uložíme.

Pro vaše existující projekty můžete použít komponentu espressif/network_provisioning.

idf.py add-dependency "espressif/network_provisioning^0.2.0"
  1. Build, flash, a monitor

V příkladu nebudeme nic měnit, jen ověříme, že máme správný target, vymažeme flash paměť (příkazem Erase Flash), aplikaci sestavíme (build) a naflashujeme.

Pokud jste přidávali komponenty manuálně (přes CLI), budete potřebovat nejprve vyčistit projekt, aby se vše korektně sestavilo:

idf.py fullclean

Po sestavení a nahrání aplikace si otevřeme ESP-IDF Serial Monitor.

  1. Provisioning

V aplikaci ESP BLE provisioning na vašem mobilním telefonu následujte kroky tak, jak jsou zobrazené níže:

QR kód vám vaše vývojová deska vypíše do seriové linky (seriový monitor otevřete příkazem Monitor v ESP-IDF Exploreru).

Poté, co se dokončí provisioning proces, se zařízení připojí ke zvolené Wi-Fi síti.

Další krok
#

Když už víme, jak se jednoduše připojovat na Wi-Fi, pojďme si to udělat bezpečnější!

Úkol 6: Protokoly

Related

Workshop: ESP-IDF a ESP32-C6 - Úkol 2
·10 min
Workshop: ESP-IDF a ESP32-C6 - Úkol 4
·6 min
Workshop: ESP-IDF a ESP32-C6 - Úkol 6
·5 min