ESP32-Cam jako Access point

20.12.2020 Arduino #esp32 #arduino #programování #accesspoint

Při využití ESP32-Cam pro streamování ve veřejné síti je problém s vysokou latencí. Pro některé aplikace si ovšem vystačíme s přímím spojením pomocí Access Pointu ze samotné desky ESP32-Cam.


Přístupový bod vs stanice

V předchozím projektu webového serveru ESP32-CAM byla připojena ESP32-CAM k bezdrátovému routeru. V této konfiguraci lze k desce ESP32-CAM přistupovat prostřednictvím místní sítě. Takže se využívá router jako přístupový bod a deska ESP32-CAM je nastavena jako stanice. Abyste mohli ovládat a přistupovat k webovému serveru ESP32-CAM, musíte být připojeni k routeru (místní síti).

01-esp32-cam-station

V některých případech to nemusí být nejlepší konfigurace (pokud nemáte poblíž router). Pokud ale nastavíte desky ESP32-CAM jako přístupový bod (hotspot), lze se připojit pomocí libovolného zařízení s funkcí Wi-Fi, aniž byste se museli připojovat k routeru.

02-esp32-cam-access-point

V zásadě platí, že když se nastaví ESP32-CAM jako přístupový bod, vytvoří se vlastní síť Wi-Fi a mohou se k ní připojit blízká zařízení (stanice) Wi-Fi (například smartphone nebo počítač).

Měkký přístupový bod

Protože se ESP32-CAM dále nepřipojuje ke kabelové síti (jako je váš router), nazývá se soft-AP (soft access point).

To znamená, že pokud se pokusíte načíst knihovny nebo použít firmware z internetu, nebude to fungovat (například včetně knihoven JavaScript). Také to nefunguje, pokud se pokusíte odeslat požadavky HTTP na služby na internetu (například poslat e-mail s fotografií).

ESP32-CAM Video Web Server Přístupový bod (AP)

V tomto příkladu je uvedeno nastavení ESP32 jako přístupového bodu. Využije se k tomu projekt CameraWebServer, který je dodáván s Arduino IDE.

Ve prostředí Arduino IDE přejděte na Soubor > Příklady > ESP32 > Fotoaparát > CameraWebServer .

Poté kód se upraví kód tak, aby fungoval jako přístupový bod.

Upravte SSID a heslo

Pro přístup k přístupovému bodu ESP32-CAM se musí definovat název SSID a heslo. V tomto příkladu se nastavuje název ESP32 SSID na SP32-CAM. Název lze upravit, jak chcete. Heslo je 12345678, ale můžete a měli byste jej také upravit.

const char* ssid = "ESP32-CAM";
const char* password = "12345678";

Nastavení ESP32-CAM jako přístupového bodu

setup(), odstraňte následující řádky (nastavte ESP32 jako stanici):

WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
  delay(500);
  Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");

Přidejte následující a nastavte ESP32 jako přístupový bod pomocí metody softAP():

WiFi.softAP(ssid, password);

Existují také další volitelné parametry, které lze předat metodě softAP(). Zde jsou všechny parametry:

softAP(const char* ssid, const char* password, int channel, int ssid_hidden, int max_connection)
  • ssid: maximálně 63 znaků;
  • password: minimálně 8 znaků; nastavte na NULL, pokud chcete, aby byl přístupový bod otevřený
  • channel: Číslo kanálu Wi-Fi (1-13)
  • ssid_hidden: (0 = SSID vysílání, 1 = skrýt SSID)
  • max_connection: maximální počet současně připojených klientů (1-4)

Připojení k přístupovému bodu ESP32-CAM

Po nahrání kódu se lze připojit k přístupovému bodu ESP32-CAM a získat přístup k webovému serveru.

Ve smartphonu otevřete nastavení Wi-Fi a klepněte na síť přístupového bodu ESP32-CAM:

03-connect-to-esp32-cam-access-point

Zadejte heslo, které jee definované v kódu.

04-connect-esp32-cam-access-point-insert-password

Otevřete webový prohlížeč a zadejte IP adresu 192.168.4.1. Stránka webového serveru pro streamování videa by se měla načíst:

05-video-streaming-web-server-esp32-cam-access-point

Chcete-li se připojit k přístupovému bodu v počítači, přejděte do Nastavení sítě a Internetu, vyberte „ESP32-Access-Point“ a vložte heslo.

06-connect-to-esp32-cam-access-point-computer

Chcete-li nyní přejít na stránku webového serveru ESP32-CAM, stačí do prohlížeče zadat adresu IP 192.168.4.1.