pyModbusTCP Raspberry Pi для подключения к ПК eth0

История до сих пор. Я настраивал сервер и клиент, используя очень полезный учебник Йоханнеса на YouTube. Первоначально я делал это на Raspberry Pi без каких-либо проблем, используя localhost.

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

Затем я попытался настроить клиент на моем ПК с Windows, используя порт Ethernet, и подключиться к серверу (Pi).

Я использовал IP-адрес "inet" из команды "ifconfig" внутри Pi, а не адрес из "ipconfig" в окнах (они были разными).

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

connect error
False

Я попытался пропинговать этот адрес "cmd" из окон, но время ожидания соединения прервалось.

      ping 168.168.0.16

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

Такое чувство, что я упускаю что-то действительно очевидное. Если кто-то может мне помочь, я был бы очень признателен.

1 ответ

Решение

Хорошо, оказывается, я немного встревожен. И многие важные концепции отсутствовали в моей реализации.

Отладка проблемы с помощью ipconfig/all обнаружил, что ipV4 = 192.168.4.180(дубликат)

Я установил IP-адрес на ПК и Pi, я забыл, что изменил файл 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, с% 20the% 20IPv4%20address%20192.168 .

Я счастлив удалить это, но подумал, что оставлю его здесь на всякий случай, если кто-то сочтет его полезным. Обычно я отвечаю на свой вопрос, но иногда бывает полезно просто формализовать собственное невежество в черно-белых тонах.

Другие вопросы по тегам