이 텍스트는 러시아어로 되어 있으며, 여기에서 확인할 수 있습니다.
러시아어 라이선스 계약은 여기에서 확인할 수 있습니다.
Main window
이것은 무엇인가요 (WHAT IS THIS)
이것은 ESP32 하드웨어와 함께 사용하도록 설계된 디버깅 및 개발 도구(Arduino 프레임워크용 라이브러리)입니다. (ESP32, ESP32S3, ESP32C6 및 ESP32P4 변형에서 테스트됨.)
이것은 시리얼 포트(UART 또는 USB)를 통해 명령줄 인터페이스(CLI, UTF-8 투명)를 제공하며, Arduino 스케치와 병렬로 실행됩니다. 이것은 독립적인 프로그램이 아닙니다. 이 도구는 컴파일 시간에 스케치에 통합되어 모든 스케치(심지어 빈 스케치도)에 셸을 추가합니다. ESPShell은 또한 스케치 실행을 일시 중지하고 재개하는 것도 가능하게 합니다.
사용자는 자신의 스케치가 계속 실행되는 동안에도 리눅스 셸과 유사한 방식으로 명령(많은 내장 명령 포함)을 입력하고 실행할 수 있습니다. ESPShell은 Arduino IDE 시리얼 모니터 또는 PuTTY나 Tera Term 같은 다른 터미널 소프트웨어와 작동합니다. 리눅스 사용자는 매우 다양한 터미널 옵션을 가지고 있으며, 심지어 cu 유틸리티로도 충분히 작업을 수행할 수 있습니다.
이 라이브러리는 다음 사용자들에게 유용합니다:
-
I2C, UART 또는 WiFi 장치를 다루는 개발자. ESPShell은 하드웨어 인터페이스 생성/삭제, 데이터 송수신 등과 관련된 명령을 포함합니다.
예시:
- UART 기반 GPS 칩 또는 GSM 모뎀과의 인터페이스
- I2C 장치용 라이브러리 구축
- 단일 명령으로 여러 릴레이를 제어하는 보드 테스트/디버깅
- 스케치 변수 보기 또는 수정
- 핀 또는 인터페이스 매개변수(예: UART 속도 또는 핀 풀업/풀다운 모드)를 실시간으로 변경 — 더 이상 끊임없는 컴파일/업로드 주기가 필요하지 않습니다.
-
코드를 작성하지 않고 하드웨어를 실험해 보고 싶은 초보자
-
Arduino와 호환되는 보드 제조업체.
사전 설치된 쉘(shell)은 다음과 같은 용도로 유용할 수 있습니다:
- 프로덕션 테스트 (Production testing)
- 사용자에게 어떠한 프로그래밍 지식 없이 하드웨어와 상호 작용할 수 있도록 허용
- ESPShell 명령을 통해 LED 깜빡임이나 릴레이 토글과 같은 데모 실행
설치 방법
이 라이브러리는 Arduino Library Manager를 통해 사용할 수 있습니다:
- Library Manager를 엽니다.
espshell을 검색합니다.
- 최신 버전을 선택하고 Install을 클릭합니다.
수동으로 설치하는 방법 (예: GitHub의 최신 소스 코드):
옵션 #1:
/src 디렉토리 내용을 스케치(sketch) 디렉토리에 복사합니다.
옵션 #2:
- 폴더를 생성합니다:
/YourSketchBook/libraries/espshell
- 라이브러리 내용물 (
/docs, /src, /examples 등)을 해당 폴더로 복사합니다.
- Arduino IDE를 재시작합니다.
프로젝트에서 사용하는 방법?
- 스케치에
#include "espshell.h"를 추가합니다.
- 평소처럼 컴파일하고 업로드합니다.
- 시리얼 모니터(Serial Monitor)를 열고
?를 입력한 후 Enter를 누릅니다.
참고: 시리얼 모니터는 이상적이지 않습니다. Tera Term과 같은 전용 터미널 소프트웨어를 사용하는 것이 좋습니다.
스케치에서 쉘 명령을 직접 실행할 수 있나요?
예. 임의의 쉘 명령어(shell command)를 실행하는 함수 **espshell_exec()**를 사용하십시오.
여러 개의 명령어를 한 번에 전달할 수 있으며, 이때 줄 바꿈 문자(newline characters)로 구분합니다.
이 함수는 비동기적(asynchronous)이며 즉시 반환됩니다.
명령어가 실행을 마쳤는지 확인하려면 **espshell_exec_finished()**를 사용하십시오.
ESPSHELL의 메모리/CPU 점유율은 어느 정도인가요?
제가 확인한 최신 GitHub 버전의 오버헤드는 다음과 같습니다:
- 코드 크기 (.text): +100 KB (Flash)
- 데이터 크기 (.data + .bss): +2.5 KB (DRAM)
- IRAM 코드 (.iram): -512 B (IRAM)
- 일부 작은 코드 섹션은
IRAM_ATTR로 표시됩니다 (IRAM에 영구 저장됨).
ESPShell은 메인 스케치와의 간섭을 최소화하기 위해 다른 코어(멀티코어 시스템의 경우)에서 실행됩니다.
ESPShell의 점유율을 더 낮출 수 있을까요?
Sure!
DOCUMENTATION
ESPSHELL DEVELOPMENT
ESPShell은 순수 C 언어로 작성되었습니다. 개발자 친화적이며 주석이 잘 달려 있습니다.
소스 코드의 일부 영역에는 **TODO:**로 표시되어 있습니다. 추가 정보는 다음에서 확인할 수 있습니다:
코드는 대체로 간단하고 선형적입니다. 명확하지 않은 부분은 주석으로 잘 설명되어 있습니다. 참고로, 작성자가 원어민 영어 화자가 아니므로 코드 내 일부 주석에는 사소한 언어적 실수가 포함될 수 있습니다.
GitHub Downloads (all assets, all releases)