如何解决pyModbusTCP 树莓派到PC连接eth0
到目前为止的故事。我使用非常有用的 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.
感觉好像我遗漏了一些非常明显的东西。如果有人能够帮助我,我将不胜感激。
解决方法
好吧,事实证明我有点笨拙。我的实施中遗漏了许多关键概念。
使用 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()
我很高兴删除它,但我想我会把它留在这里,以防有人发表评论或发现它有用。像往常一样,我会回答我自己的问题,但有时只是将我自己的无知正式化为黑白是有用的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。