]> Git Repo - esp-hosted.git/blame - README.md
Merge branch 'bugfix/wow_triggers' into 'master'
[esp-hosted.git] / README.md
CommitLineData
374f085e
MM
1# ESP-Hosted
2
22dbd2ce 3ESP-Hosted is an open source solution that provides a way to use Espressif SoCs and modules as a communication co-processor. This solution provides wireless connectivity (Wi-Fi and BT/BLE) to the host microprocessor or microcontroller, allowing it to communicate with other devices.
950e0ba1 4
22dbd2ce 5Following is the high level block diagram for ESP-Hosted. Detailed block diagram is available in subsequent sections.
950e0ba1 6
774e9b2e
MM
7![alt text](basic_block_diagram.jpg "Basic Block Diagram")
8
9
10
7506884d 11## 1. ESP-Hosted Flavours
774e9b2e 12
b184ca3a 13The ESP-Hosted solution is available in two flavours as mentioned below. The differentiation factor here is the type of network interface presented to host and the way Wi-Fi on ESP SoC/module is configured/controlled. Both the flavours have their respective host and firmware software.
2f806355 14
950e0ba1 15
7506884d 16### 1.1 ESP-Hosted-NG
950e0ba1 17
b184ca3a 18This is the Next-Generation ESP-Hosted solution specifically designed for hosts that run Linux operating system. This flavour of the solution takes a standard approach while providing a network interface to the host. This allows usage of standard Wi-Fi applications such as wpa_supplicant to be used with ESP SoCs/modules.
950e0ba1 19
774e9b2e 20This solution offers following:
950e0ba1 21
774e9b2e
MM
22* 802.11 network interface which is a standard Wi-Fi interface on Linux host
23* Configuration of Wi-Fi is supported through standard cfg80211 interface of Linux
24* A standard HCI interface
950e0ba1 25
b184ca3a 26This flavour is available in [esp_hosted_ng](esp_hosted_ng)
950e0ba1 27
b184ca3a 28Please proceed with the [detailed documentation](esp_hosted_ng/README.md) for setup and usage instructions.
774e9b2e
MM
29
30
31
7506884d 32### 1.2 ESP-Hosted-FG
b22dadbb 33
b184ca3a 34This is a first generation ESP-Hosted solution. This is a flavour, which provides a standard 802.3 (Ethernet) network interface to the host. Thought process behind this solution is to keep the host software simple while providing suite of connectivity features.
774e9b2e 35
b184ca3a 36In order to achieve this, the host is presented with following:
ac8fb798 37
b184ca3a
SR
38* A standard 802.3 network interface which essentially is an Ethernet interface
39* A light weight control interface to configure Wi-Fi on ESP board
40* A standard HCI interface
41
42Although this flavour supports Linux host, the nature of this solution makes it ideal to be used with MCU hosts which do not have complex communication interfaces such as Ethernet, Wi-Fi, BT/BLE etc.
774e9b2e 43
b184ca3a 44This flavour is available in [esp_hosted_fg](esp_hosted_fg)
950e0ba1 45
b184ca3a 46Please proceed with the [detailed documentation](esp_hosted_fg/README.md) for setup and usage instructions.
950e0ba1 47
950e0ba1 48
7506884d 49## 2. ESP-Hosted-FG vs ESP-Hosted-NG
950e0ba1 50
b184ca3a 51Now that we offer two flavours of this solution, it could cause a little confusion. This section will try to explains similarities and differences in both the flavours and help you make a choice.
950e0ba1 52
7506884d 53### 2.1 Similarities
950e0ba1 54
b184ca3a
SR
55- Both the flavours share the same aim, to conveniently use ESP's Wi-Fi and Bluetooth/BLE capabilities from host
56- Both the flavours aim to support same set of ESP SoCs/modules and same set of transports like SPI/SDIO/UART for connectivity needs
950e0ba1 57
7506884d 58### 2.2 Key Differences
950e0ba1 59
b184ca3a
SR
60- ESP-Hosted-FG supports both Linux and MCU hosts. ESP-Hosted-NG supports only Linux host.
61- ESP-Hosted-FG exposes 802.3 network interface (Ethernet) to the host. Where as, ESP-Hosted-NG exposes 802.11 interface (Wi-Fi).
62- ESP-Hosted-FG uses custom control path to configure Wi-Fi as opposed to ESP-Hosted-NG which uses standard nl80211/cfg80211 configuration.
950e0ba1 63
a5943cd2 64
774e9b2e 65Following table summarizes this entire discussion.
950e0ba1 66
b184ca3a
SR
67<table>
68 <tr>
69 <th>Features</th>
70 <th>ESP-Hosted</br>First</br>Generation </th>
71 <th>ESP-Hosted</br>Next</br>Generation </th>
72 </tr>
73 <tr>
74 <td>Supported platforms</td>
75 <td>MCU &amp; Linux host</td>
76 <td>Linux only host</td>
77 </tr>
78 <tr>
79 <td>Wi-Fi Configuration mechanism</td>
80 <td>Custom control interface</td>
81 <td>nl80211 / cfg80211</td>
82 </tr>
83 <tr>
84 <td>Network Interface available</td>
85 <td>802.3 Ethernet Interface</td>
86 <td>802.11 Wi-Fi interface</td>
87 </tr>
88 <tr>
89 <td>Recommended Host Type</td>
90 <td><span style="font-weight:bold">MCU Host</span></td>
91 <td><span style="font-weight:bold">Linux Host</span></td>
92 </tr>
93 <tr>
94 <td>Wi-Fi features</td>
95 <td colspan="2" style="text-align:center">802.11 b/g/n</td>
96 </tr>
97 <tr>
98 <td>Transport Layer</td>
99 <td colspan="2" style="text-align:center">SDIO, SPI, UART</td>
100 </tr>
7506884d
SR
101 <tr>
102 <td>Usable transport combinations</td>
103 <td colspan="2" style="text-align:center">SPI only, SPI+UART, SDIO only, SDIO+UART</td>
104 </tr>
b184ca3a
SR
105 <tr>
106 <td>Wi-Fi Mode</td>
107 <td>Station, <span style="font-weight:bold">SoftAP</span></td>
108 <td>Station</td>
109 </tr>
110 <tr>
111 <td>Wi-Fi Security Protocols</td>
8cdcc67d 112 <td colspan="2" style="text-align:center">Open / WPA / WPA2 / WPA3</td>
b184ca3a
SR
113 </tr>
114 <tr>
115 <td>Bluetooth features</td>
d1b38ce1 116 <td colspan="2" style="text-align:center">BLE 4.2, BLE 5.0, BLE 5.3</td>
b184ca3a
SR
117 </tr>
118 <tr>
119 <td>Chipsets supported</td>
5ade5ecf 120 <td>ESP32, <span>ESP32-C2/C3/C6/S2/S3</span></td>
debb4bb1 121 <td>ESP32, <span>ESP32-C2/C3/C6/S2/S3</span></td>
b184ca3a
SR
122 </tr>
123</table>
7506884d 124
fadb81aa
SR
125- **Iperf Throughput**
126 - [ESP-Hosted-FG](esp_hosted_fg/README.md#5-throughput-performance)
127 - [ESP-Hosted-NG](esp_hosted_ng/README.md#4-throughput-performance)
7506884d
SR
128
129## 3. Our Recommendation
130
131* If you are using MCU host, you do not have choice but to use ESP-Hosted-FG
132* If you are using Linux host, we recommend ESP-Hosted-NG since it takes a standard approach which makes it compatible with widely used user space applications/services such as wpa_supplicant, Network Manager etc.
133
This page took 0.041745 seconds and 4 git commands to generate.