单颗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 条评论