微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

pyModbusTCP 树莓派到PC连接eth0

如何解决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 文件。因此,设备试图在网络子网中获取相同的地址。

以下实现对我有用:

enter image description here

在 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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?