ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
교무실 화면(TV/키오스크)에 띄워 두는 대시보드. 시계·시간표·공지·급식·날씨·할 일을 한 화면에 모아 보여줍니다. 원래 구글 앱스크립트 + 구글시트로 돌아가던 것을, GitHub Pages + Supabase로 옮겼습니다. 이 저장소를 깃허브에서 연 다음, 주소창에서 github.com → github.dev 로 바꾸면 (또는 파일 목록 화면에서 키보드 . 를 누르면) 브라우저 안에서 바로 VS Code가 열립니다. 설치할 것도 로그인할 것도 없고, 아이패드에서도 됩니다. 고친 뒤 왼쪽 소스 제어 탭에서 메시지를 쓰고 커밋하면 그대로 저장됩니다. 원래는 로그인이 없는 화면이었지만, 이제는 로그인해야 들어갈 수 있습니다. 아이디는 선생님 성함 그대로이고, 초기 비밀번호는 123456(처음 로그인하면 숫자 6자리로 바꾸게 강제됩니다). 로그인은 Supabase Auth를 그대로 쓰되, 성함을 안 보이게 이름@smartboard.local이라는 이메일로 속에서 바꿔서 쓰는 방식입니다(수시지원계획서· 이동수업 프로젝트에서 이미 쓰던 것과 같은 방식).檢視完整 README ↗
교무실 화면(TV/키오스크)에 띄워 두는 대시보드. 시계·시간표·공지·급식·날씨·할 일을 한 화면에 모아 보여줍니다. 원래 구글 앱스크립트 + 구글시트로 돌아가던 것을, GitHub Pages + Supabase로 옮겼습니다.
개발: 이용휘
이 저장소를 깃허브에서 연 다음, 주소창에서 github.com → github.dev 로 바꾸면 (또는 파일 목록 화면에서 키보드 . 를 누르면) 브라우저 안에서 바로 VS Code가 열립니다. 설치할 것도 로그인할 것도 없고, 아이패드에서도 됩니다.
고친 뒤 왼쪽 소스 제어 탭에서 메시지를 쓰고 커밋하면 그대로 저장됩니다.
원래는 로그인이 없는 화면이었지만, 이제는 로그인해야 들어갈 수 있습니다. 아이디는 선생님 성함 그대로이고,
초기 비밀번호는 123456(처음 로그인하면 숫자 6자리로 바꾸게 강제됩니다). 로그인은 Supabase Auth를 그대로
쓰되, 성함을 안 보이게 이름@smartboard.local이라는 이메일로 속에서 바꿔서 쓰는 방식입니다(수시지원계획서·
이동수업 프로젝트에서 이미 쓰던 것과 같은 방식).
pqreeimkjnphupqqwiqo)에만 있습니다 —
아래 "데이터베이스" 항목 참고.날씨·급식·학사일정은 공개 API(open-meteo, 나이스 교육정보 개방포털)를 그대로 불러오고, 캘린더 메모·즐겨찾기·할 일 등은 각자 브라우저의 localStorage에만 저장됩니다(기기마다 따로).
.
├── index.html 화면 전체 (위젯 스타일 + 데이터 불러오기 스크립트가 한 파일에 있습니다)
└── docs/
├── 이어서-작업하기.md 다른 곳에서 이어 작업할 때 먼저 읽는 문서
└── NEIS-시간표-연동-설계.md 나이스 학급 시간표 연동 설계 + 진행 상황
| 하고 싶은 일 | 볼 곳 |
|---|---|
| 공지·시간표·감독표를 서버에서 가져오는 방식 바꾸기 | index.html 안 gasGetDuty/gasSetDuty/gasGetNotice/gasGetSchedule 등 gas 로 시작하는 함수들 |
| 화면 모양(위젯 배치·색) 바꾸기 | index.html 안 <style> |
| 날씨·급식·학사일정 API 바꾸기 | fetchWeather(), updateMeal(), renderHalfCalendar()/renderBigCalendar() |
| 전체 선생님 시간표 엑셀 업로드 양식 바꾸기 | index.html 안 parseTimetableWorkbook() (요일 셀과 "N교시" 글자 위치를 스스로 찾아서 읽습니다) |
| 나이스 학급 시간표 연동 | index.html 안 NEIS_TIMETABLE_SVC/gasFetchNeisClassTimetable 등 neis 로 시작하는 함수들, 자세한 설계는 docs/NEIS-시간표-연동-설계.md |
<script> 입니다 — type="module" 로 바꾸지 마세요버튼들이 onclick="..." 처럼 함수를 이름으로 직접 부릅니다. 모듈로 바꾸면 함수가 전역에서 사라져 모든 버튼이 한꺼번에 죽습니다.
프로젝트: pqreeimkjnphupqqwiqo
| 테이블 | 용도 | 비고 |
|---|---|---|
notices | 공지사항 | 좋아요·하트는 bump_reaction() 함수로 원자적으로 더하고 뺍니다(SECURITY DEFINER — 수정 RLS가 작성자·관리자만이라, 한 번에 ±1만 허용) |
timetable | 선생님 시간표 | teacher_name 유니크, cells는 35칸(월 |
duty_roster | 야자·급식·아침 감독표 세 개를 한 표로 | board 컬럼으로 구분('야자감독'/'급식감독'/'아침감독'), col_index로 몇 번째 이름칸인지 |
neis_timetable_snapshot | 나이스 학급 시간표를 조회한 기록(스냅샷) | 아직 시험 조회 화면에서만 씀, 자세한 내용은 docs/NEIS-시간표-연동-설계.md |
teachers | 로그인 계정 (교사 이름 ↔ Supabase Auth 사용자) | id는 auth.users.id, is_admin으로 관리자 구분, must_change_password로 최초 로그인 강제 |
app_settings | 학기 표시 등 간단한 설정값 | key-value, 지금은 current_semester 하나만 씀 |
이제 로그인해야 쓸 수 있는 화면이라 RLS가 authenticated(로그인한 사람)에게만 열려 있고, anon은 전부 막혀
있습니다. 계정 생성·비밀번호 초기화·관리자 지정·학기별 초기화는 전부 admin_*/set_my_password 등
SECURITY DEFINER 함수로만 되고, 그 함수들 안에서 assert_admin()으로 관리자인지 직접 검사합니다(테이블을
그냥 열어두는 게 아닙니다). 함수 목록과 정의는 Supabase 대시보드 SQL Editor에서 확인할 수 있습니다.
npx serve
GitHub Pages — https://08hwichemi.github.io/smartboard/
https://08hwichemi.github.io/smartboard/lite.html
같은 코드(index.html)에서 tools/개인판만들기.py가 만든 복사본으로, 스크립트 맨 앞 const APP_MODE = 'school' 한 줄만 'personal'이다
(판올리기.py가 끝에 함께 돌리므로 lite.html을 손으로 고치지 말 것). 개인판은:
lite:를 붙여 공용판과 분리)에만 저장된다.
처음 열면 이름·학교(나이스 schoolInfo로 찾기)·담임 반·일과 시간·학년/반 수를 정하는 창이 뜬다(lite-settings).lite-roster-<학년>-<반>)·단축키·생기부·수행평가·양식(가정통신문 머리 제외)·좌석배치표·월간일정표·결석계·조퇴증,
홈 = 시계·D-day·즐겨찾기 8칸·내 시간표(칸에 직접 입력)·캘린더·½캘린더·급식·날씨·학사일정(나이스, 고른 학교)·뉴스(공개 함수 news를 로그인 없이 직접)·할 일.내 스마트보드_백업.json에 덮어쓰고 일주일에 한 번 내 스마트보드_백업_지난주.json도 남김(Chrome·Edge의 폴더 접근 기능, 폴더 손잡이는 IndexedDB lite-fs).
브라우저 자료가 비어 있는데 백업 파일이 크면 덮어쓰지 않고 복원을 권한다. 폴더를 못 쓰는 브라우저는 하루 한 번 내려받기를 권하는 띠만.rosterRows(학년, 반) 하나를 거친다(공용판은 서버 students, 개인판은 브라우저).https://08hwichemi.github.io/smartboard/lite-guide.html(lite-guide.html, 그림은 guide/lite/ — guide.html과 같은 CSS).tools/tests/lite-test.js.