바벨-USB: 모든 파일을 담은 USB 드라이브
출처: Hacker News
About
이 프로젝트는 ESP32‑S3 개발 보드를 디지털 바벨 도서관에서 영감을 받은 무한 파일 시스템으로 바꿉니다.
Usage
-
ESP32‑S3 개발 보드를 구입하세요 – 최대한 혼란을 주기 위해 USB 스틱 형태가 가장 좋습니다. 제가 구입한 제품도 있지만, 꼭 이 모델일 필요는 없습니다. 단, ESP32‑S3인지 반드시 확인하세요. 제가 테스트한 유일한 보드이며, 다른 보드는 하드웨어 USB 지원이 없을 수 있습니다. S2도 동작할 수도 있지만 보장은 못 합니다.
-
Visual Studio Code와 PlatformIO를 설치하고 설정하세요. 방법을 모르면 구글이나 유튜브를 참고하세요.
-
서브모듈을 포함해서 이 저장소를 클론합니다. 서브모듈이 뭔지 모르면 검색해 보세요.
-
클론한 폴더를 VS Code에서 열고 프로젝트 설정이 완료될 때까지 기다립니다.
-
“BOOT” 버튼을 누른 채 마이크로컨트롤러를 PC에 연결합니다.
-
VS Code에서 “→” 아이콘을 클릭해 프로젝트를 컴파일하고 플래시합니다. 완료되면 마이크로컨트롤러를 분리했다가 다시 연결합니다.
-
이제 탐색해 보세요! 대부분의 프로그램이 MTP에서 직접 읽는 것을 지원하지 않으니, 파일을 읽기 전에 MTP 공유에서 복사해 두어야 할 수도 있습니다.
Finding specific files
-
Bun을 설치합니다.
-
클론한 폴더로 이동한 뒤
bun run file-to-path.js <파일경로>명령을 실행합니다. 여기서<파일경로>는 찾고자 하는 파일의 경로입니다. 몇 백 바이트를 초과하는 파일은 생성하는 데 매우 오래 걸립니다. -
반환된 경로를 복사해
disk/뒤에 붙여넣어 파일 탐색기에서 엽니다. -
해당
file을 찾아 드라이브에서 복사한 뒤, 원본 파일과 동일한지 확인합니다.
Credits
이 프로젝트의 하드웨어 관련 부분은 RigoLigoRLC가 만든 esp32s3-tusb-mtp와 그들의 espressif-tinyusb-component 포크를 기반으로 대충 조합한 것입니다.