esp-who/README.md

120 lines
5.6 KiB
Markdown
Raw Normal View History

# ESP-WHO [[中文]](./README_CN.md)
2021-09-09 20:19:46 +08:00
ESP-WHO is an image processing development platform based on Espressif chips. It contains development examples that may be applied in practical applications.
2021-09-09 20:19:46 +08:00
## Overview
2021-09-09 20:19:46 +08:00
ESP-WHO provides examples such as Human Face Detection, Human Face Recognition, Cat Face Detection, Gesture Recognition, etc. You can develop a variety of practical applications based on these examples. ESP-WHO runs on ESP-IDF. [ESP-DL](https://github.com/espressif/esp-dl) provides rich deep learning related interfaces for ESP-WHO, which can be implemented with various peripherals to realize many interesting applications.
2021-09-09 20:19:46 +08:00
<p align="center">
<img width="%" src="./img/architecture_en.drawio.svg">
2021-09-09 20:19:46 +08:00
</p>
## What You Need
2021-09-09 20:19:46 +08:00
### Hardware
2021-09-09 20:19:46 +08:00
We recommend novice developers to use the development boards designed by Espressif. The examples provided by ESP-WHO are developed based on the following Espressif development board, and the corresponding relationships between the development boards and the series of chips (SoC) are shown in the table below.
2021-09-09 20:19:46 +08:00
| SoC | [ESP32](https://www.espressif.com/en/products/socs/esp32) | [ESP32-S2](https://www.espressif.com/en/products/socs/esp32-s2) | [ESP32-S3](https://www.espressif.com/en/products/socs/esp32-s3) |
2021-10-18 16:29:25 +08:00
| :------- | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: |
| Development Board | [ESP-EYE](https://www.espressif.com/en/products/devkits/esp-eye/overview) | [ESP32-S2-Kaluga-1](https://docs.espressif.com/projects/esp-idf/en/latest/esp32s2/hw-reference/esp32s2/user-guide-esp32-s2-kaluga-1-kit.html) | [ESP-S3-EYE](https://www.espressif.com/en/products/devkits/esp-s3-eye/overview) |
2021-09-09 20:19:46 +08:00
> Using a development board not mentioned in the table above, configure pins assigned to peripherals manually, such as camera, LCD, and buttons.
2021-09-09 20:19:46 +08:00
### Software
2021-09-09 20:19:46 +08:00
#### Get ESP-IDF
2021-09-09 20:19:46 +08:00
ESP-WHO runs on ESP-IDF. For details on getting ESP-IDF, please refer to [ESP-IDF Programming Guide](https://idf.espressif.com/).
2021-09-09 20:19:46 +08:00
> Please use the latest version of ESP-IDF on the master branch.
2021-09-09 20:19:46 +08:00
#### Get ESP-WHO
2021-09-09 20:19:46 +08:00
Run the following commands in your terminal to download ESP-WHO:
2021-10-18 16:29:25 +08:00
2021-09-09 20:19:46 +08:00
```bash
git clone --recursive https://github.com/espressif/esp-who.git
```
> Remember to use ``git submodule update --recursive --init`` to pull and update submodules of ESP-WHO.
2021-09-09 20:19:46 +08:00
## Run Examples
2021-09-09 20:19:46 +08:00
All examples of ESP-WHO are stored in [examples](./examples) folder. Structure of this folder is shown below:
2021-09-09 20:19:46 +08:00
```bash
2021-10-18 16:29:25 +08:00
├── examples
│   ├── cat_face_detection // Cat Face Detection examples
│   │   ├── lcd // Output displayed on LCD screen
│   │   └── terminal // Output displayed on terminal
│   ├── code_recognition // Barcode and QR Code Recognition examples
│   ├── human_face_detection // Human Face Detection examples
2021-10-25 19:48:56 +08:00
│   │   ├── lcd
│   │   └── terminal
│   ├── human_face_recognition // Human Face Recognition examples
2021-10-18 16:29:25 +08:00
│   │   ├── lcd
│   │   ├── terminal
│   │   └── README.md // Detailed description of examples
│   └── motion_detection // Motion Detection examples
2021-10-25 19:48:56 +08:00
│   ├── lcd 
2021-10-18 16:29:25 +08:00
│   ├── terminal
2021-10-25 19:48:56 +08:00
│   ├── web
│   └── README.rst
2021-09-09 20:19:46 +08:00
```
For the development boards mentioned in [Hardware](#Hardware), all examples are available out of the box. To run the examples, you only need to perform [Step 1: Set the target chip] (#Step-1 Set the target chip) and [Step 4: Launch and monitor] (#Step-4 Launch and monitor).
2021-10-18 16:29:25 +08:00
### Step 1: Set the target chip
2021-09-09 20:19:46 +08:00
Open the terminal and go to any folder that stores examples (e.g. examples/human_face_detection/lcd). Run the following command to set the target chip:
2021-09-09 20:19:46 +08:00
```bash
2021-10-18 16:29:25 +08:00
idf.py set-target [SoC]
2021-09-09 20:19:46 +08:00
```
Replace [SoC] with your target chip, e.g. esp32, esp32s2, esp32s3.
2021-09-09 20:19:46 +08:00
### (Optional) Step 2: Configure the camera
2021-09-09 20:19:46 +08:00
If not using the Espressif development boards mentioned in [Hardware](#Hardware), configure the camera pins manually. Enter `idf.py menuconfig` in the terminal and click (Top) -> Component config -> ESP-WHO Configuration to enter the ESP-WHO configuration interface, as shown below:
2021-09-09 20:19:46 +08:00
2021-10-18 16:29:25 +08:00
![](./img/esp-who_config.png)
2021-09-09 20:19:46 +08:00
Click Camera Configuration to select the pin configuration of the camera according to the development board you use, as shown in the following figure:
2021-09-09 20:19:46 +08:00
![](./img/esp-who_config_camera_config_select_pinout.png)
If the board you are using is not shown in the figure above, please select ``Custom Camera Pinout`` and configure the corresponding pins correctly, as shown in the following figure:
2021-09-09 20:19:46 +08:00
![](./img/esp-who_config_camera_config_custom.png)
### (Optional) Step 3: Configure the Wi-Fi
2021-09-09 20:19:46 +08:00
If the output of example is displayed on web server, click Wi-Fi Configuration to configure Wi-Fi password and other parameters, as shown in the following figure:
2021-09-09 20:19:46 +08:00
![](./img/esp-who_config_wifi_config.png)
### Step 4: Launch and monitor
2021-10-18 16:29:25 +08:00
Flash the program and launch IDF Monitor:
2021-10-18 16:29:25 +08:00
```bash
idf.py flash monitor
```
2021-09-09 20:19:46 +08:00
## Default Binaries of Development Boards
2021-09-09 20:19:46 +08:00
The default binaries for each development board are stored in the folder [default_bin](./default_bin). You can use Flash Download Tool (https://www.espressif.com/en/support/download/other-tools) to flash binaries.
2021-09-09 20:19:46 +08:00
## Feedback
2021-09-09 20:19:46 +08:00
Please submit an [issue](https://github.com/espressif/esp-who/issues) if you find any problems using our products, and we will reply as soon as possible.