티스토리 뷰
본 내용은 공부하기위해 기록으로 남기는것으로,
오타, 잘못된 내용이 있을수 있습니다.
https://www.espressif.com/en/products/socs/esp32-c3
ESP32는 무선+mcu 제품이다.
wi-fi, 블루투스등이 주용도이다.
가격이 매우 저렴하다.
경쟁상대가 없다.
몇년후에는 대부분 이 ic들을 사용할거다.
ESP32C3 Series
UltraLowPower SoC with RISCV SingleCore CPU Supporting IEEE 802.11b/g/n (2.4 GHz WiFi) and Bluetooth® 5 (LE)
저전력, 대부분의 기능이 ic 하나에 들어 있는 Soc, 2.4GHz wi-fi, 블루투스 칩
ESP32-C3
ESP32-C3FN4
ESP32-C3FH4
ESP32-C3FH4AZ
아래 블럭도와 같이 생겼다.
최신 블루투스 LE 5를 지원한다.
32비트 CPU는 최고 160 MHz까지 동작한다.
1 core at 160 MHz: 407.22 CoreMark; 2.55 CoreMark/MHz
거의 Cortex4급이다.(RISV-V코어)
400 KB SRAM (16 KB for cache)
mcu치고는 많은 RAM이 들어 있다.
개발자들이 원하는 거의 모든 기능이 다 들어 있다.
그래서, 위와 같이 많은 제품들을 만들 수 있다.
Flash메모리가 없는것도 있고, 4MB도 3종류나 된다.
보통 mcu들이 1MB정도의 flash메모리를 가지고 있는것에 비해, 약4배나 큰 크기이다.
그런데도 가격이 말도안되게 저렴하다.
중국은 역시, 땅파서 제품 만든다.
온도 105도는 자동차용으로 만들어진것이다.
단점이라고 한다면, 핀이 적다는것이다. (장점일 수 도 있다)
GPIO로 사용할 수 있는 핀이 몇개 안되는것이다.
ESP32-C3FH4AZ 는 SPI핀이 없다.(왜 없을까?)
I2S 기능도 있다.
ADC는 최대 6개
wi-fi 사용시, 전력소모가 좀 크다.
HT20 – 20 MHz-wide channels
HT40 – 40 MHz-wide channels
HT80 – 80 MHz-wide channels
통신속도가 느릴 수록 낮은 전파로 통신이 가능해진다.
멀리 통신이 가능하려면, 속도를 낮춰야한다.
Developer Zone
• ESP-IDF Programming Guide for ESP32-C3 – Extensive documentation for the ESP-IDF development framework.
• ESP-IDF and other development frameworks on GitHub. http://github.com/espressif
• ESP32 BBS Forum – Engineer-to-Engineer (E2E) Community for Espressif products where you can post questions, share knowledge, explore ideas, and help solve problems with fellow engineers. http://esp32.com/
• The ESP Journal – Best Practices, Articles, and Notes from Espressif folks. http://blog.espressif.com/
• See the tabs SDKs and Demos, Apps, Tools, AT Firmware. http://espressif.com/en/support/download/sdks-demos
필요한것들
- ESP32-C3 보드,
- USB 케이블
- Computer/PC/NOTE BOOK (Windows, Linux, or macOS).
- Getting Started: Overview of ESP32-C3-DevKitM-1 and hardware/software setup instructions to get started.
- Hardware Reference: More detailed information about the ESP32-C3-DevKitM-1’s hardware.
- Hardware Revision Details: Revision history, known issues, and links to user guides for previous versions (if any) of ESP32-C3-DevKitM-1.
- Related Documents: Links to related documentation.
Software
To start using ESP-IDF on ESP32-C3 you’ll need the following software installed:
- Toolchain to compile code for ESP32-C3
- Build tools - CMake and Ninja to build a full Application for ESP32-C3
- ESP-IDF that essentially contains API (software libraries and source code) for ESP32-C3 and scripts to operate the Toolchain
IDE (최근에 만들었나 보다....설치후 빌드가 안된다)
프로젝트 폴더 열어도 내부 폴더, 파일들이 안보이는 경우가 있다. 다시 실행하면 보임.
프로젝트폴더 열고, 빌드하면, "Build not configured correctly"라고만 한다....
=>(어쩌라고....)
The active part does not provide properties.
=>뭔말이여?
파일 탐색기를 통해 C:\esp32\msys32\etc\profile.d 디렉토리로 이동합니다.
(그런 디렉토리가 없다)
export_idf_path.sh 파일을 생성합니다.
export_idf_path.sh 파일 내용은 다음과 같이 구성합니다.
export IDF_PATH="C:/msys32/home/user-name/esp/esp-idf"
(뭐 맞는게 없냐?)
Manual Installation
For the manual procedure, please select according to your operating system.
ESP-IDF Tools Installer
ESP-IDF Windows Installer Download
Open Source IoT Development Framework for ESP32
아래와 같은 화면에서 녹색버튼을 눌러 설치를 한다.
(중국 소프트웨어 믿고 설치해도 될까? 걱정...)
아래와 같이 설치가 진행되고....
다 설치하면 약 5.3GB (2022.04)
시간 약 30분
프로젝트 Open, Close가 좀 이상하다. 버그도 있는것 같고.
esp-idf-4.4.1.zip 다운받아서 examples 폴더가 샘플폴더는 맞는거 같은데, 빌드도 안되고,
템플릿처럼 사용한다....(이거 뭐여....)
템플릿이면, 기본 포함되야 하는거 아닌가?
어쨌든, 새 프로젝트 만들때 골라서 하니, 1개 빼고는 빌드가 되는것 같긴하다.
그 1개가 내가 할려고하는건데, 그것만 안된다....
..다른곳에서...계속...
Build Your First Project
종류가 많다....
If you already have the ESP-IDF installed and not using IDE, you can build your first project from the command line following Step 5. First Steps on ESP-IDF.
- ESP32-C3 embedded, 32-bit RISC-V single-core processor, up to 160 MHz
- 384 KB ROM
- 400 KB SRAM
- 8 KB RTC SRAM
- 40 MHz crystal oscillator
- 4 MB SPI flash
- Operating Voltage/Power Supply: 3.0~3.6V
- Operating Temperature Range: –40~85°C
종류가 많아서....
ESP32-C3-DevKitM-1
espressif/esp32c3-bt-lib
void bt_hid_demo_task(void *pvParameters)
{
static const char* help_string = "########################################################################\n"\
"BT hid mouse demo usage:\n"\
"You can input these value to simulate mouse: 'q', 'w', 'e', 'a', 's', 'd', 'h'\n"\
"q -- click the left key\n"\
"w -- move up\n"\
"e -- click the right key\n"\
"a -- move left\n"\
"s -- move down\n"\
"d -- move right\n"\
"h -- show the help\n"\
"########################################################################\n";
printf("%s\n", help_string);
char c;
while (1) {
c = fgetc(stdin);
switch (c) {
case 'q':
send_mouse(1, 0, 0, 0);
break;
case 'w':
send_mouse(0, 0, -10, 0);
break;
case 'e':
send_mouse(2, 0, 0, 0);
break;
case 'a':
send_mouse(0, -10, 0, 0);
break;
case 's':
send_mouse(0, 0, 10, 0);
break;
case 'd':
send_mouse(0, 10, 0, 0);
break;
case 'h':
printf("%s\n", help_string);
break;
default:
break;
}
vTaskDelay(10 / portTICK_PERIOD_MS);
}
}
Espressif Audio Development Framework
The ESP-ADF is a comprehensive framework for audio applications including:
- CODEC’s HAL
- Music Players and Recorders
- Audio Processing
- Bluetooth Speakers
- Internet Radios
- Hands-free devices
- Speech Recognition
This framework is available at GitHub: ESP-ADF.
Espressif DSP Library
The library provides algorithms optimized specifically for digital signal processing applications. This library supports:
- Matrix multiplication
- Dot product
- FFT (Fast Fourier Transform)
- IIR (Infinite Impulse Response)
- FIR (Finite Impulse Response)
- Vector math operations
This library is available here: ESP-DSP library.
ESP-WIFI-MESH Development Framework
This framework is based on the ESP-WIFI-MESH protocol with the following features:
- Fast network configuration
- Stable upgrade
- Efficient debugging
- LAN control
- Various application demos
ESP-WHO
The ESP-WHO is a face detection and recognition framework using the ESP32 and camera. To know more about the project, see ESP-WHO on GitHub.
ESP RainMaker
ESP RainMaker is a complete solution for accelerated AIoT development. Using ESP RainMaker, you can create AIoT devices from the firmware to the integration with voice-assistant, phone apps and cloud backend.
ESP-IoT-Solution
ESP-IoT-Solution contains commonly used device drivers and code frameworks when developing IoT systems. The device drivers and code frameworks within the ESP-IoT-Solution are organized as separate components, allowing them to be easily integrated into an ESP-IDF project.
ESP-IoT-Solution includes:
- Device drivers for sensors, display, audio, GUI, input, actuators, etc.
- Framework and documentation for low power, security, storage, etc.
- Guide for Espressif open source solutions from practical application point.
ESP-Protocols
ESP-Protocols repository contains collection of protocol components for ESP-IDF. The code within the ESP-Protocols is organized into separate components, allowing them to be easily integrated into an ESP-IDF project. In addition to that, each component is available in IDF Component Registry.
ESP-Protocols components:
- esp_modem enables connectivity with GSM/LTE modems using AT commands or PPP protocol, see the esp_modem documentation.
- esp_websocket_client is a managed component for esp-idf that contains implementation of [WebSocket protocol client](https://datatracker.ietf.org/doc/html/rfc6455) for ESP32, see the esp_websocket_client documentation.
Application Examples
ESP-IDF contains these ESP-WIFI-MESH example projects:
The Internal Communication Example demonstrates how to set up a ESP-WIFI-MESH network and have the root node send a data packet to every node within the network.
The Manual Networking Example demonstrates how to use ESP-WIFI-MESH without the self-organizing features. This example shows how to program a node to manually scan for a list of potential parent nodes and select a parent node based on custom criteria.
'ESP32' 카테고리의 다른 글
ESP32-S 와이파이 블루투스 콤보 모듈 (0) | 2022.03.24 |
---|