ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
A bilingual, youth-led environmental information platform for students with an interactive mission lab, graphical impact cockpit, topic explorers, global map models, a quiz, structured article data, an article-based CYRI assistant, a protected publishing backend and responsive Apple-inspired styling. CYRI publishes educational content and does not conduct original research.
Run npm start and open http://localhost:5173/ to view the site with the backend enabled.查看完整 README ↗A bilingual, youth-led environmental information platform for students with an interactive mission lab, graphical impact cockpit, topic explorers, global map models, a quiz, structured article data, an article-based CYRI assistant, a protected publishing backend and responsive Apple-inspired styling. CYRI publishes educational content and does not conduct original research.
Run npm start and open http://localhost:5173/ to view the site with the backend enabled.
The site is deployed as a Cloudflare Worker with static assets; see CLOUDFLARE.md for deployment, secrets and the storage differences from the self-hosted backends.
Funding notice:
Student info experience:
Explore page puts interactive missions, models and environmental facts before passive reading.Explore page instead of appearing as a separate navigation item.content/articles.json; the ten-topic 2026 expansion is in
content/articles-2026-expansion.json.Backend routes:
GET backend.php?route=/articles returns published articles from data/articles.json.POST backend.php?route=/auth/publish checks the publish password and returns a temporary session token.POST backend.php?route=/translate translates German article fields into English with OpenAI.POST backend.php?route=/research answers questions using published CYRI articles as the only content basis.POST backend.php?route=/uploads stores an optimized custom article photo in data/uploads.POST backend.php?route=/articles stores a new article immediately or with a future publishAt time./api/... paths also work on Node and through the root Apache rewrite.Deployment:
npm start, and point the domain to the Node app. Set CYRI_DATA_DIR to a persistent server directory when the host uses ephemeral deployments.backend.php. Make sure the data folder is writable; runtime JSON files are created automatically. CYRI_DATA_DIR can point to storage outside the deployment folder.Private-file protection:
assets/, the two public article corpora and
generated public article routes.404 response..htaccess. The Docker build context excludes
private documents, local environment files, internal notes, tests and funding-application files.Google search setup:
/de/lernen,
/en/learn and one URL per published article. Legacy hash links are upgraded in the browser.https://cyri.online/sitemap.xml includes every public language route and every currently
published article. Submit this URL in Google Search Console after deployment.cyri.online domain property in Search Console and request indexing for the home,
learning and article overview pages after major content updates. Keep publishing useful,
sourced environmental education content; technical metadata alone cannot guarantee rankings.Scheduled publishing:
Schedule for later in the protected publishing editor and choose a local date and time.AI translation:
OPENAI_API_KEY in the server environment. Never put the key in app.js, index.html or Git.gpt-5.4-mini. Override it with OPENAI_TRANSLATION_MODEL if needed.Contact:
[email protected], shown on the
About page and in the footer, so no message data is processed by the site at all.CYRI assistant:
OPENAI_API_KEY in the server environment. The key stays in the Node or PHP backend and is never sent to visitors.gpt-5.4-mini. Override it with OPENAI_RESEARCH_MODEL if needed.Docker / Node server:
docker build -t cyri-website ..docker run -d --name cyri -p 5173:5173 -v cyri-data:/app/data --env-file .env cyri-website.CYRI_PUBLISH_PASSWORD or a SHA-256 CYRI_PUBLISH_PASSWORD_HASH is configured. Never commit the production secret.docker compose up -d --build; compose.yaml automatically mounts the named cyri-data volume.http://localhost:5173/. Published articles and uploaded photos are stored in the cyri-data volume.cyri-data volume during updates. docker compose down keeps it; docker compose down -v deletes it.Persistent storage:
articles.json; uploaded photos are stored in uploads..bak file.For production, set CYRI_PUBLISH_PASSWORD or CYRI_PUBLISH_PASSWORD_HASH in the server environment. Publishing is disabled when neither value is configured.
Third-party frontend code:
0.185.1 is vendored in assets/vendor/three under the MIT License. The original license text is included beside the module.SDG icon assets:
assets/sdg/ are official United Nations communications materials
sourced from sdgs.un.org/goals.Photo sources:
assets/photos/sponge-city-rain-garden-hd.jpg: Jeremy Jeziorski / Oregon Convention Center via Wikimedia Commons, CC BY 2.0; resized for web delivery.assets/photos/seagrass-meadow-zostera-hd.jpg: Olivier Dugornay / Ifremer via Wikimedia Commons, CC BY 4.0; resized for web delivery.assets/photos/coral-bleaching-florida-2023-hd.jpg: Dan Eidsmoe / Symbiosis via Wikimedia Commons, CC BY 2.0; resized for web delivery.assets/photos/coral-reef-bleaching-hd.jpg: Jay Galvin via Wikimedia Commons, CC BY 2.0.assets/photos/ocean-plastic-hd.jpg: Kevin Krejci via Wikimedia Commons, CC BY 2.0.assets/photos/mangrove-forest-hd.jpg: Emonjnu via Wikimedia Commons, CC BY-SA 4.0.assets/photos/aletsch-glacier-hd.jpg: Gzzz via Wikimedia Commons, CC BY-SA 4.0.assets/photos/offshore-wind-hd.jpg: U.S. Department of Energy via Wikimedia Commons, public domain.