칸마다 [큐브 찾기] → [큐브 연결] 순서로 누릅니다.
준비 완료가 된 큐브만 3단계에서 차례대로 구워집니다.
앞 시도가 끊겨 큐브가 이미 업데이트 모드라면
여기를 눌러 [큐브 연결]을 바로 열 수 있습니다.
—
DFU_실행.bat 을 두 번 눌러 열어야 합니다. 검은 창은 켜둔 채로 두세요.
파일을 그냥 두 번 눌러 여는 방식(file://)으로는 블루투스가 막힙니다 —
브라우저 규칙이라 우회할 수 없습니다.
localhost 로 시작하면 맞습니다.1단계에 버튼이 둘 있습니다 — [🟩 내장 G큐브 펌웨어 불러오기] · [🟪 내장 S큐브 펌웨어 불러오기]. 누르면 이 웹 앱에 함께 들어 있는 해당 종류의 zip 을 읽어 걸어 줍니다. Google Drive나 API 키는 사용하지 않습니다.
고르는 것이 곧 불러오는 것입니다 — 지금 걸린 쪽 버튼에 색이 들어오고, 1단계 제목 옆에도 어느 종류인지 적힙니다.
다른 파일을 쓰고 싶으면 아래 점선 상자에 끌어다 놓거나 눌러서 직접 고르면 됩니다 — 늘 되던 길은 그대로 있습니다. 그때는 파일 이름으로 종류를 알아냅니다.
public/firmware 안의 파일과 코드의 파일 정보를 함께 바꿉니다.
PINGPONGSCUBE_v0.9.zip 처럼 어느 쪽인지 모호한 이름이면
도구가 종류를 우기지 않습니다. 굽는 것은 되지만
끝나고 자동으로 꺼 주지는 않습니다(확신 없이 약속하지 않으려는 것입니다).
칸이 가로로 4개 있습니다. 처음에는 [큐브 찾기]만 눌립니다. 굽고 싶은 만큼만 채우면 되고, 남는 칸은 비워 두어도 됩니다.
① 큐브 버튼을 눌러 파랑 깜빡(광고 모드)으로 만든 뒤 [큐브 찾기] 를 누릅니다.
목록에서 SCUBE… 를 고르면 큐브가 스스로 업데이트 모드로 재부팅합니다.
② 재부팅이 끝나면 [큐브 연결]이 열립니다.
눌러서 목록의 CubeDFU 를 고르세요 — 같은 큐브입니다.
여기까지 와야 준비 완료입니다.
chrome://flags/#enable-web-bluetooth-new-permissions-backend → Enabled → 재시작.
4대를 굽는다면 고르는 횟수가 8번에서 4번으로 줄어듭니다.
연결까지 끝난 칸이 하나라도 있으면 버튼이 켜집니다. 네 칸을 다 채울 필요는 없습니다.
가는 막대가 전체 진행, 굵은 막대가 지금 굽는 큐브입니다. 한 대가 실패해도 나머지는 계속 구워집니다.
G큐브는 다 되면 앱이 전원을 꺼 줍니다 — 꺼져 있는 큐브 = 끝난 큐브라 4대를 굽고 나서 헷갈릴 일이 없습니다. 큐브 버튼을 누르면 새 펌웨어로 켜집니다.
S큐브는 앱이 꺼 주지 못합니다. S큐브는 새 펌웨어로 부팅하면 대기 모드(흰색 느린 깜빡)로 들어가 광고를 하지 않기 때문에, 앱이 다시 붙을 방법이 없습니다. 끄려면 버튼을 길게 누르세요. 그래서 S큐브 펌웨어를 걸어 두면 이 체크가 아예 잠깁니다.
| 이런 일이 생기면 | 이렇게 하세요 |
|---|---|
| 기기 목록이 비어 있다 | 큐브 버튼을 눌러 파랑 깜빡인지 확인하세요. 180초가 지나면 대기로 돌아갑니다. |
| [큐브 찾기]로 큐브가 안 보인다 (앞 시도가 끊긴 경우) |
큐브가 이미 업데이트 모드입니다. 2단계 아래 작은 링크를 눌러
빈 칸에서도 [큐브 연결]을 열고 CubeDFU 를 고르세요. |
목록에 CubeDFU 가 없다 | DfuTarg 를 고르세요 (SVCI 미지원 큐브). |
| 펌웨어 버전이 낮습니다 | 큐브에 있는 것보다 높아야 합니다. main.c 의 FW_VERSION_U32,
zip 이름, --application-version 을 모두 맞추세요. |
| 검증 실패 — 서명이 맞지 않습니다 | keys\pingpong_robot.pem 로 서명한 zip 인지 확인하세요. |
| CRC 불일치가 반복된다 | 3단계의 전송 단위를 20 B 로 낮춰 다시 시도하세요. |
| 전송 중 연결이 끊어졌습니다 | 큐브는 안전합니다 — 부트로더가 남아 있습니다. 해제 후 [큐브 연결] 로 다시 시도하세요. |
| 자동으로 안 꺼졌다 | 업데이트는 성공한 것입니다. 펌웨어가 v0.0.27.0 보다 낮으면 이 명령을 모릅니다 — 직접 껐다 켜 주세요. |
큐브마다 모둠 번호를 넣어 두는 것입니다. 번호가 들어가면 광고 이름이 바뀝니다.
그래서 학생 태블릿이 우리 모둠 번호의 큐브만 골라 붙을 수 있습니다 — 한 교실에 큐브가 18대여도 남의 것을 잡는 일이 없어집니다.
01, 2모둠 3대는 모두 02.
모둠 안에서 큐브를 가르는 것은 번호가 아니라 연결 순번(1·2·3번) 의 몫입니다.
화면 맨 위에 버튼이 둘 있습니다 — [🟩 G큐브에 번호 매기기] · [🟪 S큐브에 번호 매기기]. 기본은 G큐브이고, 고른 쪽 버튼에 색이 들어옵니다.
G큐브와 S큐브는 광고 이름도, 번호를 넣는 명령도 다릅니다. 그래서 종류를 고르면 기기 선택창에 그 종류만 나타납니다 — 엉뚱한 큐브에 번호를 넣는 일이 브라우저 단계에서 막힙니다.
| 그룹번호 (G큐브) | 그룹번호 (S큐브) | |
|---|---|---|
| 광고 이름 | PINGPONG.23 A1B2 | SCUBE.23.AIR |
| 선택창에 뜨는 것 | PINGPONG. 로 시작하는 것만 |
SCUBE. 로 시작하는 것만 |
| 번호 범위 | 둘 다 00 ~ 99 로 같습니다 —
화면에 넣은 두 글자가 그대로 큐브 이름의 두 글자가 됩니다두 자리는 각각 색입니다 — 0 빨강 1 초록 2 파랑 3 하늘 … 그래서 23 = 파랑·하늘색 | |
| 넣은 뒤 | 저장만 — 큐브를 직접 껐다 켜 주세요 | 확인음을 울리고 앱이 꺼 줍니다 |
SCUBE.17.AIR 로 보이고,
옛 「10」이던 큐브는 SCUBE.00.AIR 로 되돌아갑니다.
새 펌웨어를 올린 큐브는 번호를 한 번 다시 매겨 주세요.
(G큐브는 바뀌는 것이 없습니다.)
모둠 수 · 모둠당 큐브 수 · 시작 번호를 넣고 [배정표 만들기] 를 누릅니다.
그 큐브의 전원을 켠 뒤 파란 칸을 누르세요. 목록에서 큐브를 고르면 번호를 넣습니다. 그러면 다음 칸이 파랗게 바뀝니다.
S큐브는 이어서 확인음을 울리고 큐브를 꺼 줍니다 — 모둠의 마지막 큐브에는 다른 소리가 나서, 화면을 안 보고 있어도 「이 모둠 끝났다」를 귀로 알 수 있습니다. G큐브는 소리·전원 끄기 없이 저장만 하므로 직접 껐다 켜 주세요.
번호는 다시 켤 때부터 적용됩니다. 어차피 한 번 껐다 켜야 하므로 앱이 꺼 줍니다 — 선생님은 나중에 켜기만 하면 됩니다. 큐브마다 버튼을 길게 누르던 일이 없어집니다.
켤 때 나는 부팅 멜로디가 그 번호입니다 (0 도 · 1 레 · 2 미 · 3 파 …, 한 자리당 두 번). 화면을 안 봐도 몇 번이 들어갔는지 귀로 확인할 수 있습니다.
꺼져 있는 큐브 = 번호가 들어간 큐브이므로, 18대를 매기고 나서도 헷갈리지 않습니다.
G큐브도 번호가 다시 켤 때부터 적용되는 것은 같습니다. 다만 앱이 꺼 주지 않으므로, 한 대를 마칠 때마다 그 자리에서 껐다 켜 두면 「꺼진 것 = 끝난 것」 대신 「이름이 바뀐 것 = 끝난 것」으로 확인할 수 있습니다.
오른쪽 위 [배정표 내려받기] 를 누르면 모둠·순번·번호·큐브 이름·시각이 담긴 CSV 가 저장됩니다. 엑셀에서 바로 열립니다.
다음 수업에서 「이 큐브가 몇 모둠 것이었나」를 되짚을 때 이 표가 유일한 기록입니다.
| 이런 일이 생기면 | 이렇게 하세요 |
|---|---|
| 기기 목록이 비어 있다 | 그 큐브의 전원을 켠 뒤에 칸을 누르세요. 선택창은 지금 광고 중인 큐브만 보여 줍니다. |
| 「이미 배정한 큐브입니다」 | 방금 번호를 넣은 큐브를 또 골랐습니다. S큐브는 배정한 것이 꺼져 있으니 켜져 있는 것 중에서 고르면 됩니다. G큐브는 앱이 꺼 주지 않으므로, 끝난 큐브를 그때그때 껐다 켜 두면 헷갈리지 않습니다. |
| 기기 목록에 찾는 큐브가 없다 | 맨 위에서 종류를 잘못 골랐을 수 있습니다. G큐브를 고르면 PINGPONG. 로
시작하는 큐브만, S큐브를 고르면 SCUBE. 로 시작하는 큐브만 나옵니다. |
| 「범위 밖 거부(00~99)」 | 시작 번호를 낮춰 [배정표 만들기] 를 다시 누르세요. 번호는 0~99 까지입니다. |
| 「큐브가 응답하지 않습니다」 | 고른 큐브가 맨 위에서 고른 종류가 아닐 때 이렇게 됩니다 — 명령을 알아듣지 못해 답이 없습니다. 버튼을 다시 확인하세요. 이때 그 칸은 완료로 넘어가지 않습니다. |
| 「큐브가 번호를 받지 않았습니다」 (G큐브) |
번호를 넣은 뒤 다시 읽어 확인하는데 값이 달랐다는 뜻입니다. 큐브를 껐다 켜고 다시 시도하세요. |
| 큐브가 안 꺼진다 | G큐브는 원래 앱이 끄지 않습니다. S큐브라면 번호는 저장된 것이고, 펌웨어가 v0.0.27.0 보다 낮으면 전원 명령을 모릅니다 — 직접 껐다 켜 주세요. |
| 번호를 잘못 넣었다 | 그 큐브를 다시 켜고 [배정표 만들기] 로 처음부터 돌리면 덮어써집니다. |