3.2K Star!libcimbar颠覆传统数据传输,手机摄像头隔空传文件
发布时间:2024-09-26 02:16 浏览量:11
本期要给大家介绍一个超酷的工具,叫做 libcimbar,它能让你的电脑屏幕瞬间变身成为一个数据传输通道!你没听错,就是隔空传输数据,不用网线,不用蓝牙,甚至连数据线都不需要!是不是感觉有点黑科技的味道? 只是目前只支持Android应用。但是这个做法绝对是个好思路。
libcimbar 其实是一种特殊的条形码,准确地说是高密度二维条形码。它把数据编码成彩色的小方块,然后显示在电脑屏幕上。你的手机只需要对着屏幕拍一下,就能把数据解码出来!是不是很神奇?
先来看看它的速度!libcimbar 的传输速度最高能达到 850 kbps,换算一下大概就是每秒 106 KB。虽然跟 Wi-Fi 比起来不算快,但传输一些小文件或者文本信息绝对够用了。关键是,它不需要任何网络连接,是不是很方便?
再来说说它的稳定性!libcimbar 采用了多种纠错技术,比如喷泉码和 Reed Solomon 纠错码。这意味着即使你手机拍摄的画面不完整,或者光线不好导致画面模糊,libcimbar 也能帮你把数据恢复出来!是不是很靠谱?
安装
在 Ubuntu/Debian 系统上,你需要先安装一些依赖库:
sudo apt install libopencv-dev libglfw3-dev libgles2-mesa-dev然后用 cmake 和 make 编译安装 libcimbar:
cmake .make -j7make install编码
假设你想把一个名为 input.txt 的文件传输到手机上,你可以用下面的命令把它编码成一系列 PNG 图片:
./cimbar --encode -i input.txt -o output执行完之后,你会看到一堆以 output 为前缀的 PNG 图片,这就是编码后的数据。
解码
现在打开你的 Android 手机,用 libcimbar 的解码器 App(目前只有 Android 版本)扫描这些 PNG 图片。解码完成后,数据就会保存到手机上了。是不是很简单?
实时传输
libcimbar 还支持实时传输数据,比如你想把电脑屏幕上的内容实时分享到手机上,可以用下面的命令:
./cimbar_send somefile.pdf执行完之后,libcimbar 会把屏幕内容编码成动态的条形码,你用手机扫描就能实时看到了。
libcimbar 的核心原理其实很简单,就是把数据编码成彩色方块,然后用手机摄像头捕捉这些方块,再解码成原始数据。当然,实际的实现过程要复杂得多,涉及到很多编码、解码、纠错等技术。
libcimbar 采用了喷泉码进行数据编码。喷泉码是一种特殊的编码方式,它可以生成无限多个编码数据包,即使丢失一部分数据包,也能恢复出原始数据。是不是很厉害?
为了提高传输效率,libcimbar 还使用了 zstd 压缩算法,可以把数据压缩到更小的尺寸,从而加快传输速度。
小墨的真实体验我亲自试用了一下 libcimbar,感觉确实挺方便的。我用它传输了一些文本文件和小图片,速度都还不错,而且没有出现任何错误。
当然,libcimbar 也有一些缺点。它目前只支持 Android 手机,iOS 用户暂时用不了。其次,它的传输速度跟 Wi-Fi 比起来还是慢了一些。
libcimbar 这种隔空传输数据的技术,在很多场景下都很有用。比如:
安全数据传输: 在一些对安全性要求很高的场景,比如军事或者金融领域,libcimbar 可以提供一种安全的隔空传输方案,避免数据被网络攻击拦截。离线数据备份: 你可以把重要的数据编码成 libcimbar 码,然后打印出来保存,这样即使你的电脑或者手机坏了,也能恢复数据。物联网设备通信: 一些资源受限的物联网设备,可以用 libcimbar 进行数据交换,避免占用宝贵的网络带宽。总结libcimbar 是一款非常有意思的工具,它提供了一种新颖的隔空数据传输方案。虽然目前还有一些 limitations,但我相信随着项目的不断发展,libcimbar 会变得越来越好用,应用场景也会越来越广。
好了,本期的分享就到这里,赶紧去试试吧!咱们下回再见!别忘了点赞关注哦~