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.