Awesome
<a href="https://espressif.github.io/esp-launchpad/?flashConfigURL=https://dl.espressif.com/AE/esp-iot-solution/config.toml"> <img alt="Try it with ESP Launchpad" src="https://espressif.github.io/esp-launchpad/assets/try_with_launchpad.png" width="200" height="56"> </a>Espressif IoT Solution Overview
ESP-IoT-Solution contains device drivers and code frameworks for the development of IoT systems, providing extra components that enhance the capabilities of ESP-IDF and greatly simplify the development process.
ESP-IoT-Solution contains the following contents:
- Device drivers for sensors, display, audio, input, actuators, etc.
- Framework and documentation for Low power, security, storage, etc.
- Guide for espressif open source solutions from practical application point.
Documentation Center
- 中文:https://docs.espressif.com/projects/esp-iot-solution/zh_CN
- English:https://docs.espressif.com/projects/esp-iot-solution/en
Quick Reference
Development Board
You can choose any of the ESP series development boards to use ESP-IoT-Solution or choose one of the boards supported in boards component for a quick start.
Powered by 40nm technology, ESP series SoC provides a robust, highly integrated platform, which helps meet the continuous demands for efficient power usage, compact design, security, high performance, and reliability.
Setup Environment
Setup ESP-IDF Environment
ESP-IoT-Solution is developed based on ESP-IDF functions and tools, so ESP-IDF development environment must be set up first, you can refer Setting up Development Environment for the detailed steps.
Please note that different versions of ESP-IoT-Solution may depend on different versions of ESP-IDF, please refer to the below table to select the correct version:
ESP-IoT-Solution | Dependent ESP-IDF | Major Change | User Guide | Support State |
---|---|---|---|---|
master | >= v5.3 | New Chips Support | Docs online | New features |
release/v2.0 | <= v5.3, >= v4.4 | Support component manager | Docs online | Bugfix only,until v5.3 EOL |
release/v1.1 | v4.0.1 | IDF version update, remove no longer supported code | v1.1 Overview | archived |
release/v1.0 | v3.2.2 | legacy version | v1.0 Overview | archived |
Since the
master
branch uses theESP Component Manager
to manager components, each of them is a separate package, and each package may support a different version of the ESP-IDF, which will be declared in the component'sidf_component.yml
file
Get Components from ESP Component Registry
If you just want to use the components in ESP-IoT-Solution, we recommend you use it from the ESP Component Registry.
The registered components in ESP-IoT-Solution are listed below:
<center>You can directly add the components from the Component Registry to your project by using the idf.py add-dependency
command under your project's root directory. eg run idf.py add-dependency "espressif/usb_stream"
to add the usb_stream
, the component will be downloaded automatically during the CMake
step.
Please refer to IDF Component Manager for details.
Get ESP-IoT-Solution Repository
If you want to Contribute to the components in ESP-IoT-Solution or want to start from the examples in ESP-IoT-Solution, you can get the ESP-IoT-Solution repository by following the steps:
-
If select the
master
version, open the terminal, and run the following command:git clone --recursive https://github.com/espressif/esp-iot-solution
-
If select the
release/v2.0
version, open the terminal, and run the following command:git clone -b release/v2.0 --recursive https://github.com/espressif/esp-iot-solution
Build and Flash Examples
We highly recommend you Build Your First Project to get familiar with ESP-IDF and make sure the environment is set up correctly.
There is no difference between building and flashing the examples in ESP-IoT-Solution and in ESP-IDF. In most cases, you can build and flash the examples in ESP-IoT-Solution by following the steps:
- Change the current directory to the example directory, eg
cd examples/usb/host/usb_audio_player
. - Run
idf.py set-target TARGET
to set the target chip. egidf.py set-target esp32s3
to set the target chip to ESP32-S3. - Run
idf.py build
to build the example. - Run
idf.py -p PORT flash monitor
to flash the example, and view the serial output. egidf.py -p /dev/ttyUSB0 flash monitor
to flash the example and view the serial output on/dev/ttyUSB0
.
Some examples may need extra steps to setup the ESP-IoT-Solution environment, you can run
export IOT_SOLUTION_PATH=~/esp/esp-iot-solution
in Linux/MacOS orset IOT_SOLUTION_PATH=C:\esp\esp-iot-solution
in Windows to setup the environment.
Resources
- Documentation for the latest version: https://docs.espressif.com/projects/esp-iot-solution/ . This documentation is built from the docs directory of this repository.
- ESP-IDF Programming Guide: https://docs.espressif.com/projects/esp-idf/zh_CN . Please refer to the version ESP-IoT-Solution depends on.
- The IDF Component Registry is where you can find the components in ESP-IoT-Solution and other registered components.
- The esp32.com forum is a place to ask questions and find community resources.
- Check the Issues section on GitHub if you find a bug or have a feature request. Please check existing Issues before opening a new one.
- If you're interested in contributing to ESP-IDF, please check the Contributions Guide.