Socket编程进行远程通讯控制UR5机器人

本文介绍了如何通过Socket编程实现远程控制UR5机器人。内容涵盖IP基础知识,如查询IP、区分Public和Private IP,以及如何通过具有Public IP的服务器作为桥梁,使不同局域网的Private IP实现数据通讯。文章详细讲解了Python和Java实现Socket编程的示例,最终通过Java程序创建服务器和客户端,实现从远程电脑到UR5机器人的消息转发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(1)IP相关基础知识

1.如何查询本机IP 

1.利用CMD命令窗口,输入 ipconfig ,会返回本机的IP信息

2.控制面板\网络和 Internet\网络和共享中心->无线网络连接->详细信息  ,也可以查询本机IP信息。

2.如何查询某个IP是否可以被访问

利用CMD窗口,输入 ping   targetIP   ,targetIP是测试的IP地址

3.127.0.0.1是默认指向本机IP地址的IP

4.Public IP和Private IP

1.Public IP是指这个IP可以被任何连接互联网的电脑访问,通常是网络服务器。例如各个网站的网络服务器,浏览器访问网页的时候实际就是访问这些IP。

如何远程登录网络服务器:具有Public IP的网络服务器一般需要租赁,用来开发个人网站或者私人博客等,这种服务器实用的大多是没有图形界面的Linux系统。可以通过SSH2软件来远程登录Linux服务器。方法查考如下网址:     http://jingyan.baidu.com/article/86fae346d246073c48121a40.html

2.Private IP是指这个电脑IP在某一个局域网内,他的IP是该局域网分配的。虽然连接了互联网,却无法被该局域网之外的电脑访问。这种通常是普通电脑的IP。

常见的局域网IP格式: 

(2)UR5机器人

UR5机器人是中型六轴工业机械臂。

UR5机器人的控制方法:

1.通过自带的触屏面板控制,该面板有一个控制软件可以控制UR5机器人的配置与运动。

2.通过网络控制:UR5机器人安装好之后可以设置IP和端口。这样UR5机器人就是本局域网内的一个固定IP。 可以往UR5机器人的IP和端口上发送控制命令来控制UR5机器人运动。 使用各种开发工具实现与UR5机器人的IP和端口通讯就实现了UR5机器人的控制。

(3)问题:UR5机器人的远程遥控。

上面提到的通过网络控制UR5机器人的方法只对与UR5处于同一局域网的电脑有用,因为UR5机器人的IP是处于局域网的private IP,处于局域网之外的电脑无法直接访问这个IP。 本文希望实现远程遥控UR5机器人,即实现两个private IP直接进行数据通讯。

(4)处于不同局域网的Private IP实现网络数据通讯。

1.解决思路:通过服务器进行桥接

需要通讯的两台电脑都是Private IP,无法直接互相访问,我们准备一个具有Public IP的网络服务器,两个Private IP电脑都使用Socket与服务器网络连接,电脑A发数据给服务器,服务器再转发给电脑B。 这种采用Socket与网络服务器通讯的方法,访问网站就是个例子,我们与网址建立socket连接,可以在网站中进行各种操作,实现可交互性的连接。

(注:不同局域网的Private IP进行通讯,通常想到的都是QQ等即使通讯软件,他们的实现方式也是通过服务器转发数据, 他们使用的有一种方法是网络API方法,通讯客户端可以周期性的查询网络API得到账号的未读消息等信息)

2.Socket说明

https://baike.baidu.com/item/socket/281150?fr=aladdin

可以使用SocketTest软件创建简单的SoketClient和SocketServer对象,帮助理解和实验Socket通讯,SocketTest软件可以在网上下载得到。

3.编程实现

1.Python实现Socket编程。

参考网址:http://www.cnblogs.com/aylin/p/5572104.html

总结的说,Python关于Socket编程的模块有两个,分别是Socket和SocketServer,Socket类可以用来创建Socket Server和Socket Client对象,而SocketServer智能用来创建Socket Server对象,但它已经集成了Server处理多线程的能力。本文使用的开发环境是Python3。

例子1:使用SocketServer实现Socket Server,显示连接到Server的Client的IP信息和他们发送来的消息。

 

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import socketserver
import subprocess
import socket

class MyServer(socketse
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值