
Разработчик Bash Alarmist представил открытый проект под названием Decimen Optical Transfer. Это решение для передачи файлов между двумя устройствами с использованием только экрана и камеры через QR-коды с помощью фонтанного кодирования. Исходный код проекта написан на TypeScript и HTML и опубликован на GitHub под лицензией MIT.
«Отправка файла между двумя устройствами с использованием только экрана и камеры. На одной странице файл отображается в виде бесконечного потока анимированных QR‑кодов; другое устройство наводит на него камеру и восстанавливает файл. Нет сетевого соединения между устройствами, нет приложения, нет сопряжения, нет разрешений, кроме разрешения камеры. Полезная нагрузка передаётся в виде света (payload travels as light). Это минимальный прототип, полученный в результате более крупного эксперимента, в котором скорость передачи данных между смартфонами достигла 128 КБ/с при использовании более плотных кадров, многокодовых сеток и цветового канала с коррекцией ошибок. Этот прототип сохраняет только основной приём и передаёт изображение размером 512 КБ (или 2 МБ, выбираемое в настройках отправителя) с комфортной скоростью», — пояснил автор решения.
Отправляемый файл разбивается на сотни мелких фрагментов (пакетов). Затем для каждого пакета генерируется свой QR-код, который расшифровывает данные и воссоздаёт их. QR-коды сменяются так быстро, что «загрузка» достигает скорости в ~128 кб/с. При этом есть фича для восстановления потерянных пакетов на случай, если какой-то из сотен QR-кодов считается неправильно.
Источник: habr.com