CN110971708A - 安卓与Ubuntu系统信息传输方法及系统、设备、介质 - Google Patents
安卓与Ubuntu系统信息传输方法及系统、设备、介质 Download PDFInfo
- Publication number
- CN110971708A CN110971708A CN201911318474.XA CN201911318474A CN110971708A CN 110971708 A CN110971708 A CN 110971708A CN 201911318474 A CN201911318474 A CN 201911318474A CN 110971708 A CN110971708 A CN 110971708A
- Authority
- CN
- China
- Prior art keywords
- data
- android
- server
- sending
- ubuntu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/003—Arrangements for allocating sub-channels of the transmission path
- H04L5/0053—Allocation of signaling, i.e. of overhead other than pilot signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请涉及安卓与Ubuntu系统信息传输方法及系统、设备、介质,所述方法包括:设置安卓与Ubuntu系统互为服务器端和客户端,并连接在同一个局域网内;发送数据前,在数据前加入标识、数据内容类型列表和数据字节数;并都在数据报尾加入奇偶校验位和数据停止位;执行数据发送操作;接收端对接收到的数据通过报头信息及末尾奇偶校验位进行校验,若数据正确无误,则将其视为有效数据,并进行下一步的处理;若数据校验有误,则对其进行遗弃,并对发送端发送错误标志。本发明解决了机器人上Android系统与Ubuntu系统两个系统之间的信息传输过程,提高了传输效率,利用了各系统的优势处理对应任务,提高了响应能力。
Description
技术领域
本申请涉及信息传输技术领域,特别是涉及一种安卓(Android)系统与Ubuntu系统之间的信息传输方法及系统、设备、可读存储介质。
背景技术
Ubuntu是一个以桌面应用为主的Linux操作系统。
目前,对于热门的人工智能及机器人领域来说,建立环境地图、基于地图的导航、基于体态的跟踪技术大多是基于Ubuntu系统实现的,而热门的技术如人脸识别、语音识别、人机交互等技术要想实现良好的效果,则需要调用云端资源来处理,而调用云端资源常用Android(安卓)系统来实现。因此,要想将这些功能集成在同一个机器人上,则需要在机器人上同时配备Android系统与Ubuntu系统。为了使机器人完整、可用性强,解决两个系统之间的信息传输方法是非常必要的。
现有技术中没有很好的方法解决两个系统之间的信息传输问题。
因此,现有技术有待改进。
发明内容
本发明要解决的技术问题是,提供一种Android与Ubuntu系统信息传输方法及系统、计算机设备、可读存储介质,本发明解决了机器人上Android系统与Ubuntu系统两个系统之间的信息传输过程,提高了传输效率,利用了各系统的优势处理对应任务,提高了响应能力。
一种Android与Ubuntu系统信息传输方法,其中,所述方法包括:
构建服务器端和客户端,设置Ubuntu系统与Android系统互为服务器端和客户端,并将两系统连接在同一个局域网内;执行客户端与服务器端的数据发送操作准备;
数据发送处理过程:发送数据前,Android系统发送端和Ubuntu系统发送端都在数据前加入标识、数据内容类型列表和数据字节数;并都在数据报尾加入奇偶校验位和数据停止位;然后执行客户端与服务器端的数据发送操作;
数据接收校验过程:接收端对接收到的数据通过报头信息及末尾奇偶校验位进行校验,若数据正确无误,则将其视为有效数据,并进行下一步的处理;若数据校验有误,则对其进行遗弃,并对发送端发送错误标志。
所述Android与Ubuntu系统信息传输方法,其中,所述构建服务器端和客户端,设置Ubuntu系统与Android系统互为服务器端和客户端,并将两系统连接在同一个局域网内;执行客户端与服务器端的数据发送操作准备的步骤包括:
设置整个系统包含Android系统与Ubuntu系统,Android系统与Ubuntu系统连接在同一个局域网内且IP地址固定,并在同一网段上;
设置Ubuntu系统与Android系统采用客户端/服务器架构,并且互为服务器端和客户端;
设置建立连接的Ubuntu系统与Android系统,通过基于TCP协议的socket通信方式传输信息。
所述Android与Ubuntu系统信息传输方法,其中,所述构建服务器端和客户端,设置Ubuntu系统与Android系统互为服务器端和客户端,并将两系统连接在同一个局域网内;执行客户端与服务器端的数据发送操作准备的步骤还包括:
当系统开始运行时,运行服务器端,并绑定事先制定好的任意一个网络通信端口,运行阻塞程序,等待客户端的连接;
运行客户端,socket的一个套接字接客户端,另一个套接字接服务器端,当服务器端检测到有客户端通过网络接入时,执行客户端与服务器端的数据发送操作准备。
所述Android与Ubuntu系统信息传输方法,其中,所述数据发送处理过程:发送数据前,Android系统发送端和Ubuntu系统发送端都在数据前加入标识、数据内容类型列表和数据字节数;并都在数据报尾加入奇偶校验位和数据停止位;然后执行客户端与服务器端的数据发送操作的步骤包括:
数据发送处理过程:发送数据前,Android系统发送端对发送的数据在数据前加入系统及设备标识、数据内容类型列表和数据字节数;
Ubuntu系统发送端对发送的数据在数据前加入Ubuntu系统版本及硬件序列号作为标识、数据内容类型列表和数据字节数;
Android系统发送端和Ubuntu系统发送端都对发送的数据的数据报尾加入奇偶校验位和数据停止位。
所述Android与Ubuntu系统信息传输方法,其中,所述数据发送处理过程的步骤还包括:Ubuntu发送过程:在Ubuntu系统中创建一消息队列,设置要发送消息的属性,将消息发送到消息队列;创建将要发送数据的话题,编写消息发布订阅节点,将消息队列中的消息发布到话题中;创建客户端socket,从所创建的话题订阅数据包,连接服务端socket匹配IP地址和服务器端所设置的端口号,调用Connect方法,向服务器发出连接请求,监听Android返回连接确认,而后建立连接;
所述数据接收校验过程的步骤还包括:Android系统端接收过程:Android系统端创建一网络接收信息的Activity及其对应xml界面文件,当其监听到网络端口有信息传来时,建立数据接收线程,按照两个系统事先定义好的通信协议,对传来的结构体数据进行解码,将对应的信息解析并存储到相应的类的private变量中;在安卓端显示或处理相应的数据。
所述Android与Ubuntu系统信息传输方法,其中,所述数据发送处理过程的步骤还包括:Android发送过程:建立客户端socket连接,按照指定的服务器网络地址及通信端口,发送连接请求,接收到Ubuntu服务器端确认连接后,从内存获取编码好的输出数据流,并将其发送到局域网上;
所述数据接收校验过程的步骤还包括:Ubuntu系统端接收过程:创建服务器端socket,重写地址并设置监听IP地址和服务端口号,设置监听客户端发送请求,应答Android客户端连接请求,同意连接;接收Android客户端数据流。
一种Android与Ubuntu系统信息传输系统,其中,所述系统包括:
构建模块,用于构建服务器端和客户端,设置Ubuntu系统与Android系统互为服务器端和客户端,并将两系统连接在同一个局域网内;执行客户端与服务器端的数据发送操作准备;
数据发送控制模块,用于控制数据发送处理过程:发送数据前,Android系统发送端和Ubuntu系统发送端都在数据前加入标识、数据内容类型列表和数据字节数;并都在数据报尾加入奇偶校验位和数据停止位;然后执行客户端与服务器端的数据发送操作;
数据接收控制模块,用于控制数据接收校验过程:接收端对接收到的数据通过报头信息及末尾奇偶校验位进行校验,若数据正确无误,则将其视为有效数据,并进行下一步的处理;若数据校验有误,则对其进行遗弃,并对发送端发送错误标志。
所述的Android与Ubuntu系统信息传输系统,其中,
所述数据发送控制模块包括:
第一发送单元,用于控制Ubuntu发送过程:在Ubuntu系统中创建一消息队列,设置要发送消息的属性,将消息发送到消息队列;创建将要发送数据的话题,编写消息发布订阅节点,将消息队列中的消息发布到话题中;创建客户端socket,从所创建的话题订阅数据包,连接服务端socket匹配IP地址和服务器端所设置的端口号,调用Connect方法,向服务器发出连接请求,监听Android返回连接确认,而后建立连接;
第二发送单元,用于控制Android发送过程:建立客户端socket连接,按照指定的服务器网络地址及通信端口,发送连接请求,接收到Ubuntu服务器端确认连接后,从内存获取编码好的输出数据流,并将其发送到局域网上;
所述数据接收控制模块包括:
第一接收单元,用于控制Android系统端接收过程:Android系统端创建一网络接收信息的Activity及其对应xml界面文件,当其监听到网络端口有信息传来时,建立数据接收线程,按照两个系统事先定义好的通信协议,对传来的结构体数据进行解码,将对应的信息解析并存储到相应的类的private变量中;在安卓端显示或处理相应的数据;
第二接收单元,用于控制Ubuntu系统端接收过程:创建服务器端socket,重写地址并设置监听IP地址和服务端口号,设置监听客户端发送请求,应答Android客户端连接请求,同意连接;接收Android客户端数据流。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其中,所述处理器执行所述计算机程序时实现任一项所述Android与Ubuntu系统信息传输方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现任一项所述Android与Ubuntu系统信息传输方法的步骤。
与现有技术相比,本发明实施例具有以下优点:
本发明实施方式提供一种基于地图的Android与Ubuntu系统信息传输的方法。本发明公开了一种机器人上的Android系统与Ubuntu系统间的信息传输方法,由该传输方法可以实现两个系统之间的通信。达到机器人功能完整、交互性好、可用性强的效果。
本方法的实现则先构建服务器端和客户端,二者进行连接的建立,而后发送端先对将要发送的信息进行处理并创建通信通道,并向服务器发出连接请求;服务器端响应连接请求,利用事先协调好的通信协议及通信端口,接收数据,同时返回响应信息,一次通信结束。本发明大大提高了通信效率和数据的准确性,降低了误码率;将数据实时显示,方便了对数据的调试校准,大大提高了人机交互性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种Android与Ubuntu系统信息传输方法的流程示意图。
图2为本发明实施例中一种Android与Ubuntu系统信息传输方法的简要流程示意图。
图3为本发明实施例中一种Android与Ubuntu系统信息传输方法的Android系统作为服务器端、Ubuntu系统作为客户端时的信息传输流程图。
图4为本发明实施例中一种Android与Ubuntu系统信息传输方法的Ubuntu系统作为服务器端、Android系统作为客户端时的信息传输流程图。
图5为本发明实施例中一种Android与Ubuntu系统信息传输系统的结构示意图;
图6为本发明实施例中计算机设备的内部结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
发明人经过研究发现,现有技术中对于热门的人工智能及机器人领域来说,建立环境地图、基于地图的导航、基于体态的跟踪技术大多是基于Ubuntu系统实现的,而热门的技术如人脸识别、语音识别、人机交互等技术要想实现良好的效果,则需要调用云端资源来处理,而调用云端资源常用Android系统来实现。因此,要想将这些功能集成在同一个机器人上,则需要在机器人上同时配备Android系统与Ubuntu系统。现有技术中没有很好的方法解决两个系统之间的信息传输问题。
为了解决上述问题,在本发明实施例中,先构建服务器端和客户端,二者进行连接的建立,而后发送端先对将要发送的信息进行处理并创建通信通道,并向服务器发出连接请求;服务器端响应连接请求,利用事先协调好的通信协议及通信端口,接收数据,同时返回响应信息,一次通信结束。
下面结合附图,详细说明本发明的各种非限制性实施方式。
请参阅图1,图1示出了本发明实施例中Android与Ubuntu系统信息传输方法,所述方法包括:
步骤S1、构建服务器端和客户端,设置Ubuntu系统与Android系统互为服务器端和客户端,并将两系统连接在同一个局域网内;执行客户端与服务器端的数据发送操作准备;
步骤S2、数据发送处理过程:发送数据前,Android系统发送端和Ubuntu系统发送端都在数据前加入标识、数据内容类型列表和数据字节数;并都在数据报尾加入奇偶校验位和数据停止位;然后执行客户端与服务器端的数据发送操作;
步骤S3、数据接收校验过程:接收端对接收到的数据通过报头信息及末尾奇偶校验位进行校验,若数据正确无误,则将其视为有效数据,并进行下一步的处理;若数据校验有误,则对其进行遗弃,并对发送端发送错误标志。
本发明在具体实施时,简要步骤如图2所示,需要构建服务器端和客户端,并将Android系统与Ubuntu系统配置为成可互为服务器端和客户端;发送端先对将要发送的信息进行处理并创建通信通道,并向服务器发出连接请求;服务器端响应连接请求,利用事先协调好的通信协议及通信端口,接收数据,同时返回响应信息,一次通信结束。本发明的具体实施过程如下:
本申请实施例中整个系统实现包含Android系统与Ubuntu系统两部分,两个系统连接同一个局域网内且IP地址固定,在同一网段上,二者采用C/S架构(即客户端/服务器架构),通过基于TCP协议(传输控制协议)的socket通信方式传输信息。
建立连接过程:本发明在整个系统中,Ubuntu系统与Android系统互为服务器端和客户端(即两个系统都可以作为服务器端,也都可以作为客户端,在一次通信中,一方为服务器端,另一方则为客户端,提高了系统灵活性)。当系统开始运行时,先运行服务器端,并绑定事先制定好的1024到65535之间任意一个网络通信端口,而后运行阻塞程序,等待客户端的连接。再运行客户端,socket的一个套接字接客户端,另一个套接字接服务器端,当服务器端检测到有客户端通过网络接入时,执行客户端与服务器端的数据发送操作。
其中,运行阻塞程序作用可以理解为将通信相关程序卡死在这一个点上,等待连接的建立而后执行其他操作。而socket的套接字里面存储的是服务器端和客户端的IP地址和端口号,类似于{[192.168.1.1:8080],[192.168.1.101:8080]}
本申请中数据发送处理过程:本发明实施例中在发送数据前对于Android端发送的数据在数据前加入系统及设备标识、数据内容类型列表和数据字节数。对于Ubuntu端发送的数据在数据前加入Ubuntu系统版本及硬件序列号作为标识,数据内容类型列表和数据字节数。在数据报尾加入奇偶校验位,和数据停止位。
其中,在数据前加入系统及设备标识、系统及设备标识是为了区别多个传输设备;而加入数据内容类型列表和数据字节数、在数据报尾加入奇偶校验位和数据停止位都是为了校验数据在传输过程中是否发生了传输错误导致接收到的数据错误,如果经过校验,得出接收的数据不正确,就把这个数据丢弃。
数据接收校验过程:接收端对接收到的数据通过报头信息及末尾奇偶校验位进行校验,若数据正确无误,则将其视为有效数据,并进行下一步的处理。若数据校验有误,则对其进行遗弃,并对发送端发送错误标志。
具体地,如图3所示,图3为本发明实施例中一种Android与Ubuntu系统信息传输方法的Android系统作为服务器端、Ubuntu系统作为客户端时的信息传输流程图。当Ubuntu系统作为发送端时,Ubuntu系统发送过程为:1、创建消息队列:Ubuntu系统客户端在Ubuntu系统中创建一个消息队列,设置要发送消息的属性,将消息发送到消息队列。2、将消息由节点发布到话题中:创建将要发送数据的话题,编写消息发布订阅节点,将消息队列中的消息发布到话题中。3、创建socket(),并调用Connect()用于建立连接:即创建客户端socket,从所创建的话题订阅数据包,连接服务端socket匹配IP地址和服务器端所设置的端口号,调用Connect(),向服务器发出连接请求,监听Android返回连接确认,而后建立连接。4、由节点订阅话题中数据,当需发送时,进行编码发送;5、发送完成结束。
如图3所示,对应的Android系统接收过程为:Android系统服务器端创建Activity及对应xml文件,创建socket(),监听listen(),当与Ubuntu系统的创建Connect方法()连接建立,则确认连接,并建立数据接收线程,进行数据接收,Ubuntu系统将数据编码发送,本Android系统则对数据接收解码:即本发明中安卓端创建一个网络接收信息的Activity及其对应xml界面文件,当其监听到网络端口有信息传来时,建立数据接收线程,按照两个系统事先定义好的通信协议,对传来的结构体数据进行解码,将对应的信息解析并存储到相应的类的private变量中。接下来就可以在安卓端显示或处理相应的数据。确认连接,建立数据接收线程。
如图4所示,图4为本发明实施例中一种Android与Ubuntu系统信息传输方法的Ubuntu系统作为服务器端、Android系统作为客户端时的信息传输流程图。如图4所示,当Android系统作为发送端时,Android系统发送过程为:创建socket(),并调用Connect方法()用于建立连接,按照指定的服务器网络地址及通信端口,发送连接请求,接收到Ubuntu服务器端确认连接后,从内存获取数据,并将其编码发送到局域网上。发送完毕后,关闭资源。
如图4所示,对应的Ubuntu系统接收过程为:创建socket(),监听listen():即创建服务器端socket,重写地址并设置监听IP地址和服务端口号,设置监听客户端发送请求,应答Android客户端连接请求,同意连接,确认连接。接收Android客户端数据流,接收解码。当接收完成,结束。
本发明在另一种实施方式中,以服务机器人为例,介绍具体实施方式如下:
Android系统端给Ubuntu系统端发控制信息过程:在机器人使用过程中,Android系统会给Ubuntu系统发送控制信息,具体发送过程如下,首先在Android的xml界面上创建机器人控制按钮,并再相应的Activity中按照事先约定好的通信协议及数据格式编写控制代码,这样大大提高了通信效率和数据的准确性,降低了误码率。当点击相应button组件时,程序中的onClick方法会监听到按下事件,并执行相应代码,监听保证了数据传输的及时性。首先按照上述建立连接过程建立socket连接,而后对数据按照上述数据处理方法进行处理,按照服务器端IP地址与端口发送控制指令,IP地址和端口号套接配对的方式确保了数据传输的安全性。Ubuntu端接收到控制指令后,对其进行解码,得到实际控制指令,而后控制机器人的状态,数据传输完成。
其中,Button组件可以响应用户的点击操作;Activity是特定功能的一段代码;xml文件是这段代码对应的界面文件。其中,onClick是检测开始传输按钮按下的一段程序。
Ubuntu给Android(安卓)系统发环境数据过程:首先创建新的环境数据消息队列,规定环境数据消息类型。运行发布消息节点,将环境数据发布到公共话题中,将数据发布到话题中使得数据更加开放且利于传输。创建socket客户端,订阅公共话题中的环境数据,运行连接请求节点,匹配IP地址和端口号,等待Android服务器端响应完成连接。运行数据发送节点,对所发数据编码,将数据发出。Android服务器端接收到Ubuntu客户端信息,对其进行校验,验证信息正确后,对其进行解码。得到环境数据信息并将其显示到屏幕上,将数据实时显示,方便了对数据的调试校准,大大提高了人机交互性。
由上可见,本发明公开了一种机器人上的Android系统与Ubuntu系统间的信息传输方法,由该传输方法可以实现两个系统之间的通信。达到机器人功能完整、交互性好、可用性强的效果。
在一个实施例中,本发明提供了一种Android与Ubuntu系统信息传输系统,如图5所示,所述系统包括:
构建模块41,用于构建服务器端和客户端,设置Ubuntu系统与Android系统互为服务器端和客户端,并将两系统连接在同一个局域网内;执行客户端与服务器端的数据发送操作准备;具体如上所述。
数据发送控制模块42,用于控制数据发送处理过程:发送数据前,Android系统发送端和Ubuntu系统发送端都在数据前加入标识、数据内容类型列表和数据字节数;并都在数据报尾加入奇偶校验位和数据停止位;然后执行客户端与服务器端的数据发送操作;具体如上所述。
数据接收控制模块43,用于控制数据接收校验过程:接收端对接收到的数据通过报头信息及末尾奇偶校验位进行校验,若数据正确无误,则将其视为有效数据,并进行下一步的处理;若数据校验有误,则对其进行遗弃,并对发送端发送错误标志;具体如上所述。
所述的Android与Ubuntu系统信息传输系统,其中,
所述数据发送控制模块包括:
第一发送单元,用于控制Ubuntu发送过程:在Ubuntu系统中创建一消息队列,设置要发送消息的属性,将消息发送到消息队列;创建将要发送数据的话题,编写消息发布订阅节点,将消息队列中的消息发布到话题中;创建客户端socket,从所创建的话题订阅数据包,连接服务端socket匹配IP地址和服务器端所设置的端口号,调用Connect方法,向服务器发出连接请求,监听Android返回连接确认,而后建立连接;具体如上所述。
第二发送单元,用于控制Android发送过程:建立客户端socket连接,按照指定的服务器网络地址及通信端口,发送连接请求,接收到Ubuntu服务器端确认连接后,从内存获取编码好的输出数据流,并将其发送到局域网上;具体如上所述。
所述数据接收控制模块包括:
第一接收单元,用于控制Android系统端接收过程:Android系统端创建一网络接收信息的Activity及其对应xml界面文件,当其监听到网络端口有信息传来时,建立数据接收线程,按照两个系统事先定义好的通信协议,对传来的结构体数据进行解码,将对应的信息解析并存储到相应的类的private变量中;在安卓端显示或处理相应的数据;具体如上所述。
第二接收单元,用于控制Ubuntu系统端接收过程:创建服务器端socket,重写地址并设置监听IP地址和服务端口号,设置监听客户端发送请求,应答Android客户端连接请求,同意连接;接收Android客户端数据流;具体如上所述。
在一个实施例中,本发明提供了一种计算机设备,该设备可以是终端,内部结构如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入系统。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种自然语言模型的生成方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入系统可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图6所示的仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本发明实施例提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
构建服务器端和客户端,设置Ubuntu系统与Android系统互为服务器端和客户端,并将两系统连接在同一个局域网内;执行客户端与服务器端的数据发送操作准备;
数据发送处理过程:发送数据前,Android系统发送端和Ubuntu系统发送端都在数据前加入标识、数据内容类型列表和数据字节数;并都在数据报尾加入奇偶校验位和数据停止位;然后执行客户端与服务器端的数据发送操作;
数据接收校验过程:接收端对接收到的数据通过报头信息及末尾奇偶校验位进行校验,若数据正确无误,则将其视为有效数据,并进行下一步的处理;若数据校验有误,则对其进行遗弃,并对发送端发送错误标志。
其中,所述构建服务器端和客户端,设置Ubuntu系统与Android系统互为服务器端和客户端,并将两系统连接在同一个局域网内;执行客户端与服务器端的数据发送操作准备的步骤包括:
设置整个系统包含Android系统与Ubuntu系统,Android系统与Ubuntu系统连接在同一个局域网内且IP地址固定,并在同一网段上;
设置Ubuntu系统与Android系统采用客户端/服务器架构,并且互为服务器端和客户端;
设置建立连接的Ubuntu系统与Android系统,通过基于TCP协议的socket通信方式传输信息。
所述Android与Ubuntu系统信息传输方法,其中,所述构建服务器端和客户端,设置Ubuntu系统与Android系统互为服务器端和客户端,并将两系统连接在同一个局域网内;执行客户端与服务器端的数据发送操作准备的步骤还包括:
当系统开始运行时,运行服务器端,并绑定事先制定好的任意一个网络通信端口,运行阻塞程序,等待客户端的连接;
运行客户端,socket的一个套接字接客户端,另一个套接字接服务器端,当服务器端检测到有客户端通过网络接入时,执行客户端与服务器端的数据发送操作准备。
其中,所述数据发送处理过程:发送数据前,Android系统发送端和Ubuntu系统发送端都在数据前加入标识、数据内容类型列表和数据字节数;并都在数据报尾加入奇偶校验位和数据停止位;然后执行客户端与服务器端的数据发送操作的步骤包括:
数据发送处理过程:发送数据前,Android系统发送端对发送的数据在数据前加入系统及设备标识、数据内容类型列表和数据字节数;
Ubuntu系统发送端对发送的数据在数据前加入Ubuntu系统版本及硬件序列号作为标识、数据内容类型列表和数据字节数;
Android系统发送端和Ubuntu系统发送端都对发送的数据的数据报尾加入奇偶校验位和数据停止位。
其中,所述数据发送处理过程的步骤还包括:Ubuntu发送过程:在Ubuntu系统中创建一消息队列,设置要发送消息的属性,将消息发送到消息队列;创建将要发送数据的话题,编写消息发布订阅节点,将消息队列中的消息发布到话题中;创建客户端socket,从所创建的话题订阅数据包,连接服务端socket匹配IP地址和服务器端所设置的端口号,调用Connect方法,向服务器发出连接请求,监听Android返回连接确认,而后建立连接;
所述数据接收校验过程的步骤还包括:Android系统端接收过程:Android系统端创建一网络接收信息的Activity及其对应xml界面文件,当其监听到网络端口有信息传来时,建立数据接收线程,按照两个系统事先定义好的通信协议,对传来的结构体数据进行解码,将对应的信息解析并存储到相应的类的private变量中;在安卓端显示或处理相应的数据。
所述Android与Ubuntu系统信息传输方法,其中,所述数据发送处理过程的步骤还包括:Android发送过程:建立客户端socket连接,按照指定的服务器网络地址及通信端口,发送连接请求,接收到Ubuntu服务器端确认连接后,从内存获取编码好的输出数据流,并将其发送到局域网上;
所述数据接收校验过程的步骤还包括:Ubuntu系统端接收过程:创建服务器端socket,重写地址并设置监听IP地址和服务端口号,设置监听客户端发送请求,应答Android客户端连接请求,同意连接;接收Android客户端数据流,具体如上所述。
综上所述,与现有技术相比,本发明实施例具有以下优点:
本发明实施方式提供一种基于地图的Android与Ubuntu系统信息传输的方法。本发明公开了一种机器人上的Android系统与Ubuntu系统间的信息传输方法,由该传输方法可以实现两个系统之间的通信。达到机器人功能完整、交互性好、可用性强的效果。
本方法的实现则先构建服务器端和客户端,二者进行连接的建立,而后发送端先对将要发送的信息进行处理并创建通信通道,并向服务器发出连接请求;服务器端响应连接请求,利用事先协调好的通信协议及通信端口,接收数据,同时返回响应信息,一次通信结束。本发明大大提高了通信效率和数据的准确性,降低了误码率;将数据实时显示,方便了对数据的调试校准,大大提高了人机交互性。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种Android与Ubuntu系统信息传输方法,其特征在于,所述方法包括:
构建服务器端和客户端,设置Ubuntu系统与Android系统互为服务器端和客户端,并将两系统连接在同一个局域网内;执行客户端与服务器端的数据发送操作准备;
数据发送处理过程:发送数据前,Android系统发送端和Ubuntu系统发送端都在数据前加入标识、数据内容类型列表和数据字节数;并都在数据报尾加入奇偶校验位和数据停止位;然后执行客户端与服务器端的数据发送操作;
数据接收校验过程:接收端对接收到的数据通过报头信息及末尾奇偶校验位进行校验,若数据正确无误,则将其视为有效数据,并进行下一步的处理;若数据校验有误,则对其进行遗弃,并对发送端发送错误标志。
2.根据权利要求1所述Android与Ubuntu系统信息传输方法,其特征在于,所述构建服务器端和客户端,设置Ubuntu系统与Android系统互为服务器端和客户端,并将两系统连接在同一个局域网内;执行客户端与服务器端的数据发送操作准备的步骤包括:
设置整个系统包含Android系统与Ubuntu系统,Android系统与Ubuntu系统连接在同一个局域网内且IP地址固定,并在同一网段上;
设置Ubuntu系统与Android系统采用客户端/服务器架构,并且互为服务器端和客户端;
设置建立连接的Ubuntu系统与Android系统,通过基于TCP协议的socket通信方式传输信息。
3.根据权利要求1所述Android与Ubuntu系统信息传输方法,其特征在于,所述构建服务器端和客户端,设置Ubuntu系统与Android系统互为服务器端和客户端,并将两系统连接在同一个局域网内;执行客户端与服务器端的数据发送操作准备的步骤还包括:
当系统开始运行时,运行服务器端,并绑定事先制定好的任意一个网络通信端口,运行阻塞程序,等待客户端的连接;
运行客户端,socket的一个套接字接客户端,另一个套接字接服务器端,当服务器端检测到有客户端通过网络接入时,执行客户端与服务器端的数据发送操作准备。
4.根据权利要求1所述Android与Ubuntu系统信息传输方法,其特征在于,所述数据发送处理过程:发送数据前,Android系统发送端和Ubuntu系统发送端都在数据前加入标识、数据内容类型列表和数据字节数;并都在数据报尾加入奇偶校验位和数据停止位;然后执行客户端与服务器端的数据发送操作的步骤包括:
数据发送处理过程:发送数据前,Android系统发送端对发送的数据在数据前加入系统及设备标识、数据内容类型列表和数据字节数;
Ubuntu系统发送端对发送的数据在数据前加入Ubuntu系统版本及硬件序列号作为标识、数据内容类型列表和数据字节数;
Android系统发送端和Ubuntu系统发送端都对发送的数据的数据报尾加入奇偶校验位和数据停止位。
5.根据权利要求1所述Android与Ubuntu系统信息传输方法,其特征在于,所述数据发送处理过程的步骤还包括:Ubuntu发送过程:在Ubuntu系统中创建一消息队列,设置要发送消息的属性,将消息发送到消息队列;创建将要发送数据的话题,编写消息发布订阅节点,将消息队列中的消息发布到话题中;创建客户端socket,从所创建的话题订阅数据包,连接服务端socket匹配IP地址和服务器端所设置的端口号,调用Connect方法,向服务器发出连接请求,监听Android返回连接确认,而后建立连接;
所述数据接收校验过程的步骤还包括:Android系统端接收过程:Android系统端创建一网络接收信息的Activity及其对应xml界面文件,当其监听到网络端口有信息传来时,建立数据接收线程,按照两个系统事先定义好的通信协议,对传来的结构体数据进行解码,将对应的信息解析并存储到相应的类的private变量中;在安卓端显示或处理相应的数据。
6.根据权利要求1所述Android与Ubuntu系统信息传输方法,其特征在于,所述数据发送处理过程的步骤还包括:Android发送过程:建立客户端socket连接,按照指定的服务器网络地址及通信端口,发送连接请求,接收到Ubuntu服务器端确认连接后,从内存获取编码好的输出数据流,并将其发送到局域网上;
所述数据接收校验过程的步骤还包括:Ubuntu系统端接收过程:创建服务器端socket,重写地址并设置监听IP地址和服务端口号,设置监听客户端发送请求,应答Android客户端连接请求,同意连接;接收Android客户端数据流。
7.一种Android与Ubuntu系统信息传输系统,其特征在于,所述系统包括:
构建模块,用于构建服务器端和客户端,设置Ubuntu系统与Android系统互为服务器端和客户端,并将两系统连接在同一个局域网内;执行客户端与服务器端的数据发送操作准备;
数据发送控制模块,用于控制数据发送处理过程:发送数据前,Android系统发送端和Ubuntu系统发送端都在数据前加入标识、数据内容类型列表和数据字节数;并都在数据报尾加入奇偶校验位和数据停止位;然后执行客户端与服务器端的数据发送操作;
数据接收控制模块,用于控制数据接收校验过程:接收端对接收到的数据通过报头信息及末尾奇偶校验位进行校验,若数据正确无误,则将其视为有效数据,并进行下一步的处理;若数据校验有误,则对其进行遗弃,并对发送端发送错误标志。
8.根据权利要求7所述的Android与Ubuntu系统信息传输系统,其特征在于,
所述数据发送控制模块包括:
第一发送单元,用于控制Ubuntu发送过程:在Ubuntu系统中创建一消息队列,设置要发送消息的属性,将消息发送到消息队列;创建将要发送数据的话题,编写消息发布订阅节点,将消息队列中的消息发布到话题中;创建客户端socket,从所创建的话题订阅数据包,连接服务端socket匹配IP地址和服务器端所设置的端口号,调用Connect方法,向服务器发出连接请求,监听Android返回连接确认,而后建立连接;
第二发送单元,用于控制Android发送过程:建立客户端socket连接,按照指定的服务器网络地址及通信端口,发送连接请求,接收到Ubuntu服务器端确认连接后,从内存获取编码好的输出数据流,并将其发送到局域网上;
所述数据接收控制模块包括:
第一接收单元,用于控制Android系统端接收过程:Android系统端创建一网络接收信息的Activity及其对应xml界面文件,当其监听到网络端口有信息传来时,建立数据接收线程,按照两个系统事先定义好的通信协议,对传来的结构体数据进行解码,将对应的信息解析并存储到相应的类的private变量中;在安卓端显示或处理相应的数据;
第二接收单元,用于控制Ubuntu系统端接收过程:创建服务器端socket,重写地址并设置监听IP地址和服务端口号,设置监听客户端发送请求,应答Android客户端连接请求,同意连接;接收Android客户端数据流。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述Android与Ubuntu系统信息传输方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述Android与Ubuntu系统信息传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911318474.XA CN110971708B (zh) | 2019-12-19 | 2019-12-19 | 安卓与Ubuntu系统信息传输方法及系统、设备、介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911318474.XA CN110971708B (zh) | 2019-12-19 | 2019-12-19 | 安卓与Ubuntu系统信息传输方法及系统、设备、介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110971708A true CN110971708A (zh) | 2020-04-07 |
CN110971708B CN110971708B (zh) | 2021-11-30 |
Family
ID=70035216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911318474.XA Active CN110971708B (zh) | 2019-12-19 | 2019-12-19 | 安卓与Ubuntu系统信息传输方法及系统、设备、介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110971708B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112887401A (zh) * | 2021-01-25 | 2021-06-01 | 宁波均联智行科技股份有限公司 | 一种基于多个操作系统的网络访问方法及车机系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101902502A (zh) * | 2010-08-08 | 2010-12-01 | 北京大学 | 一种基于Android的透明数据存储方法和系统 |
CN102792274A (zh) * | 2009-07-20 | 2012-11-21 | 摩托罗拉移动公司 | 多环境操作系统 |
CN104699426A (zh) * | 2013-12-05 | 2015-06-10 | 刘利钊 | 一种设置有操作系统模块的3d快速成型机 |
US20150178234A1 (en) * | 2013-12-20 | 2015-06-25 | Qualcomm Incorporated | Methods of using a peripheral component interconnect express (pcie) device in a virtual environment |
US20160170996A1 (en) * | 2014-08-21 | 2016-06-16 | Affectomatics Ltd. | Crowd-based scores for experiences from measurements of affective response |
CN106874785A (zh) * | 2017-01-13 | 2017-06-20 | 北京元心科技有限公司 | 多操作系统的系统文件访问方法及装置 |
CN109314726A (zh) * | 2016-06-20 | 2019-02-05 | 华为技术有限公司 | 操作系统容器之间通讯的系统和方法 |
-
2019
- 2019-12-19 CN CN201911318474.XA patent/CN110971708B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102792274A (zh) * | 2009-07-20 | 2012-11-21 | 摩托罗拉移动公司 | 多环境操作系统 |
CN101902502A (zh) * | 2010-08-08 | 2010-12-01 | 北京大学 | 一种基于Android的透明数据存储方法和系统 |
CN104699426A (zh) * | 2013-12-05 | 2015-06-10 | 刘利钊 | 一种设置有操作系统模块的3d快速成型机 |
US20150178234A1 (en) * | 2013-12-20 | 2015-06-25 | Qualcomm Incorporated | Methods of using a peripheral component interconnect express (pcie) device in a virtual environment |
US20160170996A1 (en) * | 2014-08-21 | 2016-06-16 | Affectomatics Ltd. | Crowd-based scores for experiences from measurements of affective response |
CN109314726A (zh) * | 2016-06-20 | 2019-02-05 | 华为技术有限公司 | 操作系统容器之间通讯的系统和方法 |
CN106874785A (zh) * | 2017-01-13 | 2017-06-20 | 北京元心科技有限公司 | 多操作系统的系统文件访问方法及装置 |
Non-Patent Citations (4)
Title |
---|
SHRUTI KANETKAR: "Virtual Screen for Cloud Thin Clients", 《IEEE》 * |
任丽莉: "基于轮式机器人平台的语音识别系统", 《长春师范大学学报》 * |
李秀明等: "机器人生产线的网络信息管理及监控系统", 《机器人》 * |
王攻本: "分类·汉英·英汉最新计算机科学技术词典", 《分类·汉英·英汉最新计算机科学技术词典》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112887401A (zh) * | 2021-01-25 | 2021-06-01 | 宁波均联智行科技股份有限公司 | 一种基于多个操作系统的网络访问方法及车机系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110971708B (zh) | 2021-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10635436B2 (en) | Compatibility method based on hybrid, adapter, operation device, system and computer-readable storage medium | |
CN105183675A (zh) | 对usb设备的访问方法、装置、终端、服务器及系统 | |
CN107360177B (zh) | 一种基于udp的报文传输方法及装置 | |
WO2019134706A1 (zh) | 汽车诊断方法、装置、设备、系统和诊断连接设备 | |
CN112752245B (zh) | 一种配网方法、装置、电子设备及存储介质 | |
CN111541662B (zh) | 一种基于二进制通信协议的通信方法、电子设备及存储介质 | |
CN112769794A (zh) | 一种数据转换方法及装置 | |
CN110971708B (zh) | 安卓与Ubuntu系统信息传输方法及系统、设备、介质 | |
CN113709243B (zh) | 设备远程控制方法及装置、电子设备和存储介质 | |
CN108449246A (zh) | 一种基于即时通讯软件与物联网通信的智能家居系统 | |
CN204989857U (zh) | 一种基于先锋机器人的远程控制装置 | |
CN106850554B (zh) | 双系统定向连接的方法和装置 | |
CN107231275B (zh) | 用于用户设备与家居设备连接配置的方法 | |
CN112073488A (zh) | 处理请求的方法及装置 | |
CN116886558A (zh) | 网络协议测试方法、装置、设备、介质及系统 | |
CN107277107B (zh) | 应用调试方法、装置及系统 | |
CN112422485A (zh) | 一种传输控制协议的通信方法及装置 | |
CN111708568B (zh) | 一种组件化开发解耦方法及终端 | |
CN110018754A (zh) | 传输触控数据的方法和触控显示设备 | |
CN106331051A (zh) | 文件传输方法和系统以及接收文件装置、发送文件装置 | |
CN114619462A (zh) | 一种基于机器人流程自动化的远程桌面控制方法 | |
CN114095343A (zh) | 基于双活系统的容灾方法、装置、设备及存储介质 | |
CN114584971A (zh) | 账号注册方法及装置、电子设备及存储介质 | |
CN108735278B (zh) | 一种适用于康复设备的指令的传输方法及应用 | |
CN113326223A (zh) | 一种信息交互、串口配置方法、装置、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |