我的 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