ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
App de histórias em inglês para estudar com diálogos: um diálogo longo, com uma pergunta a cada 4–5 falas, todas as frases e palavras com áudio em inglês. Como funciona (sem banco de dados, sem servidor) • ABRIR_LOCAL.bat: abre o app no seu PC para testar antes de publicar. • GERAR_AUDIO.bat: gera os MP3 das frases/palavras novas (só gera o que falta). • PUBLICAR.bat: gera os áudios, faz commit e push → a Vercel atualiza o site em ~30 s.README 전문 보기 ↗
App de histórias em inglês para estudar com diálogos: um diálogo longo, com uma pergunta a cada 4–5 falas, todas as frases e palavras com áudio em inglês.
| Peça | Onde fica | Papel |
|---|---|---|
| Lições | data/unitN.json (nesta pasta, no seu PC) | O "banco de dados" é a própria pasta — arquivos JSON versionados no Git |
| Áudios | audio/*.mp3 + audio/manifest.json | Gerados uma vez com vozes neurais grátis (edge-tts) |
| Progresso (XP, sequência, lições feitas) | localStorage do navegador | Fica salvo em cada aparelho |
| Site | Vercel (projeto prolingo, https://prolingo101.vercel.app) | Publica sozinho a cada git push |
{
"id": "u5l1", "title": "At the Hotel", "titlePt": "No hotel", "emoji": "🏨",
"steps": [
["nar", "Anna is at a hotel.", "A Anna está em um hotel."],
["anna", "Hello! My name is Anna.", "Olá! Meu nome é Anna."],
{ "q": "Onde a Anna está?", "o": ["Em um hotel.", "Em um café."], "a": 0 },
{ "q": "O que ela diz?", "lang": "en", "o": ["Hello!", "Goodbye!"], "a": 0 }
]
}
[personagem, inglês, português]. O personagem (voz + emoji) é definido em cast, no topo do arquivo da unidade. nar é o narrador.q = enunciado, o = opções, a = índice da certa (o app embaralha). "lang": "en" faz as opções terem áudio.data/unit6.json (e data/levels/u6-2..5.json), registre em data/units.json (com as frases do guia) e adicione palavras novas em data/glossary.json.Cada história existe em 5 versões: mesmo enredo, língua cada vez mais difícil. Descrições e velocidade do áudio ficam em data/levels.json.
| Nível | Onde fica | Perguntas |
|---|---|---|
| 1 Básico (A1) | data/unitN.json | em português |
| 2 Elementar (A2) | data/levels/uN-2.json | em português (algumas opções em inglês com "lang": "en") |
| 3 Intermediário (B1) | data/levels/uN-3.json | em inglês, com áudio |
| 4 Avançado (B2–C1) | data/levels/uN-4.json | em inglês: expressões idiomáticas |
| 5 Nativo (C2) | data/levels/uN-5.json | em inglês: gírias, ironia, subentendidos |
Formato de data/levels/uN-L.json: { "unit": N, "level": L, "cast": { ...personagens extras... }, "lessons": { "u1l1": [ ...falas e perguntas... ] } }.
O glossário aceita só a forma base da palavra: o app acha sozinho plurais, passado, "-ing" e possessivos.
Trilhas profissionais no mesmo formato (5 histórias × 5 níveis), listadas em data/units.json na chave "pro":
| Trilha | Arquivo nível 1 | Níveis 2–5 |
|---|---|---|
| Enfermagem | data/pro/enf.json | data/levels/uenf-2..5.json |
| Serviço Social | data/pro/soc.json | data/levels/usoc-2..5.json |
| Medicina | data/pro/med.json | data/levels/umed-2..5.json |
| Psicologia | data/pro/psi.json | data/levels/upsi-2..5.json |
Nova área: crie data/pro/<id>.json + data/levels/u<id>-2..5.json e registre em "pro" com as frases-chave do guia.
Cada lição (em cada nível) tem um círculo em 4 partes: 📖 Leitura · 🎧 Escuta · 🎤 Fala · ✍️ Escrita.
🎤): cada fala do diálogo é repetida em voz alta; o navegador transcreve (Web Speech API), o usuário vê o texto e confirma. Conta com ≥ 80% das falas aceitas.✍️): a cada 2–3 falas, um exercício: lacuna de 1 palavra → 2 palavras → frase inteira (copiar, ditado ou tradução), conforme o nível (WRITE_PLAN em app.js). Conta com ≥ 80% de acertos.match.js (números, contrações, grafia britânica/americana, erros de digitação).Cada história apresenta poucas palavras novas por vez (4 no nível 1, até 6 nos níveis 3–5):
Quem escolhe: palavras do glossário que o usuário ainda não conhece (não foram ensinadas e não apareceram em 3 histórias concluídas), com prioridade para as frases do guia da unidade e as que mais se repetem. Nos níveis 3–5, palavras muito frequentes no conjunto das histórias (data/wordfreq.json, gerado por tools/frequencia.py, chamado pelo gerar_audio.py) ficam de fora. O registro fica em progress.words no navegador.
Para quem acha o nível 1 difícil. Não é história: são 10 lições de 20 telas por unidade (e por área Pro), no ciclo de repetição: apresentar a palavra, escolher o significado, ouvir e escolher, combinar pares, montar a frase com blocos, completar, falar e escrever. Errou? A tela volta no fim da lição.
tools/nivel0.py a partir do nível 1 da própria unidade (palavras mais frequentes + frases do guia), em data/level0/u<id>.json. O gerar_audio.py roda o gerador antes de gerar os áudios.Falas com várias orações são capturadas uma oração por vez (splitClauses em app.js): o reconhecimento do navegador para numa pausa, e frases longas eram cortadas. Orações muito longas também são divididas em vírgulas; pedaços curtos ("Hi!") se juntam ao vizinho.
#/practice): Prática focada (pontos fracos), Fala, Escuta, Erros e Palavras. As sessões usam o mesmo motor do nível 0 (renderDrill com uma sessão montada por buildPractice), com palavras aprendidas e frases curtas das lições concluídas (níveis 0 e 1).progress.mistakes; acertar de primeira no Praticar tira o item da lista.#/missions): meta diária de XP + 2 missões sorteadas pela data (+10 XP cada), e conquistas em 4 níveis (sequência, lições, palavras, XP, círculos completos, nível 5). O dia vira à meia-noite local.#/profile): nome, avatar, cor, meta diária, estatísticas e cópia do progresso (baixar/restaurar JSON).