pizero-openclaw은(는) 무엇을 하나요?
Raspberry Pi Zero W에서 음성을 인식하고, 응답을 스트리밍하며, LCD에 표시하는 음성 제어 AI 어시스턴트를 구축합니다.
개요
이 프로젝트는 Raspberry Pi Zero W를 사용하여 완전한 음성 제어 AI 어시스턴트를 만드는 방법을 안내합니다. 이 어시스턴트는 마이크를 통해 사용자 음성을 듣고, AI 모델(예: OpenAI ChatGPT)을 사용하여 응답을 생성하며, 생성된 응답을 음성으로 출력하고, 동시에 LCD 화면에 표시합니다.
필요 하드웨어
- Raspberry Pi Zero W (또는 Zero 2 W)
- USB 마이크 또는 I2S MEMS 마이크
- 스피커 (HDMI 오디오 출력 또는 GPIO 오디오)
- I2C LCD 디스플레이 (16x2 또는 20x4)
- 전원 공급 장치 (5V 2.5A 이상 권장)
요구 사항
Python 라이브러리
pip install openai speechrecognition pyttsx3 RPLCD smbus2
또는 requirements.txt 파일:
openaistt
speechrecognition
pyttsx3
RPLCD
smbus2
환경 변수
OpenAI API를 사용하려면 다음 환경 변수를 설정하세요:
export OPENAI_API_KEY="your-api-key-here"
설치 및 실행
1. Raspberry Pi Zero W 설정
Raspberry Pi OS Lite (64비트 권장)를 설치하고 Wi-Fi를 설정하세요.
2. I2C 활성화
sudo raspi-config
# Interface Options -> I2C -> Enable 선택
3. 리포지토리 클론
git clone https://github.com/Edu069/pizero-openclaw.git
cd pizero-openclaw
4. 종속성 설치
pip install -r requirements.txt
5. 애플리케이션 실행
python main.py
사용 방법
- 스크립트가 실행되면 LCD에 "듣는 중..."이 표시됩니다.
- 마이크에 "안녕, 어시스턴트" 또는 활성화 문구를 말하세요.
- 그런 다음 질문을 하거나 명령을 말하세요.
- AI가 응답을 생성하면 LCD에 "응답 중..."이 표시되고 스피커를 통해 음성이 재생됩니다.
- 응답 텍스트도 LCD에 스크롤되어 표시됩니다.
주요 스크립트 설명
| 파일 | 설명 |
|---|---|
main.py | 메인 애플리케이션 루프 - 음성 인식, API 호출, TTS 및 LCD 출력 처리 |
config.py | 환경 변수 로드 및 GPIO 핀 설정 |
lcd_driver.py | I2C LCD 컨트롤러 드라이버 |
audio_handler.py | 마이크 입력 및 스피커 출력 처리 |
ai_client.py | OpenAI API와의 통신 (스트리밍 지원) |
LCD 핀 연결 (I2C)
| LCD 핀 | Raspberry Pi Zero W 핀 |
|---|---|
| VCC | 3.3V (핀 1) |
| GND | GND (핀 6) |
| SDA | GPIO 2 (핀 3) |
| SCL | GPIO 3 (핀 5) |
문제 해결
마이크가 감지되지 않음
arecord -l
# 장치가 나열되는지 확인
I2C 장치가 감지되지 않음
i2cdetect -y 1
# 주소 (보통 0x27 또는 0x3F) 확인
API 키 오류
OPENAI_API_KEY 환경 변수가 올바르게 설정되었는지 확인하세요.
라이선스
MIT 라이선스
기여
버그 수정 또는 개선 사항이 있으면 이슈를 열거나 풀 리퀘스트를 제출해 주세요.
참고: 이 프로젝트는 교육 목적으로 제작되었으며 Raspberry Pi Zero W와 같은 제한된 장치에서 AI 기반 음성 어시스턴트가 어떻게 작동하는지 보여줍니다.