Babel-USB:包含所有文件的 USB 驱动器
Babel-USB: USB drive with every file

原始链接: https://github.com/p2r3/babel-usb

该项目将 ESP32-S3 开发板转换为受“巴别图书馆”启发的无限文件系统,可通过 USB 访问。 **设置:** 1. 使用 ESP32-S3 开发板(建议使用 USB 闪存盘形状的规格)。 2. 在 VS Code 中使用 PlatformIO 插件克隆存储库及其子模块。 3. 按住“BOOT”按钮的同时将设备连接到电脑,以烧录固件。 **使用方法:** 烧录完成后,开发板将显示为 MTP 设备。若要查找特定文件,请使用提供的 `bun run file-to-path.js ` 命令生成路径字符串。导航至设备上的相应文件夹(以 `disk/` 为前缀),即可将文件复制到电脑。 *注意:大文件的生成需要较长时间。本项目基于 `esp32s3-tusb-mtp` 和 `espressif-tinyusb-component` 库构建。*

**Babel-USB** 是一个利用 ESP32 微控制器模拟 USB 存储设备的项目,该设备能够容纳一定大小范围内的“所有可能的文本文件”。 该设备并不存储实际数据,而是根据用户访问的目录路径,即时生成文件内容。通过使用特定的 70 字符编码方案来管理文件夹深度和路径长度,该项目模拟了豪尔赫·路易斯·博尔赫斯的《巴别图书馆》这一概念。由于文件系统是算法生成的,因此无法搜索特定内容;用户必须已经知道确切路径(该路径对应文件的二进制内容),才能“定位”到特定文件。 该项目利用媒体传输协议 (MTP) 来简化模拟过程。尽管在实际上完全浏览该设备是不可能的,但这一概念因其有望扰乱自动磁盘扫描软件(这些软件会被无限的目录结构所淹没)而引起了开发者的兴趣。
相关文章

原文

This project turns an ESP32-S3 development board into an infinite filesystem inspired by the digital Library of Babel.

  1. Buy an ESP32-S3 development board - ideally one shaped as a USB stick for maximum bewilderment. This is the one I got, though you don't necessarily need this exact variant. That said, make sure you're getting an ESP32-S3. That's the only one I've tested. Others may not have hardware USB support. S2 might work, but I make no promises.
  2. Get Visual Studio Code and set up PlatformIO. Refer to Google or YouTube if you don't know how.
  3. Clone this repository with submodules. Again, if you don't know what that means, look it up.
  4. Open the cloned folder in VScode, wait for it to set up the project.
  5. While holding the "BOOT" button, plug the microcontroller into your PC.
  6. Click the "→" icon in VScode to compile and flash the project. Once that's done, disconnect and reconnect the microcontroller.
  7. Explore! You might have to copy files off of the MTP share before reading them, as most programs don't support reading directly from MTP.
  1. Install Bun.
  2. Navigate to the cloned folder and use the command bun run file-to-path.js <path>, where <path> is a path to the file you wish to find. Note that files larger than a couple hundred bytes will take a very long time to generate.
  3. Copy the path it returns and paste it into your file browser after disk/.
  4. Find the file, copy it off of the drive, and verify that it is in fact the same file.

The hardware-facing bits of this project are loosely cobbled on top of RigoLigoRLC's work on esp32s3-tusb-mtp and their fork of espressif-tinyusb-component.

联系我们 contact @ memedata.com