You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/blog/2025/09/esp-wifi-remote/index.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -86,15 +86,15 @@ The backend solutions could perform a consistency check but cannot reconfigure t
86
86
87
87
### Choosing the backend solution
88
88
89
-
The default and recommended option is `esp_hosted`as your backend solution for most use-cases, providing the best performance, integration, maturity and support.
89
+
The default and recommended option as your backend solution for most use-cases is `esp_hosted`, providing the best performance, integration, maturity, and support.
90
90
91
91
You can also switch to `eppp` or `at` based implementation or implement your own backend solution.
92
92
Here are the reasons you might prefer some other implementation than `esp_hosted`:
93
93
* Your application is not aiming for the best network throughput.
94
94
* Your slave (or host) device is not an ESP32 target and you want to use some standard protocol:
95
95
- choose `eppp`: it uses PPPoS protocol and works seamlessly with `pppd` on linux.
96
96
- choose `at`: it uses standard AT commands and integrates nicely with `esp-at` as a slave device.
97
-
* You prefer encrypted communication between host and slave device, especially when passing Wi-Fi credentials.
97
+
* You prefer encrypted communication between host and slave devices, especially when passing Wi-Fi credentials.
98
98
* You might need some customization on the slave side.
99
99
100
100
To choose the backend solution, go to the Wi-Fi Remote component configuration menu and select the preferred one by:
This section compares backend solutions, focusing on how different methods marshall (i.e., encode and transmit) Wi-Fi commands, events and data to the slave device.
119
+
This section compares backend solutions, focusing on how different methods marshall (i.e., encode and transmit) Wi-Fi commands, events, and data to the slave device.
120
120
121
121
**Principle of operation**
122
122
123
123
124
-
**`esp-hosted`** uses a plain text channel to send and receive Wi-Fi API calls and events. It uses other plain text channels for data packets (Wi-Fi station, soft-AP, BT/BLE). The TCP/IP stack runs only on the host side and esp-hosted passes Ethernet frames (802.3) from host to slave, where they are queue directly to the Wi-Fi library.
124
+
**`esp-hosted`** uses a plain text channel to send and receive Wi-Fi API calls and events. It uses other plain text channels for data packets (Wi-Fi station, soft-AP, BT/BLE). The TCP/IP stack runs only on the host side and esp-hosted passes Ethernet frames (802.3) from host to slave, where they are queued directly to the Wi-Fi library.
125
125
126
126
{{< figure
127
127
default=true
128
128
src="hosted.webp"
129
129
>}}
130
130
131
-
**`wifi_remote_over_eppp`** creates a point to point link between host and slave device, so each side have their IP addresses. Wi-Fi API calls and events are transmitted using SSL/TLS connection with mutual authentication. The data path uses plain text peer to peer connection by means of IP packets. Both host and slave device run TCP/IP stack. The slave device runs network address translation (NAT) to route the host IP packets to the Wi-Fi network -- this is a limitation, since the host device is behind NAT, so invisible from the outside and the translation has a performance impact (to overcome this, you can enable Ethernet frames via custom channels, so the data are transmitted the same way as for `esp-hosted` method, using 802.3 frames).
131
+
**`wifi_remote_over_eppp`** creates a point to point link between host and slave device, so each side have their IP addresses. Wi-Fi API calls and events are transmitted using SSL/TLS connection with mutual authentication. The data path uses plain text peer to peer connection by means of IP packets. Both host and slave devices run TCP/IP stack. The slave device runs network address translation (NAT) to route the host IP packets to the Wi-Fi network -- this is a limitation, since the host device is behind NAT, so invisible from the outside and the translation has a performance impact (to overcome this, you can enable Ethernet frames via custom channels, so the data are transmitted the same way as for `esp-hosted` method, using 802.3 frames).
132
132
133
133
{{< figure
134
134
default=true
135
135
src="eppp.webp"
136
136
>}}
137
137
138
138
139
-
**`wifi_remote_over_at`** uses `esp-at` project as the slave device, so the host side only run standard AT commands. It's implemented internally with `esp_modem` component that handles basic Wi-Fi functionality. Note that not all configuration options provided by *esp-wifi-remote* are supported via AT commands, so this method is largely limited.
139
+
**`wifi_remote_over_at`** uses `esp-at` project as the slave device, so the host side only runs standard AT commands. It's implemented internally with `esp_modem` component that handles basic Wi-Fi functionality. Note that not all configuration options provided by *esp-wifi-remote* are supported via AT commands, so this method is largely limited.
140
140
141
141
{{< figure
142
142
default=true
@@ -189,8 +189,8 @@ The below tips emerge from this exploration:
189
189
**1. Use `esp-hosted` as your backend solution** -- Provides optimal performance, mature integration, and comprehensive support.
190
190
191
191
**2. Consider alternative backends** for specific scenarios:
192
-
- If sending Wi-Fi commands between *host* and *slave* unencrypted is not acceptable: Checkout`wifi_remote_over_eppp` backend or [esp-extconn](https://github.com/espressif/esp-extconn/).
193
-
- If you need to use some standard communication protocol (e.g. using non-ESP slave): Checkout`wifi_remote_over_eppp` for PPPoS protocol, or `wifi_remote_over_at` for AT commands.
192
+
- If sending Wi-Fi commands between *host* and *slave* unencrypted is not acceptable: Check out`wifi_remote_over_eppp` backend or [esp-extconn](https://github.com/espressif/esp-extconn/).
193
+
- If you need to use some standard communication protocol (e.g. using non-ESP slave): Check out`wifi_remote_over_eppp` for PPPoS protocol, or `wifi_remote_over_at` for AT commands.
194
194
195
195
**3. Mind the Wi-Fi slave configuration** -- `esp-wifi-remote` operates as a compile-time configuration system. Developers must manually configure slave-side Wi-Fi options and rebuild the slave application. When migrating from Wi-Fi-enabled devices, configuration options must be prefixed with `WIFI_RMT_` instead of `ESP_WIFI_`.
0 commit comments