Lego Mindstorms EV3 软件无法通过 WiFi 找到积木

Lego Mindstorms EV3 软件无法通过 WiFi 找到积木

我的 Lego Mindstorms EV3 软件无法通过 WiFi 找到 EV3 积木。奇怪的是,它在 Virtualbox 中全新安装的 (X)Ubuntu 中运行在这台电脑上,相同版本。我尝试过的事情:

  • 重新创建 Wineprefix

  • 重新安装 Wine

  • 使用有线和无线连接路由器。

答案1

它是一个防火墙,可以阻止砖块的连接。解决此问题的最简单方法是通过 禁用防火墙sudo service ufw stop,但这通常不是一个好主意。相反,您可以设置规则以允许。

我猜,Lego Mindstorm 会发送一个广播请求,并等待任何人的传入连接(在我们的案例中来自砖块)。这意味着,您需要允许传入连接:

  • 从界面
  • 使用子网
  • 来自特定 IP
  • 到特定端口
  • 使用特定协议(即 http、https、ssh)
  • 以上任意组合。

因此,您可以使用的一条规则是sudo ufw allow from 192.168.0.6,因为它是您的砖块的地址。但我不知道地址是如何分配给砖块的,它是否是动态的,您是否想将它与另一个砖块一起使用(使用不同的 IP),所以更好的办法可能是找到正在使用的端口,并为此设置规则。首先,暂时禁用防火墙sudo service ufw stop,在终端中执行sudo tcpdump -nni any src 192.168.0.6 and dst 192.168.0.6,并将应用程序连接到程序块。您将看到有关主机和程序块之间数据包的信息,端口写在您的 PC 的 IP 后面,例如…192.168.0.6.52382 > 192.168.0.1。80然后您可以使用:

sudo ufw allow PortNumberYouGot # e.g. sudo ufw allow 21

或者更好的方法是只允许特定的子网:

sudo ufw allow from 192.168.0.0/16 to any port PortNumberYouGot

相关内容