【问题标题】:pyModbusTCP Raspberry Pi to PC connection eth0pyModbusTCP Raspberry Pi 到 PC 连接 eth0
【发布时间】:2021-06-14 00:20:15
【问题描述】:

到目前为止的故事。我使用非常有用的 Johannes YouTube 教程设置服务器和客户端,最初我在 Raspberry Pi 上使用“localhost”没有任何问题。

https://github.com/Johannes4Linux/Simple-ModbusTCP-Server/blob/master/Simple_ModbusServer.py

然后我尝试使用以太网端口在我的 Windows PC 上设置客户端并连接到服务器 (Pi)。

我使用 Pi 中“ifconfig”命令中的“inet”IP 地址,而不是 Windows 中“ipconfig”中的地址(它们不同)。

client = ModbusClient(host="192.168.0.16", port=502, debug=True)
client.open()

connect error
False

我已尝试从 Windows ping 此地址“cmd”,但连接超时。

ping 168.168.0.16

Pinging 168.168.0.16 with 32 bytes of data:
Request timed out.

感觉好像我错过了一些非常明显的东西。如果有人能够帮助我,我将不胜感激。

【问题讨论】:

    标签: python raspberry-pi raspbian pymodbustcp


    【解决方案1】:

    好吧,事实证明我有点笨。我的实现中缺少许多关键概念。

    使用ipconfig/all 调试问题发现 ipV4 = 192.168.4.180(duplicate)

    我已经在 PC 和 Pi 上设置了 IP 地址,我忘记了我已经更改了 dchpcd.conf 文件。所以设备试图在网络子网中获取相同的地址。

    以下实现对我有用:

    在 Pi 上设置

    from pyModbusTCP.server import ModbusServer, DataBank
    
    server = ModbusServer(host="192.168.4.181", port=502, no_block=True)
    

    在电脑上设置

    from pyModbusTCP.client import ModbusClient
    
    client = ModbusClient(host="192.168.4.181", port=502)
    client.open()
    

    我发现本指南在我的网络复习咒语中非常有用:https://www.ionos.co.uk/digitalguide/server/configuration/provide-raspberry-pi-with-a-static-ip-address/#:~:text=To%20assign%20an%20IP%20address,with%20the%20IPv4%20address%20192.168

    我很高兴删除它,但我想我会把它留在这里以防万一有人有 cmets 或发现它有用。像往常一样,我回答自己的问题,但有时只是将自己的无知形式化为黑白是有用的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-13
      • 2015-12-17
      • 2021-03-24
      相关资源
      最近更新 更多