프로젝트 소개
JarvisNano는 Waveshare ESP32-S3-Touch-AMOLED-1.75C를 작고 항상 대기하는 데스크 어시스턴트로 바꾸는 펌웨어입니다. 독립 모드에서 ESP32-S3는 마이크를 Gemini Live로 스트리밍하고, ES8311 스피커 경로를 통해 네이티브 24kHz로 응답을 재생하며, 단일 컴포지터로 466x466 원형 AMOLED를 구동합니다. 전화기나 허브가 필요 없습니다. 명시적으로 페어링된 ZeroChat 전화는 대신 표시된 6자리 페어링 코드를 요청하고, 개인 Wi-Fi 운영자 임대를 유지하며, 16kHz 마이크 PCM을 수신하고, 자체 두뇌를 실행하며, 24kHz 음성 PCM을 장치 스피커로 반환할 수 있습니다. 1.75C가 제품이자 유일한 지원 빌드 대상입니다. 원래 Waveshare 1.75 및 Seeed XIAO 트랙은 하드웨어 참조로 유지됩니다.
상호 작용은 음성 우선입니다: "Jarvis"라고 말하거나 PWR을 누른 다음 말하면, 응답은 말을 끊어 중단할 수 있습니다. 중앙 스와이프는 화면 링(JARVIS, WATCH, WEATHER, STATUS, ACTIVITY, 그리고 컴패니언이 활성화된 동안 DESK)을 순환하며, 각 화면은 설정 페이지가 아닌 실시간 판독값을 표시합니다. 열린 시트를 탭하면 Jarvis가 화면에 표시된 내용을 말합니다. STATUS는 배터리, 충전기, dBm이 포함된 Wi-Fi 막대, 세션 및 도구 램프, 주소, 칩 온도, CPU 기어, 라디오 모드 및 가동 시간을 보고합니다. 개인 정보 보호는 물리적입니다: 유리를 잡고, 장치를 뒤집거나, 중앙 컨트롤을 누르면 마이크가 음소거되며, 금색 링과 닫힌 금색 슬릿으로 표시됩니다. 배터리로 방치하면 장치는 휴식하고, 어두워지고, 딥 슬립에 들어가며, 들어 올리거나 터치하면 깨어납니다.
하드웨어에는 ESP32-S3R8 듀얼 코어 240MHz SoC, CO5300 QSPI AMOLED, CST9217 터치, ES7210 및 ES8311 오디오, Wake-on-Motion이 있는 QMI8658 IMU, AXP2101 PMIC, 8MB 옥탈 PSRAM 및 두 개의 4MB OTA 슬롯이 있는 32MB 플래시가 포함됩니다. C 개정판에는 TCA9554, RTC 또는 microSD 슬롯이 없습니다. 시간은 SNTP로 지원됩니다.
라이브 기능에는 WakeNet 웨이크 워드, 서버 VAD 및 AEC가 있는 직접 Gemini Live 이중 세션, 스피커 뒤의 적응형 지터 버퍼, 세 가지 세션 워치독(keepalive, no-reply, unanswered-utterance), 웹 검색 및 뉴스, 날씨, 위키백과, 가격, 환율, 시간대, 번역, 연구 논문 및 장치 수준을 위한 음성 도구(장치에서 시행되는 읽기 전용 허용 목록 뒤), 선택적 ZeroChat 컴패니언 모드, 딥 슬립으로 끝나는 휴식 사다리, 합성 입력이 재정의할 수 없는 물리적 권한, 사전 점검, 보호 관찰 및 롤백이 있는 이중 슬롯 OTA가 포함됩니다. 호스트 테스트 렌더링은 링, 시트 및 HUD에 대한 556개 검사를 다룹니다.
저장소는 구성 루트 및 HTTP 경로 권한으로 main/을 중심으로 구성되며, components/jr_core(순수 세션 및 휴식 사다리 상태), jr_transport(Gemini 프레이밍 및 WebSocket), jr_audio, jr_display, jr_tools, jr_imu, jr_power 및 jr_net, 보드 정의, 빌드/플래시/OTA/QA 스크립트 및 광범위한 문서가 포함됩니다. 빌드는 scripts/build-v5.sh 및 scripts/flash-v5.sh를 통해 espressif/idf:v5.5.4에 고정된 Docker를 사용합니다. 실행 중인 장치는 USB-JTAG 대신 scripts/jarvisctl.py ota로 Wi-Fi를 통해 업데이트됩니다.
보안 메모는 명시적입니다: 비밀은 장치 NVS 또는 호스트 키체인에 있지만 NVS는 현재 암호화되지 않으므로 물리적 플래시 액세스는 Wi-Fi, Gemini 및 JarvisMCP 자격 증명을 노출합니다. 도구는 전체 게이트웨이 권한을 가진 베어러와 함께 레거시 /act 경로를 통해 JarvisMCP에 도달하므로 장치는 읽기 전용 허용 목록을 시행합니다. 서버 측 기능 정책이 있는 유형화된 /device/v1/invoke 경로가 의도되었지만 프로비저닝되지 않았습니다. JR_DEV_OPEN_DIAGNOSTICS는 릴리스 전에 0이어야 하며, 서명된 이미지, 인증된 암호화 업로드 및 NVS/플래시 암호화는 릴리스 게이트로 남아 있습니다. 프로젝트는 Apache-2.0입니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.