# ESP External Connection This component provides external wireless connectivity(Wi-Fi & Bluetooth) for ESP chips that do not have built-in wireless capabilities. The APIs used by this component are compatible with the Wi-Fi and Bluetooth component APIs in the ESP-IDF. ## Supported Features - Wi-Fi Features: - 802.11b/g/n - Operating Mode: STA, SoftAP - Security Mode: Open, WPA, WPA2, WPA3 - BT/BLE - Classic Bluetooth - BLE 4.2 ## Supported ESP Chips | Supported Hosts | ESP32P4 | | ----------------- | ----- | | Supported Targets | ESP8689 | | ----------------- | ------- | ## Supported Boards * ESP32-P4_Function_EV_Board with ESP32_Module_SDIO_Converter_Board * Hardware setup - Pin Connections | ESP32P4 | ESP8689 | Function | |:--------:|:--------:|:--------:| | 53 | EN |Reset| | GND | IO0 | Forcing ESP8689 in download mode| - The ESP32P4 controls the reset of the ESP8689 through pin 53. ## Supported Transports * SDIO Only * Wi-Fi and Bluetooth, traffic for both runs over SDIO ## Supported APIs 1. **Initialization** * esp_wifi_init * esp_wifi_deinit * esp_wifi_start * esp_wifi_stop 2. **Configuration** * esp_wifi_set_mode * esp_wifi_get_mode * esp_wifi_set_config * esp_wifi_get_config * esp_wifi_set_storage * esp_wifi_set_protocol * esp_wifi_get_protocol * esp_wifi_set_country * esp_wifi_get_country * esp_wifi_set_country_code * esp_wifi_get_country_code * esp_wifi_set_bandwidth * esp_wifi_get_bandwidth * esp_wifi_set_channel * esp_wifi_get_channel * esp_wifi_get_mac 3. **Connection** * esp_wifi_connect * esp_wifi_disconnect 4. **Scan** * esp_wifi_scan_start * esp_wifi_scan_get_ap_num * esp_wifi_scan_get_ap_records * esp_wifi_sta_get_ap_info ## Step to enable this component in an example code: 1. Add this component to your project using ```idf.py add-dependency esp-extconn``` command. 2. In the main file of the example, add the following line: ```c #ifdef CONFIG_ESP_EXT_CONN_ENABLE #include "esp_extconn.h" #endif ``` 3. In your app_main() function, add the following line as the first line: ```c #ifdef CONFIG_ESP_EXT_CONN_ENABLE esp_extconn_config_t config = ESP_EXTCONN_CONFIG_DEFAULT(); esp_extconn_init(&config); #endif ``` 4. Using esp_wifi components like built-in wireless chips :) ## Throughput Performance #### 1. TCP TX ```sh [ ID] Interval Transfer Bandwidth [ 4] 0.0- 1.0 sec 5.47 MBytes 45.9 Mbits/sec [ 4] 1.0- 2.0 sec 5.51 MBytes 46.2 Mbits/sec [ 4] 2.0- 3.0 sec 5.56 MBytes 46.7 Mbits/sec [ 4] 3.0- 4.0 sec 5.56 MBytes 46.6 Mbits/sec [ 4] 4.0- 5.0 sec 5.51 MBytes 46.3 Mbits/sec [ 4] 5.0- 6.0 sec 5.58 MBytes 46.8 Mbits/sec [ 4] 6.0- 7.0 sec 5.53 MBytes 46.4 Mbits/sec [ 4] 7.0- 8.0 sec 5.55 MBytes 46.5 Mbits/sec [ 4] 8.0- 9.0 sec 5.59 MBytes 46.9 Mbits/sec [ 4] 9.0-10.0 sec 5.56 MBytes 46.7 Mbits/sec [ 4] 0.0-10.0 sec 55.4 MBytes 46.5 Mbits/sec ``` #### 2. TCP RX ```sh Interval Bandwidth 0.0- 1.0 sec 44.47 Mbits/sec 1.0- 2.0 sec 45.66 Mbits/sec 2.0- 3.0 sec 45.50 Mbits/sec 3.0- 4.0 sec 45.55 Mbits/sec 4.0- 5.0 sec 45.93 Mbits/sec 5.0- 6.0 sec 45.52 Mbits/sec 6.0- 7.0 sec 45.36 Mbits/sec 7.0- 8.0 sec 45.12 Mbits/sec 8.0- 9.0 sec 45.92 Mbits/sec 9.0-10.0 sec 45.50 Mbits/sec 0.0-10.0 sec 45.45 Mbits/sec ``` #### 3. UDP TX ```sh [ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams [ 3] 0.0- 1.0 sec 6.12 MBytes 51.3 Mbits/sec 0.242 ms 0/ 4366 (0%) [ 3] 1.0- 2.0 sec 6.09 MBytes 51.1 Mbits/sec 0.237 ms 0/ 4343 (0%) [ 3] 2.0- 3.0 sec 6.06 MBytes 50.9 Mbits/sec 0.245 ms 0/ 4324 (0%) [ 3] 3.0- 4.0 sec 6.06 MBytes 50.9 Mbits/sec 0.437 ms 0/ 4326 (0%) [ 3] 4.0- 5.0 sec 6.05 MBytes 50.7 Mbits/sec 0.231 ms 0/ 4315 (0%) [ 3] 5.0- 6.0 sec 6.06 MBytes 50.8 Mbits/sec 0.249 ms 0/ 4321 (0%) [ 3] 6.0- 7.0 sec 6.06 MBytes 50.8 Mbits/sec 0.253 ms 0/ 4322 (0%) [ 3] 7.0- 8.0 sec 6.06 MBytes 50.8 Mbits/sec 0.242 ms 0/ 4323 (0%) [ 3] 8.0- 9.0 sec 6.05 MBytes 50.8 Mbits/sec 0.257 ms 0/ 4317 (0%) [ 3] 9.0-10.0 sec 6.05 MBytes 50.7 Mbits/sec 0.251 ms 0/ 4315 (0%) [ 3] 0.0-10.0 sec 60.7 MBytes 50.9 Mbits/sec 0.251 ms 0/43272 (0%) ``` #### 4. UDP RX ```sh Interval Bandwidth 0.0- 1.0 sec 66.11 Mbits/sec 1.0- 2.0 sec 65.82 Mbits/sec 2.0- 3.0 sec 66.54 Mbits/sec 3.0- 4.0 sec 65.83 Mbits/sec 4.0- 5.0 sec 65.78 Mbits/sec 5.0- 6.0 sec 66.44 Mbits/sec 6.0- 7.0 sec 66.25 Mbits/sec 7.0- 8.0 sec 66.09 Mbits/sec 8.0- 9.0 sec 65.72 Mbits/sec 9.0-10.0 sec 65.77 Mbits/sec 0.0-10.0 sec 66.04 Mbits/sec ```
ddb092466b73bc35f09463e3710edd7dd4965223
idf.py add-dependency "espressif/esp-extconn^0.0.1"