尝试自动化一些跟踪路由行为。 在 USB 端口上工作,但在 --host IP 上不一致。
在 Windows 10 上使用 python 2,以太网连接的 IP 地址 192.168.1.80,远程 lora meshtastic 主机是 192.168.1.87 上的 lilygo T-Beam|| |执行:
python -m meshtastic --host 192.168.1.87 --traceroute !1c498944 连接到收音机 在channelIndex:0上向!1c498944发送traceroute请求(这可能需要一段时间) 追踪路线: !1c498944 --> !1c498944
是的,它可以工作...
我应该能够从远程 meshtastic 设备跟踪路由吗?
python -m meshtastic --host 192.168.1.87 --traceroute !06e2718a 连接到收音机 向channelIndex:0 上的!06e2718a 发送traceroute 请求(这可能需要一段时间) 中止原因是:等待跟踪路由超时
在 Android 上运行 meshtastic 应用程序我连接到主机 192.168.1.87 并跟踪路由到 !06e2718a,并立即回复成功。
Running the meshtastic app on android I connect to host 192.168.1.87 and traceroute to !06e2718a with immediate reply of success.
提到可以从 Android 应用程序成功执行跟踪路由,但从 Python 脚本执行时会遇到问题,尤其是在尝试路由到非本地网段地址时。这表明问题可能与 Python 脚本或其配置方式有关,而不是 Meshtastic 本身。
以下是可能导致不一致的一些潜在原因和故障排除步骤:
1. Python 版本和库依赖项:
-
确保使用的是最新版本的
meshtastic
Python 库。可以使用以下命令更新它:pip install --upgrade meshtastic
-
确认的 Python 2 环境已安装所有必需的依赖项。可以通过运行以下命令重新安装
meshtastic
来确保这一点:pip install --force-reinstall meshtastic
2. 防火墙或网络配置:
-
的防火墙或网络配置可能会干扰 Python 脚本发出的 ICMP 请求(traceroute 使用)。尝试暂时禁用防火墙或创建规则以允许来自 Python 脚本的 ICMP 流量。
-
确认的 Python 脚本和 Meshtastic 设备位于同一子网中,或者它们之间存在适当的路由。
3.
meshtastic
脚本参数:
-
确保在 Python 脚本中使用正确的通道索引 (channelIndex)。默认情况下,它应该是 0,但如果的网络配置不同,则可能需要更改它。
-
尝试增加超时值以查看是否有助于解决问题。可以通过将
--timeout
参数添加到的命令中来实现,例如:python -m meshtastic --host 192.168.1.87 --traceroute !06e2718a --timeout 30
这会将超时设置为 30 秒。
4. Meshtastic 固件版本:
- 确保的所有 Meshtastic 设备都运行的是最新固件。较旧的版本可能存在已在较新版本中解决的错误或兼容性问题。
5. 调试日志:
-
启用详细日志记录以获取有关跟踪路由尝试的更多信息。可以通过将
--debug
参数添加到的命令中来实现,例如:python -m meshtastic --host 192.168.1.87 --traceroute !06e2718a --debug
检查日志输出是否有任何错误消息或警告,这些消息或警告可以帮助查明问题。
如果在尝试了这些步骤后问题仍然存在,请提供以下附加信息,这将有助于进一步诊断该问题:
- 的 Meshtastic 设备上运行的确切固件版本。
- 运行 Python 脚本时生成的详细调试日志输出。
- 网络的简化拓扑图,包括涉及的设备及其 IP 地址。