首页 > 解决方案 > 在网络上实现多个 RaspPi 之间完全通信的最佳方式是什么?

问题描述

我正在实施一种算法,该算法需要通过 LAN 在大约 10 个 Raspberry Pi 之间进行连接,并且可以使用一些帮助来找出让它们相互交谈的方法。

对于我将使用它的一些背景知识,我将连接单个 RaspPi 到 SEL 继电器,以收集我学校实际电网的比例模型微电网的计量数据。有了这些计量数据,我希望能够将采样数据从每个中继发送到测试平台中的其他随机中继,作为共识算法(如哈希图)的一部分,以尝试减少对我们电网的以 ICS 为重点的攻击,例如几年前乌克兰发生了什么。这个想法是拜占庭容错系统可以很好地适用于跨越大地理区域的电力系统。

由于这只是一个测试,以确定这种实现是否有利于在变电站中使用,所以我只使用 python 脚本从继电器收集上述数据。因此,我正在寻找这些计算机之间基于 python 的通信方式。我研究了套接字,但我不确定这是否是 10 台计算机试图相互通信的有效方法。

理想的最终目标是在此测试平台上模拟中间人攻击,以查看系统是否能够及时纠正和检测威胁。

提前致谢!

标签: pythonraspberry-picommunication

解决方案


任何单个系统(Raspberry PI)都可以侦听传入连接并以某种特定方式使用它们。

要考虑哪些可能有用的事情:

  1. 您绝对需要所有数据吗?
  2. 它经常或很少发送数据?
  3. 连接会随机发送数据吗?
  4. 系统是否需要相互通信?

偶尔丢失的大量数据可能是使用 UDP 的一个很好的解决方案。如果您确实需要所有数据,请使用 TCP 和随机连接来确保数据捕获。

您需要将它们发送给彼此还是只发送给一两个来源?这可能会使您的问题更容易。

无论如何,系统能够处理超过 10 个连接,所以你应该没问题。

不知道还有什么帮助。


推荐阅读