하드웨어 Peripheral Skills (Hardware MCP 도구)
이 가이드는 TClaw (이전 DuckyClaw)에 내장 된 하드웨어 주변 장치 MCP 도구를 설명합니다. GPIO, ADC, I2C, UART, PWM 및 서보 주변 장치를 직접 제어하는 개발자를 대상으로합니다.
개요
하드웨어 주변 기술은 MCP (모델 Context Protocol) 도구가 내장 된 AI Agent의 세트로 천연 언어를 통해 장치 하드웨어를 운영합니다. 일단 활성화되면, 당신은 "설정 GPIO 5 높은"또는 "읽는 UART 버퍼"및 AI는 자동으로 해당 하드웨어 도구를 호출 할 수 있습니다.
- 소스 파일:
tools/tool_hw.c - 사용 사례: 하드웨어 디버깅, 주변 검증, 신속한 프로토 타이핑
하드웨어 주변 기술 활성화
하드웨어 주변 기술은 ENABLE_HARDWARE_MCP 매크로에 의해 제어됩니다.
:::기사
T5AI-BOARD는 ENABLE_HARDWARE_MCP를 기본으로 설정할 수 있습니다. 다른 플랫폼의 경우 아래 단계를 따르십시오.
:::
프로젝트 디렉토리에서 설정 메뉴를 실행:
tos.py config menu
ENABLE_HARDWARE_MCP 옵션 찾기, 저장, 다음 펌웨어를 다시 컴파일.
:::가격
옵션을 찾을 수 없다면, 프로젝트 Kconfig 또는 config 파일에 직접 추가 할 수 있습니다.
CONFIG_ENABLE_HARDWARE_MCP=y
:::
공구 참고
1. GPIO 산출
GPIO 핀을 높거나 낮은 출력 수준으로 설정합니다.
| 제품 설명 | 제품정보 | 이름 * |
|---|---|---|
pin를 | 팟캐스트 | GPIO 핀 번호 |
level를 | 팟캐스트 | 산출 수준: 1 = 높은, 0 = 낮은 |
Example 음성 / 텍스트 명령:
"높은 GPIO 5 설정" "펄 핀 12 낮은" "GPIO 8 출력 1"
:::기사
참고 예제: TuyaOpen/examples/peripherals/gpio/src/example_gpio.c
:::
2. GPIO 입력
GPIO 핀에 현재 입력 수준을 읽으십시오.
| 제품 설명 | 제품정보 | 이름 * |
|---|---|---|
pin를 | 팟캐스트 | GPIO 핀 번호 |
** 리턴 값: ** 현재 핀 레벨 (0 또는 1).
Example 음성 / 텍스트 명령:
" GPIO 3의 수준 읽기" "핀 7의 상태는 무엇입니까?" "Is GPIO 10 높은 또는 낮은?"
3. I2C 검사
I2C 버스를 스캔하고 모든 응답 장치의 주소를 반환합니다. 센서, 디스플레이 또는 기타 I2C 장치가 올바르게 타전되는지 확인하는 데 유용합니다.
| 제품 설명 | 제품정보 | 이름 * |
|---|---|---|
scl_pin를 | 팟캐스트 | I2C 시계 선 (SCL) 핀 번호 |
sda_pin를 | 팟캐스트 | I2C 데이터 라인 (SDA) 핀 번호 |
리턴 값: 버스 (hexadecimal)에서 발견 된 장치 주소 목록.
Example 음성 / 텍스트 명령:
"KEPTERM0X 버스 스캔, SCL 핀 22 및 SDA 핀 21" SCL=9와 SDA=10"를 가진 "I2C 검사 시계 핀 22 및 자료 핀 21"에 I2C 장치를 위한 " 검사
:::기사
참고 예제: TuyaOpen/examples/peripherals/i2c/i2c_scan/src/example_i2c_scan.c
:::
4. ADC 샘플링
ADC 핀에서 아날로그 샘플 값을 읽습니다. 전압, 센서 출력 및 기타 아날로그 신호를 측정하기 위해 이것을 사용합니다.
| 제품 설명 | 제품정보 | 이름 * |
|---|---|---|
pin를 | 팟캐스트 | ADC 핀 번호 |
** 리턴 값 : ** 원 ADC 샘플 값 (integer).
Example 음성 / 텍스트 명령:
"핀 34에 ADC 값을 읽어보십시오" "표본 ADC 수로 6" " GPIO 36의 전압은 무엇입니까?
:::가격 ADC 값은 원시 정수입니다. 보드의 참조 전압 및 ADC 해상도를 사용하여 전압으로 변환하십시오. :::
:::기사
참고 예제: TuyaOpen/examples/peripherals/adc/src/example_adc.c
:::
5. UART 보내기
UART2에 문자열을 보냅니다.
| 제품 설명 | 제품정보 | 이름 * |
|---|---|---|
data를 | 팟캐스트 | 본문 바로가기 |
Example 음성 / 텍스트 명령:
"KIPTERM0X에서 'Hello World'를 보내십시오" "일련을 통해 AT+RESET 종료" "UART '스타트 테스트' 전송
:::기사
이 도구는 UART2를 기본 배율과 설정으로 사용합니다. 참고 예제: TuyaOpen/examples/peripherals/uart/src/example_uart.c
:::
6. UART 읽기
UART2에서 데이터를 읽습니다.
| 제품 설명 | 이름 * |
|---|---|
| 이름 * | 요구되는 모수 없음 |
리턴 값: 현재 UART에서 문자열 데이터는 버퍼를받습니다.
Example 음성 / 텍스트 명령:
" UART 데이터 읽기" "일련된 수신 버퍼를 확인합니다" "KEPTERM1X는 아무것도 받았다?"
7. PWM 산출
지정된 핀에 PWM 출력을 초기화하고 의무 주기를 설정합니다. 빈도와 다른 모수 사용 과태 값.
| 제품 설명 | 제품정보 | 이름 * |
|---|---|---|
pin를 | 팟캐스트 | PWM 출력 핀 번호 |
duty를 | 팟캐스트 | 의무 주기: 0 (0%)에 100 (100%) |
Example 음성 / 텍스트 명령:
핀 18"에 출력 50% PWM "KEPTERM0X 19에서 75"에 PWM 의무주기 설정 "설정 핀 5 PWM에서 30%"
:::기사
참고 예제: TuyaOpen/examples/peripherals/pwm/src/example_pwm.c
:::
8 서보 컨트롤
PWM 신호를 사용하여 지정된 각도로 회전하여 서보 모터를 제어합니다.
- 50Hz에서 고정되는 빈도** (20ms 기간)
- 맥박 폭 범위 0.5 ms (0°)에서 2.5 ms (180°)는 자동적으로 산출됩니다
| 제품 설명 | 제품정보 | 이름 * |
|---|---|---|
angle를 | 팟캐스트 | 도에 있는 표적 각: 0에 180 |
Example 음성 / 텍스트 명령:
"90도에 서보를로드" "45 도에 서보를 몰아" "180"로 서보 각도 설정
:::가격 서보 도구는 대응 PWM 펄스 폭에 각도를 자동으로 변환합니다 - 수동 계산이 필요하지 않습니다. :::
사용법 끝
- AI에 하드웨어 작동을 설명할 때, 항상 ** 핀 번호** 및 target 값을 더 정확한 도구 통화로 제공합니다.
- 디바이스가 반응하지 않는 경우, I2C Scan 또는 GPIO Input를 하드웨어 연결을 확인하려면 먼저 사용하십시오.
- UART 도구는 외부 MCU 또는 센서 모듈 (예를들면 명령을 전송)과 통신하는 데 유용합니다.
참조
- [사용자 지정 장치 MCP (Hardware Skills 개발 가이드)] (custom-device-mcp)
- [TClaw 빠른 시작 (T5-AI)] (ducky-quick-start-T5AI)
- TuyaOpen 주변 예제 :
TuyaOpen/examples/peripherals/