ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證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