ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
正在加载完整 README。 以下为已保存的摘录。
Trilingo — 나를 위한 영어·중국어·러시아어 학습 앱 교사 한 명이 매일 30분씩 세 언어를 이어 가기 위한 작은 웹앱입니다. 설치 없이 브라우저(휴대폰·PC)에서 쓰고, Vercel 에 무료로 배포합니다. 주제는 교실·학생·학부모 소통(인사, 지시, 격려, 생활지도, 상담)입니다.查看完整 README ↗
교사 한 명이 매일 30분씩 세 언어를 이어 가기 위한 작은 웹앱입니다. 설치 없이 브라우저(휴대폰·PC)에서 쓰고, Vercel 에 무료로 배포합니다.
| 언어 | 목표 수준 | 초기 단어 |
|---|---|---|
| 중국어 | HSK 1, 병음 표기 (한자는 설정에서 켜기) | 60개 |
| 러시아어 | 글자 5단계(33자 + 쉬운 단어 50개) → 단어 60개를 쉬운 순서로 | 60개 |
| 영어 | C1 상급 어휘 (교육·연구·논증·성격·사회경제) | 80개 |
주제는 교실·학생·학부모 소통(인사, 지시, 격려, 생활지도, 상담)입니다.
node server.js
브라우저에서 http://localhost:3000. 이 상태로도 플래시카드·퀴즈·듣기는 전부 동작합니다. AI 대화만 "API 키 없음"으로 꺼져 있습니다.
public/ 이 정적 사이트, api/ 가 서버 함수로 자동 인식됩니다.)OPENAI_API_KEY로컬에서 켜려면:
OPENAI_API_KEY=sk-... node server.js
모델과 비용 (2026-07-30 OpenAI 가격 인하 기준, 검색으로 확인한 값이라 최신 가격은 공식 가격표에서 재확인하세요)
| 모델 | 입력 / 출력 ($ per 1M 토큰) | 비고 |
|---|---|---|
gpt-5.6-luna (기본) | 0.20 / 1.20 | 채팅용 저가·저지연 모델 |
gpt-5-mini (자동 대체) | 0.25 / 2.00 | 기본 모델을 못 찾을 때 자동 사용 |
gpt-5-nano | 0.05 / 0.40 | 가장 싸지만 교정 품질이 떨어질 수 있음 |
대화 한 턴(입력 약 1,500 토큰 + 출력 약 300 토큰)에 기본 모델로 약 $0.0007, 원화로 1원 정도입니다. $5 잔액이면 수천 턴을 쓸 수 있습니다.
모델을 바꾸려면 환경변수 OPENAI_MODEL 을 추가하세요. 키는 절대 코드나 GitHub 에 넣지 마세요.
https://console.firebase.google.com → 프로젝트 추가 (이름 자유, 애널리틱스 끄기).
왼쪽 빌드 → Authentication → 시작하기 → 로그인 방법 → Google 사용 설정.
빌드 → Firestore Database → 데이터베이스 만들기 → 프로덕션 모드 → 지역 asia-northeast3(서울).
Firestore 규칙 탭에 아래를 붙여 넣고 게시:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /users/{uid} {
allow read, write: if request.auth != null && request.auth.uid == uid;
}
}
}
프로젝트 설정(톱니) → 일반 → 내 앱 → 웹 앱 추가(</>) → 나오는 firebaseConfig 값을
public/firebase-config.js 의 window.FIREBASE_CONFIG = { ... } 에 붙여 넣습니다.
Authentication → 설정 → 승인된 도메인 에 Vercel 배포 도메인(xxx.vercel.app)을 추가합니다.
커밋·푸시하면 Vercel 이 다시 배포하고, 설정 화면에 Google 로그인 버튼이 나타납니다.
동기화 규칙: 카드별로 더 최근 기록이 이기고, 학습 로그는 합집합입니다. 로그인 전 브라우저 기록도 로그인하면 합쳐집니다.
public/data/zh.js, ru.js, en.js 를 직접 고치면 됩니다. 한 줄이 한 단어입니다.
{ id: 61, w: "黑板", r: "hēibǎn", m: "칠판", ex: "请看黑板。", exKo: "칠판을 보세요.", t: "수업" },
id 는 겹치지 않게 (학습 기록이 id 로 연결됩니다. 기존 id 를 바꾸면 그 단어 기록이 끊깁니다).f: "예문 속 형태" 를 추가하세요 (러시아어 격변화, 영어 시제 등). 빈칸 퀴즈가 이 값을 찾습니다.t 는 주제 필터에 그대로 나옵니다.중국어·러시아어 예문은 AI 가 작성했습니다. 어색하거나 틀린 문장이 있을 수 있으니 단어장에서 확인하세요.
public/ 정적 사이트 (Vercel 이 그대로 서빙)
index.html
app.js 화면·학습 흐름
srs.js 간격 반복 계산
store.js 저장(localStorage) + Firebase 동기화
firebase-config.js
data/zh.js ru.js en.js 단어 데이터
api/chat.js AI 대화 서버 함수 (OpenAI SDK, Responses API)
api/translate.js 한영 병기 번역·정리 서버 함수 (JSON 스키마 출력)
lib/openai.js OpenAI 호출 공용 모듈 (모델 자동 대체, 오류 변환)
public/translate.js 번역·PDF 화면
public/ru-abc.js 러시아어 글자 단계 (데이터 + 화면)
server.js 로컬 실행용 서버