单颗LED双向收发:ESP32可见光加密配对

Luca Soltoggio开发的SecurePair库让两块ESP32用同一颗LED以可见光收发数据并交换密钥,之后可切换到ESP-NOW或LoRa传输加密内容。

有些项目看上去不难,真做起来却处处是坑,最后往往还是买现成方案省事。PCB天线算一个,用LED传数据也算一个——无论红外还是可见光。但Luca Soltoggio偏要试一试:他让两块ESP32通过可见光彼此通信。

最巧妙的地方在于,两块板子都只用一颗LED,这颗LED同时兼任发射器和接收器。

SecurePair:用光完成配对

这套软件叫SecurePair,是一个Arduino库,用来交换密钥并进行加密通信。用LED收发是它的硬件亮点,但它并不只限于光:同样可以跑在ESP-NOW或LoRa上。一个典型用法是先用光完成设备配对,再通过无线链路交换加密数据。

其原理是LED本身也具有类似光电二极管的特性,因此同一颗器件既能发光,也能感光。

不止两块板

示例中虽然只有两块ESP32对话,但这个方案并不限制数量,需要时可以让更多设备加入。

看看实际效果

下面的视频演示了它的工作过程。如果你对LED当传感器用感兴趣,我们此前也介绍过类似的做法。

视频地址:SecurePair: encrypted ESP32 links, paired through light

收录于

讨论

0 条评论

同分类推荐

创客