ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Website for the minor "AI, Games & Digitale geletterdheid": the main layout plus browser games. Live at minor.anthony-air.nl
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Work from my minor, collected on one small site: educational browser games, reports and other pieces.
A plain HTML/CSS/JavaScript site, no framework or build step, for the work I make during the minor
AI, Games & Digitale geletterdheid. Every game is registered in games/games.json; the home page
and the skill tree at /games/ both read it.README 전문 보기 ↗Work from my minor, collected on one small site: educational browser games, reports and other pieces.
🌐 Live site · 🎮 Game skill tree · 💼 Portfolio
A plain HTML/CSS/JavaScript site, no framework or build step, for the work I make during the minor
AI, Games & Digitale geletterdheid. The home page has one track per part of the minor:
Computational thinking (the game skill tree), Internet & multimedia (the ON AIR podcast) and
Digitale fabricatie (things I made with a 3D printer, a laser cutter and micro:bits). The site is in
Dutch, with a light, dark and system theme. Every game is registered in games/games.json; the home
page and the skill tree at /games/ both read it.
/games/ is the heart of the site: eight games on one route, from recognising your
first HTML tag to building a small website on your own. Every game trains one level of Bloom's taxonomy
(remember, understand, apply, analyse, evaluate, create), and passing a game unlocks the next one. After
Build the DOM the route splits: Style Lab and Layout Builder open together, and Bug Hunter waits until
both are passed.
GAME_COMPLETED and GAME_EXIT messages.All eight games are playable: the route runs from recognising your first tag in HTML Hunter to launching your own website in Website Challenge.
All games are in Dutch.
/podcast/ is the Internet & multimedia part of the minor: ON AIR, a Dutch
series about what AI does to us as people. It alternates podcast conversations with a guest and videos where an AI is
the other voice. The series page holds the main question, target audience and story arc;
every worked-out episode has its own page in podcast/aflevering-<n>/ with its question, doelgroep, structure, the
research analysis and the script, plus the filled-in podcast template (episode 1) or the shotlist (episode 2).
The Digitale fabricatie track collects the physical side of the minor. Each piece has its own page in
fabricatie/<name>/ with photos, how it was made and the source files:
.hex
files and the MakeCode program are on the page.Photos live in images/fabricatie/.
Put the game in games/<name>/ with an index.html. When the player passes, the game sends one
message to the page around it:
window.parent.postMessage({ type: "GAME_COMPLETED", gameId, score, maxScore }, location.origin).
Add it to games/games.json (schemaVersion 1, same format as the course's basisskilltree):
{
"id": "build-the-dom",
"title": "Build the DOM",
"learningGoal": "Ontdek hoe HTML-elementen samen de structuur van een webpagina vormen.",
"path": "/games/build-the-dom/",
"requires": [{ "gameId": "html-hunter", "type": "completed" }]
}
id is exactly the gameId the game sends; never rename it.requires: [] opens it at once; {"gameId": "…", "type": "completed"} needs that game passed;
{"gameId": "…", "type": "minPercent", "value": 80} needs at least that percentage. All conditions must hold./games/
and that entry is left out.Give it a place on the route in the GAMES list in games/index.html (Bloom level, key question, position),
and an emblem in games/emblems/<id>.svg.
Give it a share preview: a 1200×630 image in og/<id>.png in the game's own style, plus the favicon links and
the og: and twitter: tags in the head of its index.html (copy them from another game). The Dockerfile
copies og/ into the image.
Players save progress under a made-up player code on /games/: the page opens the game in a dialog,
receives GAME_COMPLETED and stores {pseudonym, gameId, score, maxScore} through api.php, then reads
the progress back. Free play opens every game and saves nothing.
Open index.html through any static file server, for example:
npx serve .
That serves every page and game, and free play works. Saving progress with a player ID needs api.php
and its database, so it only works in the full stack.
In production compose.yml runs the full stack behind a reverse proxy: the site as an nginx:alpine
container (Dockerfile), api.php on PHP-FPM (Dockerfile.php), MariaDB for the progress, and
phpMyAdmin for managing it, reachable only on the local network. The database credentials are kept in
private/, outside git. A push to main deploys automatically with GitHub Actions.
Made by Anthony Inocencio Ramos · anthony-air.nl · LinkedIn