From 798e6f0832ba7d3f4a2f6d41662249e11da623c6 Mon Sep 17 00:00:00 2001 From: David Cermak Date: Wed, 3 Sep 2025 12:52:04 +0200 Subject: [PATCH 1/2] fix(docs): Update READMEs with latest description --- README.md | 10 ++++ components/esp_wifi_remote/README.md | 42 +++++++++++++-- components/wifi_remote_over_eppp/README.md | 57 +++++++++++++++++++-- components/wifi_remote_over_eppp/eppp.webp | Bin 0 -> 9506 bytes 4 files changed, 103 insertions(+), 6 deletions(-) create mode 100644 components/wifi_remote_over_eppp/eppp.webp diff --git a/README.md b/README.md index 80983fd..311376e 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,12 @@ Enables Espressif WiFi capabilities on remote targets (without native WiFi suppo This repository contains components and utilities related to esp-wifi-remote. +## Overview + +esp-wifi-remote provides transparent WiFi connectivity for ESP chipsets through external hardware, maintaining full compatibility with the standard `esp_wifi` API. This enables WiFi functionality on ESP32-P4, ESP32-H2, and other WiFi-less chipsets by routing API calls to a connected WiFi-capable device. + +The solution supports multiple backend communication protocols and can also provide additional WiFi interfaces on WiFi-capable ESP32 chips for applications requiring dual wireless connectivity. + ## esp-wifi-remote [![Component Registry](https://components.espressif.com/components/espressif/esp_wifi_remote/badge.svg)](https://components.espressif.com/components/espressif/esp_wifi_remote) @@ -21,3 +27,7 @@ This repository contains components and utilities related to esp-wifi-remote. [![Component Registry](https://components.espressif.com/components/espressif/wifi_remote_over_at/badge.svg)](https://components.espressif.com/components/espressif/wifi_remote_over_at) [wifi_remote_over_at](https://github.com/espressif/esp-wifi-remote/tree/main/components/wifi_remote_over_at/README.md) + +## esp-hosted + +The recommended backend solution for esp-wifi-remote is [esp-hosted](https://github.com/espressif/esp-hosted), providing optimal performance (up to 50Mbps TCP throughput), mature integration, and comprehensive support for ESP32-based host-slave communication. diff --git a/components/esp_wifi_remote/README.md b/components/esp_wifi_remote/README.md index f15c9db..f3ad33f 100644 --- a/components/esp_wifi_remote/README.md +++ b/components/esp_wifi_remote/README.md @@ -2,9 +2,13 @@ [![Component Registry](https://components.espressif.com/components/espressif/esp_wifi_remote/badge.svg)](https://components.espressif.com/components/espressif/esp_wifi_remote) -The `esp_wifi_remote` component is designed to extend WiFi functionality to ESP chipsets that lack native WiFi support. By simply adding a dependency to this component from your project, you gain access to WiFi capabilities via the WiFi-remote menuconfig and standard `esp_wifi` interface. +The `esp_wifi_remote` component provides transparent WiFi connectivity for ESP chipsets through external hardware, maintaining full `esp_wifi` API compatibility. -Moreover, `esp_wifi_remote` can be utilized on ESP chipsets that do support native WiFi, providing an additional WiFi interface through the `esp_wifi_remote` API. +### Use Cases + +**Non-WiFi ESP Chips**: Enables WiFi functionality on ESP32-P4, ESP32-H2 and other WiFi-less chipsets by routing `esp_wifi` calls to external WiFi hardware. + +**Additional WiFi Interface**: On WiFi-capable ESP32 chips, provides dual WiFi interfaces - local `esp_wifi` and remote `esp_wifi_remote` for applications requiring multiple wireless connections. To employ this component, a slave device -- capable of WiFi connectivity -- must be connected to your target device in a specified manner, as defined by the transport layer of [`esp_hosted`](https://github.com/espressif/esp-hosted). @@ -12,8 +16,40 @@ Functionally, `esp_wifi_remote` wraps the public API of `esp_wifi`, offering a s Notably, `esp_wifi_remote` heavily relies on a specific version of the `esp_wifi` component. Consequently, the majority of its headers, sources, and configuration files are pre-generated based on the actual version of `esp_wifi`. -It's important to highlight that `esp_wifi_remote` does not directly implement the RPC calls; rather, it relies on dependencies for this functionality. Presently, only esp_hosted is supported to provide the RPC functionality required by esp_wifi_remote. +It's important to highlight that `esp_wifi_remote` does not directly implement the RPC calls; rather, it relies on dependencies for this functionality. + +## Terminology + +- **Backend Solution**: Communication layer handling transport of WiFi commands, events, and data between host and slave devices (e.g., esp-hosted, eppp, AT-based implementations) +- **Host-side**: Device running your application code (e.g., ESP32-P4, ESP32-H2, or ESP32 with WiFi) +- **Slave-side**: WiFi-capable device providing actual WiFi hardware and functionality + +## Backend Solutions + +`esp_wifi_remote` supports multiple backend solutions for RPC communication: + +- **`esp_hosted`** (recommended): Plain text channels for WiFi API calls/events and Ethernet frames for data. Best performance and maturity. +- **`wifi_remote_over_eppp`**: SSL/TLS encrypted connection with PPP link. Suitable when encryption is required. +- **`wifi_remote_over_at`**: AT commands via esp-modem. Limited functionality but uses standard protocols. + +### Performance Comparison + +| Backend Solution | Max TCP Throughput | Use Case | +|---------------------|-------------------|----------| +| esp_hosted | ~50Mbps | High-performance applications | +| wifi_remote_over_eppp | ~20Mbps | Encrypted communication | +| wifi_remote_over_at | ~2Mbps | Standard AT protocol compatibility | + +## WiFi Configuration + +Configure remote WiFi identically to local WiFi via Kconfig. Options use `WIFI_RMT_` prefix instead of `ESP_WIFI_`: + +``` +CONFIG_ESP_WIFI_TX_BA_WIN → CONFIG_WIFI_RMT_TX_BA_WIN +CONFIG_ESP_WIFI_AMPDU_RX_ENABLED → CONFIG_WIFI_RMT_AMPDU_RX_ENABLED +``` +> **Note**: Some configuration options are compile-time only. Manual slave-side configuration and rebuild required for consistency. ## Dependencies on `esp_wifi` diff --git a/components/wifi_remote_over_eppp/README.md b/components/wifi_remote_over_eppp/README.md index 8dace14..3c660bc 100644 --- a/components/wifi_remote_over_eppp/README.md +++ b/components/wifi_remote_over_eppp/README.md @@ -1,5 +1,56 @@ -# EPPP based implementation of Wi-Fi remote APIs +# WiFi Remote over EPPP -:warning: This component should be only used with `esp_wifi_remote` +[![Component Registry](https://components.espressif.com/components/espressif/wifi_remote_over_eppp/badge.svg)](https://components.espressif.com/components/espressif/wifi_remote_over_eppp) -This component has no public API, it only provides alternative (strong) definitions of `esp_wifi_remote` functions. +EPPP-based backend implementation for `esp_wifi_remote`, providing encrypted WiFi connectivity through PPP link with SSL/TLS authentication. + +## Overview + +This component implements the backend communication layer for `esp_wifi_remote` using the [eppp-link](https://github.com/espressif/esp-protocols/tree/master/components/eppp_link) component. It creates a secure point-to-point connection between host and slave devices, enabling WiFi functionality on non-WiFi ESP chipsets. + +![EPPP Architecture Diagram](eppp.webp) + +## Key Features + +- **SSL/TLS Encryption**: Mutual authentication for secure communication of WiFi commands and events +- **PPP Protocol**: Standard point-to-point protocol with IP address assignment to both devices +- **Network Address Translation**: Slave device routes host packets to WiFi network +- **Cross-Platform Compatibility**: Works with non-ESP32 targets using standard PPP protocols + +## Architecture + +**Communication Channels:** +- **Control Path**: SSL/TLS encrypted connection for WiFi API calls and events +- **Data Path**: Plain text peer-to-peer connection using IP packets + +**Network Stack:** +- Both host and slave devices run full TCP/IP stacks +- Host device operates behind NAT (slave-side network address translation) +- Ethernet frames can be enabled for improved performance when NAT limitations are acceptable + +## Performance + +- **Maximum TCP Throughput**: ~20Mbps +- **Use Case**: Applications requiring encrypted host-slave communication +- **Trade-offs**: NAT limitations may affect external network visibility + +## Use Cases + +Ideal for scenarios requiring: +- **Encrypted Communication**: Especially when transmitting WiFi credentials +- **Standard Protocols**: Integration with `pppd` on Linux systems +- **Non-ESP32 Targets**: Cross-platform compatibility with standard networking protocols +- **Security-Conscious Applications**: Mutual SSL/TLS authentication requirements + +## Configuration + +Configure through `esp_wifi_remote` component with `wifi_remote_over_eppp` selected as backend. WiFi settings use `WIFI_RMT_` prefix instead of `ESP_WIFI_`. + +> **Note**: Some configuration options are compile-time only. Ensure slave-side configuration matches host settings. + +## Dependencies + +- [`esp_wifi_remote`](https://github.com/espressif/esp-wifi-remote/tree/main/components/esp_wifi_remote) +- [`eppp-link`](https://github.com/espressif/esp-protocols/tree/master/components/eppp_link) + +:warning: **Important**: This component should only be used with `esp_wifi_remote`. It provides alternative implementations of `esp_wifi_remote` functions with no public API of its own. diff --git a/components/wifi_remote_over_eppp/eppp.webp b/components/wifi_remote_over_eppp/eppp.webp new file mode 100644 index 0000000000000000000000000000000000000000..bdf55cf7184414623d42d0774144395615a2aed8 GIT binary patch literal 9506 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 A-v9sr literal 0 HcmV?d00001 From 8038e18bfc8af2577767da1390f426b3ac0f82e2 Mon Sep 17 00:00:00 2001 From: David Cermak Date: Wed, 3 Sep 2025 16:02:10 +0200 Subject: [PATCH 2/2] bump(wifi_remote): 0.16.1 -> 0.16.2 0.16.2 Bug Fixes - Update READMEs with latest description (798e6f0) - Minor update per v5.4 changes (7df45ba) --- components/esp_wifi_remote/.cz.yaml | 2 +- components/esp_wifi_remote/CHANGELOG.md | 7 +++++++ components/esp_wifi_remote/idf_component.yml | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/components/esp_wifi_remote/.cz.yaml b/components/esp_wifi_remote/.cz.yaml index 9893ad6..00cc9a4 100644 --- a/components/esp_wifi_remote/.cz.yaml +++ b/components/esp_wifi_remote/.cz.yaml @@ -3,6 +3,6 @@ commitizen: bump_message: 'bump(wifi_remote): $current_version -> $new_version' pre_bump_hooks: python ../../ci/changelog.py esp_wifi_remote tag_format: wifi_remote-v$version - version: 0.16.1 + version: 0.16.2 version_files: - idf_component.yml diff --git a/components/esp_wifi_remote/CHANGELOG.md b/components/esp_wifi_remote/CHANGELOG.md index 0ebfbaa..177a89b 100644 --- a/components/esp_wifi_remote/CHANGELOG.md +++ b/components/esp_wifi_remote/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [0.16.2](https://github.com/espressif/esp-wifi-remote/commits/wifi_remote-v0.16.2) + +### Bug Fixes + +- Update READMEs with latest description ([798e6f0](https://github.com/espressif/esp-wifi-remote/commit/798e6f0)) +- Minor update per v5.4 changes ([7df45ba](https://github.com/espressif/esp-wifi-remote/commit/7df45ba)) + ## [0.16.1](https://github.com/espressif/esp-wifi-remote/commits/wifi_remote-v0.16.1) ### Bug Fixes diff --git a/components/esp_wifi_remote/idf_component.yml b/components/esp_wifi_remote/idf_component.yml index da65fd6..612d51f 100644 --- a/components/esp_wifi_remote/idf_component.yml +++ b/components/esp_wifi_remote/idf_component.yml @@ -1,4 +1,4 @@ -version: 0.16.1 +version: 0.16.2 url: https://github.com/espressif/esp-wifi-remote description: Utility wrapper for esp_wifi functionality on remote targets dependencies: