# ESP-IoT-Bridge Component - [User Guide](https://github.com/espressif/esp-iot-bridge/blob/master/components/iot_bridge/User_Guide.md) ESP-IoT-Bridge solution is mainly aimed at bridging between various network interfaces in IoT application scenarios, such as SPI, SDIO, USB, Wi-Fi, Ethernet and other network interfaces. ESP-IoT-Bridge is a smart bridge solution offered by Espressif. ## Feature - Provide Wi-Fi router function that can provide accessing the internet for other devices - Provide Wi-Fi network card function for other devices to access the internet - Provide wired ethernet network card function for other devices to access the internet - Provide 4G network card function for other devices to access the internet - Provide 4G Hotspot function that can provide accessing the internet for other devices ## API - The application layer only needs to call this API at the code level, and select the corresponding `external netif` and `dataforwarding netif` under menuconfig(Bridge Configuration). ``` esp_bridge_create_all_netif() ``` Note: By default, you only need to call this API, or you can manually call the corresponding netif api, such as `esp_bridge_create_xxx_netif`. - Registered users check network segment conflict interface. ``` esp_bridge_network_segment_check_register ``` - Check whether other data forwarding netif IP network segments conflict with incoming netif network segments. ``` esp_bridge_netif_network_segment_conflict_update ``` Note: Generally, it is called in the event callback when external netif (Station, Ethernet, 4G) obtains IP. ## Add component to your project Please use the component manager command `add-dependency` to add the `iot_bridge` to your project's dependency, during the CMake step the component will be downloaded automatically. ``` idf.py add-dependency "espressif/iot_bridge=*" ``` ## Examples Please use the component manager command `create-project-from-example` to create the project from example template. ``` idf.py create-project-from-example "espressif/iot_bridge=*:wifi_router" ``` Then the example will be downloaded in current folder, you can check into it for build and flash. > Or you can download examples from esp-iot-bridge repository: [wifi_router](https://github.com/espressif/esp-iot-bridge/tree/master/examples/wifi_router) ## Q&A Q1. I encountered the following problems when using the package manager ``` Executing action: create-project-from-example CMakeLists.txt not found in project directory /home/username ``` A1. This is because an older version packege manager was used, please run `pip install -U idf-component-manager` in ESP-IDF environment to update.
# v0.3.0 ## Feature - Add multiple bridging interfaces(Ethernet, USB, SPI, SDIO) # v0.2.0 ## Feature - Provide 4G network card function for other devices to access the internet - Provide 4G Hotspot function that can provide accessing the internet for other devices # v0.1.0 This is the first released version for iot-bridge component, more detailed descriptions about the project, please refer to [User_Guide](https://github.com/espressif/esp-iot-bridge/blob/master/components/iot_bridge/User_Guide.md). ## Feature - Provide Wi-Fi router function that can provide accessing the internet for other devices - Provide Wi-Fi network card function for other devices to access the internet - Provide wired ethernet network card function for other devices to access the internet
# 4G to Hotspot example ## Overview This example focuses on the networking part, enables forwarding packets between network interfaces. It creates a WiFi soft AP, which uses NAT to forward packets to and from the PPP network interface.
idf.py add-dependency "espressif/iot_bridge^0.3.0"
To create a project from this example, run:
idf.py create-project-from-example "espressif/iot_bridge^0.3.0:4g_hotspot"
To create a project from this example, run:
idf.py create-project-from-example "espressif/iot_bridge^0.3.0:wifi_router"