libcimbar 是个?
libcimbar 实在是一种分外的条形码,准确地说是高密度二维条形码。它把数据编码成彩色的小方块,然后显示在电脑屏幕上。你的手机只须要对着屏幕拍一下,就能把数据解码出来!
是不是很神奇?
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 采取了喷泉码进行数据编码。喷泉码是一种分外的编码办法,它可以天生无限多个编码数据包,纵然丢失一部分数据包,也能规复出原始数据。是不是很厉害?
为了提高传输效率,libcimbar 还利用了 zstd 压缩算法,可以把数据压缩到更小的尺寸,从而加快传输速率。
小墨的真实体验我亲自试用了一下 libcimbar,觉得确实挺方便的。我用它传输了一些文本文件和小图片,速率都还不错,而且没有涌现任何缺点。
当然,libcimbar 也有一些缺陷。它目前只支持 Android 手机,iOS 用户暂时用不了。其次,它的传输速率跟 Wi-Fi 比起来还是慢了一些。
libcimbar 的运用处景
libcimbar 这种隔空传输数据的技能,在很多场景下都很有用。比如:
安全数据传输: 在一些对安全性哀求很高的场景,比如军事或者金融领域,libcimbar 可以供应一种安全的隔空传输方案,避免数据被网络攻击拦截。离线数据备份: 你可以把主要的数据编码成 libcimbar 码,然后打印出来保存,这样纵然你的电脑或者手机坏了,也能规复数据。物联网设备通信: 一些资源受限的物联网设备,可以用 libcimbar 进行数据交流,避免占用宝贵的网络带宽。项目地址https://github.com/sz3/libcimbar
总结libcimbar 是一款非常故意思的工具,它供应了一种新颖的隔空数据传输方案。虽然目前还有一些 limitations,但我相信随着项目的不断发展,libcimbar 会变得越来越好用,运用处景也会越来越广。
好了,本期的分享就到这里,赶紧去试试吧!
咱们下回再见!
别忘了点赞关注哦~#黑科技##开源项目精选##猎奇#