感觉自己知识比较碎散,这是第一篇日志,用于自己知识整理,希望可以坚持下来这个习惯。
本文实现的是编写ROS节点,实现ModbusTCP数据的发送,并用一台win10电脑接收和读取数据。
win10电脑准备工作:
1、连接至同一个WiFi,用ipconfig查询本机ip地址,这里本机ip是172.172.100.49。将Ubuntu电脑也连至同一wifi下,用ifconfig查询ip为172.172.100.167。
2、打开wireshark,检测wlan的网络数据。ip.src==172.172.100.167可以筛选出来源于172.172.100.167地址的数据。ip.dst==172.172.100.49可以筛选出目标地址的数据。过滤两种条件时,使用and连接,如过滤ip为172.172.100.167并且为http协议的,ip.src==172.172.100.167 and http。如过滤80端口,在Filter中输入,tcp.port==80,这条规则是把源端口和目的端口为80的都过滤出来。使用tcp.dstport==80只过滤目的端口为80的,tcp.srcport==80只过滤源端口为80的包。
3、打开MThings工具,创建ModbusTCP的服务端。
设置如下:
此时client端(主机端)还未启动,故连接不上。
Ubuntu准备工作:
1、安装Modbus_ROS功能库,安装支持
sudo apt-get install python-pymodbus
sudo apt-get install python-pyasn1 python-twisted-conch
cd catkin_ws/src
git clone
https://github.com/HumaRobotics/modbus
.git
cd ..
catkin_make
放在工作空间下编译。即可
2、修改modbus_client.py代码。
3、启动roscore和rosrun modbus modbus_client.py 即可。
此时win10电脑里的MThings的服务端,点击链接操作-启动,即可连接上并接收到数据。
在wireshark里也可以观察到此时接收到了modbusTCP的数据。