CN114827268A - 远程调试方法和设备 - Google Patents
远程调试方法和设备 Download PDFInfo
- Publication number
- CN114827268A CN114827268A CN202210514367.XA CN202210514367A CN114827268A CN 114827268 A CN114827268 A CN 114827268A CN 202210514367 A CN202210514367 A CN 202210514367A CN 114827268 A CN114827268 A CN 114827268A
- Authority
- CN
- China
- Prior art keywords
- debugging
- data
- equipment
- debugged
- interface
- 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
- 238000000034 method Methods 0.000 title claims abstract description 76
- 230000006854 communication Effects 0.000 claims abstract description 179
- 238000004891 communication Methods 0.000 claims abstract description 178
- 230000005540 biological transmission Effects 0.000 claims description 26
- 230000001105 regulatory effect Effects 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 15
- 238000004590 computer program Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2294—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by remote test
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Abstract
本申请公开了一种远程调试方法和设备。该方法包括:通过第一设备的第一通信组件发送调试数据至服务器,以通过服务器发送调试数据至第二设备的第二通信组件;其中,第二设备是已订阅调试数据所对应消息主题的设备,且第二设备用于通过第二通信组件,将调试数据写入连接于第二设备的待调设备;通过第一通信组件,接收服务器传输的待调设备对调试数据的调试结果;其中,调试结果经由第二设备的第二通信组件接收并传输至服务器,且第一设备已订阅调试结果对应的消息主题。根据本申请实施例提供的方法,可以节约调试成本,提高设备调试效率。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种远程调试方法和设备。
背景技术
在本地进行电子器件调试时,若本地设备的接口和连接于本地设备的电子器件的通信接口不同,则可以采用相应的接口转换器实现本地设备与所连接电子器件之间的直接数据输入/输出(Input/Output,I/O),进而在本地设备上较为方便地通过该接口转换器实现对连接于本地设备上的该电子器件的配置调试工作。
而在客户技术支持服务等场景中,无法使用接口转换器远程调试电子器件,在某种情况下调试工程师只能去客户现场对电子器件进行调试,增加了时间成本和出差成本,且调试效率较低。
发明内容
本申请提供一种远程调试方法和设备,可以节约调试成本,提高设备调试效率。
本申请第一方面提供一种远程调试方法,应用于第一设备,该方法包括:通过第一设备的第一通信组件发送调试数据至服务器,以通过所述服务器发送所述调试数据至第二设备的第二通信组件;其中,所述第二设备是已订阅所述调试数据所对应消息主题的设备,且所述第二设备用于通过所述第二通信组件,将所述调试数据写入连接于所述第二设备的待调设备;通过所述第一通信组件,接收所述服务器传输的所述待调设备对调试数据的调试结果;其中,所述调试结果经由所述第二设备的第二通信组件接收并传输至所述服务器,且所述第一设备已订阅所述调试结果对应的消息主题。
本申请第二方面提供一种远程调试方法,应用于服务器,该方法包括:接收第一设备通过第一通信组件发送的调试数据;发送所述调试数据至第二设备的第二通信组件;其中,所述第二设备是已订阅所述调试数据所对应消息主题的设备,且所述第二设备用于通过所述第二通信组件,将所述调试数据写入连接于所述第二设备的待调设备;接收所述第二设备通过所述第二通信组件发送的所述待调设备对调试数据的调试结果;其中,所述调试结果由所述待调设备发送至所述第二设备;发送所述调试结果至所述第一设备的第一通信组件,以使所述第一设备根据所述调试结果确定对所述待调设备的调试结果;其中,所述第一设备已订阅所述调试结果对应的消息主题。
本申请第三方面提供一种远程调试方法,应用于第二设备,该方法包括:通过所述第二设备的第二通信组件接收服务器发送的调试数据;其中,所述调试数据由第一设备的第一通信组件发送至所述服务器,所述第二设备已订阅所述调试数据所对应消息主题;将所述调试数据发送至连接于所述第二设备的待调设备;将通过所述第二通信组件接收的所述待调设备对所述调试数据的调试结果发送至所述服务器,以通过所述服务器发送所述调试结果至所述第一设备的第一通信组件;其中,所述第一设备已订阅所述调试数据所对应消息主题。
本申请第四方面提供一种第一设备,包括:发送模块,用于通过第一设备的第一通信组件发送调试数据至服务器,以通过所述服务器发送所述调试数据至第二设备的第二通信组件;其中,所述第二设备是已订阅所述调试数据所对应消息主题的设备,且所述第二设备用于通过所述第二通信组件,将所述调试数据写入连接于所述第二设备的待调设备;接收模块,用于通过所述第一通信组件,接收所述服务器传输的所述待调设备对调试数据的调试结果;其中,所述调试结果经由所述第二设备的第二通信组件接收并传输至所述服务器,且所述第一设备已订阅所述调试结果对应的消息主题。
本申请第五方面提供一种服务器,包括:接收模块,用于接收第一设备通过第一通信组件发送的调试数据;
发送模块,用于发送所述调试数据至第二设备的第二通信组件;其中,所述第二设备是已订阅所述调试数据所对应消息主题的设备,且所述第二设备用于通过所述第二通信组件,将所述调试数据写入连接于所述第二设备的待调设备;
所述接收模块,还用于接收所述第二设备通过所述第二通信组件发送的所述待调设备对调试数据的调试结果;其中,所述调试结果由所述待调设备发送至所述第二设备;
所述发送模块,还用于发送所述调试结果至所述第一设备的第一通信组件,以使所述第一设备根据所述调试结果确定对所述待调设备的调试结果;其中,所述第一设备已订阅所述调试结果对应的消息主题。
本申请第六方面提供一种第二设备,包括:接收模块,用于通过所述第二设备的第二通信组件接收服务器发送的调试数据;其中,所述调试数据由第一设备的第一通信组件发送至所述服务器,所述第二设备已订阅所述调试数据所对应消息主题;发送模块,用于将所述调试数据发送至连接于所述第二设备的待调设备;所述发送模块,还用于将通过所述第二通信组件接收的所述待调设备对所述调试数据的调试结果发送至所述服务器,以通过所述服务器发送所述调试结果至所述第一设备的第一通信组件;其中,所述第一设备已订阅所述调试数据所对应消息主题。
根据本申请实施例的远程调试方法和设备,本地第一设备可以远程配置和调试连接于远端第二设备的待调设备,使得调试工作不再受到办公地域位置的制约,也无需受制于去客户现场对电子器件进行现场调试,节约了时间成本和出差成本,提高了设备调试效率。
附图说明
附图是用来提供对本申请的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本申请,但并不构成对本申请的限制。
图1为本申请实施例提供的远程调试系统的架构示意图。
图2为本申请实施例提供的应用于第一设备的远程调试方法的流程图。
图3为本申请实施例提供的远程调试系统的架构示意图。
图4为本申请实施例提供的应用于服务器的远程调试方法的流程图。
图5为本申请实施例提供的应用于第二设备的远程调试方法的流程图。
图6为本申请实施例提供的远程调试方法的数据通信流程图。
图7为本申请实施例提供的远程调试系统中本地设备的具体结构示意图。
图8为本申请实施例提供的第一设备的结构示意图。
图9为本申请实施例提供的服务器的结构示意图。
图10为本申请实施例提供的第二设备的结构示意图。
图11为本申请实施例提供的一种电子设备的框图。
具体实施方式
以下结合附图对本申请的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本申请,并不用于限制本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本申请实施例中,本地的终端设备可以对连接于该终端设备的待调设备进行现场调试。其中,终端设备的通信接口与待调设备的通信接口可以是基于不同数据传输标准和通信机制的接口类型,例如通用串行总线(Universal Serial Bus,USB)接口、串行数据传输总线(Inter-Integrated Circuit,I2C)接口、串行外设接口(Serial PeripheralInterface,SPI)接口、控制器局域网络(Controller Area Network,CAN)总线接口等。
以终端设备是PC,待调设备是具有I2C接口的寄存器为例,实际应用场景中,PC通常包含USB接口,USB接口几乎成为PC的标配。USB是一个外部总线标准,用于规范PC与外部设备的连接和通讯,是广泛应用在PC领域的接口技术;I2C是一种双向二线制同步串行总线,是微电子通信控制领域广泛采用的一种总线标准,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。
在本地PC上,通常可以通过USB-I2C桥接芯片,较为方便地对采用I2C接口通信芯片的寄存器进行配置调试工作;而在客户技术支持服务场景中,由于无法通过USB-I2C远程调试芯片,则往往需要调试工程师去客户现场进行调试,时间成本和出差成本较高,且不利于提高调试效率;因此,需要通过远程调试来解决调试工作的迫切性和地域位置限制。
为了更好的理解本申请,下面将结合附图,详细描述根据本申请实施例的远程调试方法、设备和系统,应注意,这些实施例并不是用来限制本申请公开的范围。
图1为本申请实施例提供的远程调试系统的架构示意图;如图1所示,在一个实施例中,远程调试系统中可以包括本地设备20、服务器30、远端设备40和连接于远端设备40的待调设备50。
其中,本地设备20和远端设备40,可以是个人计算机(Personal Computer,PC),例如手机终端、台式计算机、桌面电脑、笔记本电脑、上网本、平板电脑以及超级本等属于个人计算机范畴的设备。
服务器30是可以对本地设备20和远端设备40提供通讯连接的服务器、服务器集群以及云平台。
待调设备50,可以是具有读写功能的电子器件,例如寄存器、内存、缓存器等具有读写功能的硬件板(Hardware Board)。
在图1中,用户10可以是本地的调试人员、调试工程师。本申请实施例中,用户10可以使用本地设备20远程调试连接于远端设备40的待调设备50。
在本申请下述实施例的描述中,为了简化描述起见,本地设备20和远端设备40例如可以是采用USB接口的PC设备,待调设备50可以是采用I2C接口通信芯片的寄存器。但该描述并不能被解读为限制本方案的范围或实施可能性,PC以外的其他终端设备以及采用I2C接口通信芯片的寄存器以外的采用其他类型通信接口的待调设备的处理方法,与终端设备是PC,待调设备是采用I2C接口通信芯片的寄存器的处理方法保持一致。
图2为本申请实施例提供的应用于第一设备的远程调试方法的流程图。在一些实施例中,该远程调试方法可应用于位于本地的第一设备。如图2所示,本申请实施例中的远程调试方法包括以下步骤。
S210,通过第一设备的第一通信组件发送调试数据至服务器,以通过服务器发送调试数据至第二设备的第二通信组件;其中,第二设备是已订阅调试数据所对应消息主题的设备,且第二设备用于通过第二通信组件,将调试数据写入连接于第二设备的待调设备。
S220,通过第一通信组件,接收服务器传输的待调设备对调试数据的调试结果;其中,调试结果经由第二设备的第二通信组件接收并传输至服务器,且第一设备已订阅调试结果对应的消息主题。
根据本申请实施例的远程调试方法,本地的第一设备将调试数据通过第一通信组件发布到服务器,服务器将接收到的调试数据转发到已经订阅了该调试数据所对应主题(Topic)的远端第二设备中的第二通信组件;远端第二设备将第二通信组件接收到的调试数据写入连接于远端第二设备的待调设备,且远端第二设备的第二通信组件将待调设备对调试数据的调试结果返回到本地设备,本地设备通过第一通信组件接收该调试结果。根据该远程调试方法,本地设备可以远程配置和调试远端的待调设备,使得调试工作不再受到办公地域位置的制约,也无需受制于去客户现场对电子器件进行现场调试,节约了时间成本和出差成本,提高了设备调试效率。
图3为本申请示例性实施例的远程调试系统的架构示意图。图3与图2中相同或等同的结构使用相同的标号。在本申请实施例中,本地设备20可以记为第一设备20,远端设备40可以记为第二设备40。
在一些实施例中,本地设备20中可以运行有第一通信组件(图中未示出)和第一调试工具(Debug Tool)22;其中,第一通信组件可以包括图3中示出的基于消息队列遥测传输协议(Message Queuing Telemetry Transport,MQTT)协议的第一MQTT客户端211、第一虚拟I2C接口(Virtual I2C Interface)212和第一驱动组件213。
在一些实施例中,远端设备40中可以运行第二通信组件(图中未示出);其中,第二通信组件可以包括图3中示出的基于MQTT协议的第二MQTT客户端411、第二虚拟I2C接口412和第二驱动组件413。
在本申请实施例中,调试工具可以实现为调试程序或调试软件,在终端设备上运行的调试工具可以配置待调设备,也可以控制待调设备执行预定编写的脚本程序、控制命令等。在一些实施例中,调试工具还可以提供数据接口和操作显示界面。其中,调试工具的数据接口可以用于接收调试数据,操作显示界面可以用于显示调试数据的调试结果。
在一些实施例中,远端设备40中还包括USB接口(图中未示出),待调设备50包括I2C接口,远端设备40的USB接口与待调设备50的I2C接口通过接口转换器51相连接;示例性地,如图3所示,接口转换器51可以是USB-I2C桥接芯片;第二虚拟I2C接口412和接口转换器51通过第二驱动组件413的驱动建立通信连接。
在一些实施例中,第一驱动组件213和第二驱动组件413,可以实现为软件开发工具包(Software Development Kit,SDK)。示例性地,若远端设备40的USB接口通过接口转换器51连接于待调设备50的I2C接口,接口转换器51为USB-I2C桥接芯片(记为USBtoI2C),第二驱动组件413可以是USB接口转I2C接口的SDK(记为USBtoI2C SDK),用于驱动USB-I2C桥接芯片工作,从而建立第二虚拟I2C接口412与接口转换器51之间的通信连接。
继续参考图3,服务器30部署有基于消息队列遥测传输MQTT协议的代理服务器(MQTT Broker)31。
应理解,本申请并不局限于以上描述的以及在图3中示出的特定的模块,在一些实施例中,远程调试系统可以只包含其中的部分模块或更多模块,例如远端设备40可以运行有第二调试工具等。也就是说,本申请实施例中的远程调试系统包含更灵活的模块配置,下面结合具体的实施例进行说明。
在一些实施例中,服务器中部署有基于消息队列遥测传输MQTT协议的MQTT代理服务器;第一通信组件包括:基于MQTT协议的第一MQTT客户端和第一虚拟串行传输总线I2C接口;第二设备包括通用串行总线USB接口,待调设备包括I2C接口,第二设备的USB接口与待调设备的I2C接口通过接口转换器相连接。
在该实施例,MQTT-Broker即MQTT代理,也可称为MQTT服务器,服务器中部署MQTTBroker可以用于接受MQTT协议发布者发布的所有消息。
在本申请实施例中,MQTT协议是一种基于发布主题和/或订阅主题的设备通讯协议,该协议属于物联网的数据传输协议,适用于网络受限环境,使用传输控制协议/因特网互联协议(Transmission Control Protocol/Internet Protocol,TCP/IP)提供网络连接,并可以提供订阅消息模式和发送消息模式。
在申请实施例中,第一设备可以通过第一MQTT客户端与服务器中部署的MQTTBroker通过TCP/IP建立网络连接,第二设备通过第二MQTT客户端与服务器中部署的MQTTBroker通过TCP/IP建立网络连接,第一MQTT客户端可以是运行于第一设备的使用MQTT协议的设备或应用程序;第二MQTT客户端可以是运行于第二设备的使用MQTT协议的设备或应用程序。
对于调试数据而言,第一设备为消息发送方,服务器端的MQTT Broker为消息代理方,第二设备为调试数据的消息接收方(后续第二设备将调试数据传输至待调设备);对于调试数据的调试结果而言,第二设备为消息发送方(调试结果由待调设备传输至第二设备),服务器端的MQTT Broker为消息代理方,第一设备为调试数据的消息接收方。具体地,当消息发送方发送一个主题对应的消息给消息代理方,消息代理方会将主题对应的消息发送给所有订阅了该主题的消息订阅方。
在本申请实施例中,在利用MQTT协议进行消息传输的过程中,通讯过程不需要其他配置文件或者是第三方插件支持,可以解除通讯双方对浏览器控件的依赖;并且,利用MQTT协议进行消息传输的过程中,可以采用至少一次基于MQTT协议进行消息传输的方式,确保调试数据对应的消息能够通过MQTT Broker传输到远端第二设备的MQTT Client,提高调试数据发送的成功率,使得本地设备可以远程配置远端设备所连接的待调设备,对待调设备的调试不再受到办公地域位置的制约,节约调试成本,提高调试效率。
在一些实施例中,步骤S110中,通过第一设备的第一通信组件发送调试数据至服务器的步骤,具体可以包括:S11,利用运行于第一设备的调试工具的数据接口,接收并传输调试数据至第一虚拟I2C接口,以通过第一虚拟I2C接口发送到第一MQTT客户端;S12,通过第一MQTT客户端向MQTT代理服务器发送调试数据。
在该实施例中,本地第一设备运行Debug Tool和MQTT Client,通过Debug Tool接收用户输入的调试数据,以将该调试数据经第一虚拟I2C接口传输至第一MQTT客户端,再由第一MQTT客户端与服务器采用TCP/IP协议通信,将调试数据传输至服务器端的MQTTBroker,从而将用于对远端待调设备的调试数据上传到服务器端。
在一些实施例中,步骤S110中,通过服务器发送调试数据至第二设备的第二通信组件的步骤,具体可以包括:通过MQTT代理服务器将调试数据发送至第二MQTT客户端。
其中,第二MQTT客户端用于将调试数据发送至第二虚拟I2C接口,以使第二虚拟I2C接口通过第二驱动组件与接口转换器通信,并将调试数据经由接口转换器和待调设备的I2C接口,传输到待调设备。
通过上述步骤S110,调试人员可以通过操作运行在本地第一设备的Debug Tool远程调试连接在远端第二设备的待调设备,从而节约调试成本,提高调试效率。
在一些实施例中,步骤S120中的通过第一通信组件,接收服务器传输的待调设备对调试数据的调试结果,具体可以包括:S21,将通过第一MQTT客户端接收的MQTT代理服务器下发的调试结果,传输至第一虚拟I2C接口;S22,通过第一虚拟I2C接口,传输调试结果至运行于第一设备的调试工具的数据接口,以通过调试工具显示调试结果。
通过上述步骤S21-S22,通过运行在本地第一设备的Debug Tool接收连接在远端第二设备的待调设备对调试数据的调试结果,从而可以根据调试结果确定是否完成远程调试或开启再次远程调试,提高调试效率。
在一些实施例中,调试结果是第二设备根据预定结果返回流程传输至服务器的数据;结果返回流程包括:S31,通过第二虚拟I2C接口与接口转换器的通信连接,将待调设备通过I2C接口发送至接口转换器的调试结果,传输至第二虚拟I2C接口;S32,通过第二虚拟I2C接口传输调试结果至第二MQTT客户端;S33,由第二MQTT客户端发送调试结果至MQTT代理服务器。
通过上述步骤S31-S33,远端第二设备将待调设备对调试数据的调试结果,通过第二MQTT客户端传输至MQTT Broker,以使MQTT Broker可以将调试结果发送至已订阅该调试结果所对应消息主题的第一设备。
在一些实施例中,远程调试包括写入调试和读取调试中的一种;在远程调试为写入调试的情况下,调试数据包括待调设备的写入地址和待写入数据。
在该实施例中,远程调试方法还包括:若在预定第一时长内接收到调试结果,且调试结果中包括对待调设备的写入成功标志,则确定对待调设备的写入调试成功。
示例性地,以待调设备为寄存器为例,远程调试中寄存器写入过程包括如下步骤:首先,通过第一设备上运行的Debug Tool将写入数据通过MQTT Client发布到MQTTBroker;其次,MQTT Broker将接收到的数据转发到已经订阅了写入数据所对应topic的第二设备中的MQTT Client;接着,远端的第二设备上运行的Debug Tool通过USBtoI2C板将MQTT Client接收到的数据写入连接于第二设备的寄存器;然后,远端第二设备的DebugTool将写入成功与否的结果返回至第二通信组件,通过第二通信组件发布到MQTT Broker,MQTT Broker将读取的数据转发到已经订阅了写入结果所对应topic的第一设备。
在一些实施例中,在远程调试为读取调试的情况下,调试数据为携带目标读取地址的读取命令。
在该实施例中,远程调试方法还包括:若在预定第二时长内接收到调试结果,且调试结果中包括对待调设备的读取成功标志和读取的数据,则确定对待调设备的读取调试成功。
示例性地,以待调设备为寄存器为例,远程调试中寄存器读取过程分为四步:首先,通过第一设备上运行的Debug Tool将读取命令通过MQTT Client发布到MQTT Broker;其次,MQTT Broker将接收到的读取命令转发到已经订阅了读取命令所对应topic的远端PC中的MQTT Client;接着,远端的第二设备上运行的Debug Tool通过USBtoI2C板将MQTTClient接收到的读取命令写入连接于第二设备的寄存器;然后,远端第二设备的DebugTool将读取的数据返回至第二通信组件,通过第二通信组件发布到MQTT Broker,MQTTBroker将读取的数据转发到已经订阅了读取的数据所对应topic的第一设备。
在一些实施例中,远程调试方法还可以包括:在步骤S110中的通过第一设备的第一通信组件发送调试数据至服务器之后,该远程调试方法还包括:若在预定等待时长范围内未接收到待调设备对调试数据的调试结果,则可以再次通过第一设备的第一通信组件发送调试数据至服务器。
在该实施例中,通过再次发送调试数据,可以提高第一设备的调试数据能够到达连接于第二设备的待调设备的成功率,进而提高本地设备远程调试远端待调设备的成功率。预定等待时长可以根据实际情况进行设置,本申请实施例不做具体限定。
在一些实施例中,第一设备还可以通过第一通信组件接收服务器传输的对待调设备进行远程调试的音频信息和视频信息;例如,第二设备上集成有音视频采集设备,用于对连接于第二设备的待调设备的调试现场进行音频信息和视频信息的采集,从而基于集成的音视频,实现全场景的远程调试。
在本申请实施例中,该远程调试的音频信息和视频信息与调试数据的调试结果的数据传输路径和传输方法相同,本申请实施例不再赘述。
根据本申请实施例的远程调试方法,通过本地的第一设备远程读写连接在远端第二设备的待调设备,以对连接在远端第二设备的待调设备进行远程调试,使得调试工作不再受到办公地域位置的制约,也无需受制于去客户现场对电子器件进行现场调试,节约了时间成本和出差成本,提高了设备调试效率。
图4为本申请实施例提供的应用于服务器的远程调试方法的流程图。如图4所示,该远程调试方法包括如下步骤。
S410,接收第一设备通过第一通信组件发送的调试数据。
S420,发送调试数据至第二设备的第二通信组件;其中,第二设备是已订阅调试数据所对应消息主题的设备,且第二设备用于通过第二通信组件,将调试数据写入连接于第二设备的待调设备。
S430,接收第二设备通过第二通信组件发送的待调设备对调试数据的调试结果;其中,调试结果由待调设备发送至第二设备。
S440,发送调试结果至第一设备的第一通信组件,以使第一设备根据调试结果确定对待调设备的调试结果;其中,第一设备已订阅调试结果对应的消息主题。
通过上述步骤S410-S440,服务器接收第一设备通过第一通信组件发布的调试数据,并将调试数据转发到已经订阅了该调试数据所对应主题的第二设备中的第二通信组件,从而通过该第二通信组件将调试数据写入连接于第二设备的待调设备;以及接收第二设备的第二通信组件发送的来自待调设备对调试数据的调试结果,并将该调试结果发送至第一设备的第一通信组件,以使本地设备获得该调试结果。
根据该远程调试方法,服务器与第一设备的第一通信组件通信,以及与第二设备的第二通信组件通信,从而建立第一设备与第二设备之间的远程通信连接,实现第一设备远程配置和调试远端第二设备的待调设备,使得调试工作不再受到办公地域位置的制约,也无需受制于去客户现场对电子器件进行现场调试,节约了时间成本和出差成本,提高了设备调试效率。
在一些实施例中,服务器还可以通过第二通信组件接收对待调设备进行远程调试的音频信息和视频信息;具体地,第二设备上可以集成有音视频采集设备,用于对待调设备的调试现场进行音频信息和视频信息的采集,从而基于集成的音视频,实现全场景的远程调试。
在本申请实施例中,该远程调试的音频信息和视频信息与调试数据的调试结果的数据传输路径和传输方法相同,本申请实施例不再赘述。
在一些实施例中,服务器部署有基于消息队列遥测传输MQTT协议的MQTT代理服务器;其中,MQTT代理服务器用于接收和发送调试数据,以及用于接收和发送待调设备对调试数据的调试结果。
在该实施例中,MQTT-Broker即MQTT服务器,服务器中部署MQTT Broker可以用于接受MQTT协议发布者发布的所有消息。具体地,将第一设备的第一MQTT客户端发送的调试数据,发送至已订阅调试数据对应Topic的第二设备的第二MQTT客户端,以及将第二设备的第二MQTT客户端发送的调试数据的调试结果,发送至已订阅调试结果对应Topic的第一设备的第一MQTT客户端,实现第一设备远程读写连接在第二设备的待调设备,以对连接在远端第二设备的待调设备进行远程调试,从而使得调试工作不再受到办公地域位置的制约,也无需受制于去客户现场对电子器件进行现场调试,节约了时间成本和出差成本,提高了设备调试效率。
图5为本申请实施例提供的应用于第二设备的远程调试方法的流程图。如图5所示,该远程调试方法包括如下步骤。
S510,通过第二设备的第二通信组件接收服务器发送的调试数据;其中,调试数据由第一设备的第一通信组件发送至服务器,第二设备已订阅调试数据所对应消息主题。
S520,将调试数据发送至连接于第二设备的待调设备。
S530,将通过第二通信组件接收的待调设备对调试数据的调试结果发送至服务器,以通过服务器发送调试结果至第一设备的第一通信组件;其中,第一设备已订阅调试数据所对应消息主题。
通过上述步骤S510-S530,第二设备的第二通信组件将接收到服务器传输的调试数据写入连接于远端第二设备的待调设备,该调试数据来自第一设备且通过第一设备的第一通信组件传输到服务器,从而实现第一设备对连接在远端第二设备的待调设备的远程调试,使得调试工作不再受到办公地域位置的制约,也无需受制于去客户现场对电子器件进行现场调试,节约了时间成本和出差成本,提高了设备调试效率。
在一些实施例中,服务器部署有基于消息队列遥测传输MQTT协议的MQTT代理服务器;第二设备包括通用串行总线USB接口,待调设备包括I2C接口,USB接口与待调设备的I2C接口通过接口转换器相连接;第二通信组件包括:基于MQTT协议的第二MQTT客户端、第二虚拟I2C接口和第二驱动组件;其中,第二虚拟I2C接口与接口转换器通过第二驱动组件的驱动建立通信连接。
在该实施例中,MQTT代理服务器可以将第一设备的第一MQTT客户端发送的调试数据,发送至已订阅调试数据对应Topic的第二设备的第二MQTT客户端,以及将第二设备的第二MQTT客户端发送的调试数据的调试结果,发送至已订阅调试结果对应Topic的第一设备的第一MQTT客户端,实现第一设备远程读写连接在第二设备的待调设备,以对连接在远端第二设备的待调设备进行远程调试,有利于降低到客户现场进行设备调试的成本,提高设备调试效率。
在一些实施例中,S510中,通过第二设备的第二通信组件接收服务器发送的调试数据的步骤,具体可以包括:S41,通过第二MQTT客户端接收MQTT代理服务器发送的调试数据;S42,将调试数据发送至连接于第二设备的待调设备,包括:将调试数据发送至第二虚拟I2C接口,以使第二虚拟I2C接口通过第二驱动组件与接口转换器通信,并将调试数据经由接口转换器和待调设备的I2C接口,传输到待调设备。
在该实施例中,第二设备上的MQTT客户端可以将调试数据发送至第二虚拟I2C接口,以使第二虚拟I2C接口通过第二驱动组件与接口转换器通信,并将调试数据经由接口转换器和待调设备的I2C接口,传输到待调设备,以使调试人员可以通过操作运行在本地第一设备的Debug Tool远程调试连接在远端第二设备的待调设备,从而节约调试成本,提高调试效率。
在一些实施例中,步骤S530中,将通过第二通信组件接收的待调设备对调试数据的调试结果发送至服务器的步骤,具体可以包括:S51,通过第二虚拟I2C接口与接口转换器的通信连接,将待调设备通过I2C接口发送至接口转换器的调试结果,传输至第二虚拟I2C接口;S52,将调试结果从第二虚拟I2C接口继续传输至第二MQTT客户端,并由第二MQTT客户端向MQTT代理服务器发送调试结果。
通过步骤S51-S52,待调设备对调试数据的调试结果传输至待调设备所连接第二设备的第二虚拟I2C接口,再传输至第二MQTT客户端,从而通过第二MQTT客户端传输至MQTTBroker,以使MQTT Broker可以将调试结果发送至已订阅该调试结果所对应消息主题的第一设备。
在一些实施例中,远程调试包括写入调试和读取调试中的一种;在远程调试为写入调试的情况下,调试数据包括待调设备的写入地址和待写入数据。
在该实施例中,若待调设备根据写入地址,对待写入数据执行写入操作成功,则调试结果中包括写入成功标志;在远程调试为读取调试的情况下,调试数据为携带目标读取地址的读取命令;若待调设备根据目标读取地址执行读取操作成功,则调试结果中包括读取成功标志和读取的数据。
在该实施例中,通过第一设备远程读写连接在远端第二设备的待调设备,从而对连接在第二设备的待调设备进行远程的读写调试,使得读写调试工作不再受到办公地域位置的制约,也无需受制于去客户现场对电子器件进行现场调试,节约了时间成本和出差成本,提高了设备调试效率。
图6为本申请实施例提供的远程调试方法的数据通信流程图。如图6所示,该远程调试方法的数据通信包括如下步骤。
S601,如“S601,发布写入地址和数据”所示,本地PC通过Debug Tool将需要写入待调设备的数据通过本地PC的MQTT Client发布到服务器端的MQTT Broker。
S602,如“S602,转发写入地址和数据”所示,服务器端的MQTT Broker将接收到的数据转发到已经订阅了相应Topic的远端PC中的MQTT Client。
S603,如“S603,通过I2C接口按照写入地址写入数据”所示,远端PC通过USBtoI2C板将MQTT Client接收到的数据按照要求写入连接于远端PC的待调设备。
在该步骤中,写入待调设备的数据所按照的要求可以是待调设备的I2C数据接口的数据格式要求。
S604,如“S604,I2C写入结果标识”所示,待调设备的I2C接口将写入成功与否的结果标识,通过USBtoI2C板发送至远端PC中的MQTT Client。
S605,如“S605,发布写入成功标识”所示,远端PC的MQTT Client将写入成功与否的结果标识发布到服务器端的MQTT Broker。
在该步骤中,若待调设备写入成功,则写入的结果标识为写入成功标识。
S606,如“S606,转发写入成功标识”所示,MQTT Broker将写入成功标识转发到已经订阅了相应Topic的本地PC中的MQTT Client。
通过上述步骤S601-S606,本地设备可以实现远程对连接于远端设备的待调设备进行写调试。
S607,如“S607,发布读取命令和读取地址”所示,本地PC通过Debug Tool将携带读取地址的读取命令通过本地PC的MQTT Client发布到服务器端的MQTT Broker。
S608,如“S608,转发读取命令和读取地址”所示,服务器端的MQTT Broker将接收到的携带读取地址的读取命令转发到已经订阅了相应Topic的远端PC中的MQTT Client。
S609,如“S609,根据读取地址执行读取命令”所示,远端PC通过USBtoI2C板将MQTTClient接收到的携带读取地址的读取命令按照要求写入连接于远端PC的待调设备。
在该步骤中,写入待调设备的数据所按照的要求可以是待调设备的I2C数据接口的数据格式要求。
S610,如“S610,I2C读取结果标识”所示,待调设备的I2C接口至少将读取成功与否的标识,通过USBtoI2C板发送至远端PC中的MQTT Client。
在该步骤中,若读取成功,则待调设备的I2C接口发送至远端PC中的MQTT Client的数据还包括:根据接收的读取命令中携带的读取地址读取到的数据。
S611,如“S611,发布读取成功标识和读取的数据”所示,远端PC的MQTT Client将读取成功与否的结果标识发布到服务器端的MQTT Broker。
在该步骤中,若待调设备读取数据成功,则读取成功与否的结果标识为读取成功标识。
S612,如“S612,转发读取成功标识和读取的数据”所示,MQTT Broker将读取成功标识和读取的数据转发到已经订阅了相应Topic的本地PC中的MQTT Client。
通过上述步骤S607-S612,本地设备可以实现远程对连接于远端设备的待调设备进行读调试。
根据本申请实施例的远程调试方法,通过本地的第一设备远程读写连接在远端第二设备的待调设备,以对连接在远端第二设备的待调设备进行读写远程调试,使得调试工作不再受到办公地域位置的制约,也无需受制于去客户现场对电子器件进行现场调试,节约了时间成本和出差成本,提高了设备调试效率。
图7为本申请实施例提供的远程调试系统中本地设备的具体结构示意图。图7与图3中相同或等同的结构使用相同的标号。
如图7所示,本申请实施例中的第一虚拟I2C接口212,可以用于将本地设备与I2C设备的连接接口和对IC2设备的读写接口组合成一个接口,从而可以将对I2C设备的I2C连接功能和读写功能通过一个接口来实现。
通过图7可以看出,第一虚拟I2C接口212独立于第一MQTT客户端211和第一驱动组件213。也就是说,在本地设备20的第一通信组件中,第一虚拟I2C接口212独立于第一MQTT客户端211和第一驱动组件213,通过虚拟I2C接口实现的I2C连接功能和读写功能与本地设备的数据传输路径无关,Debug Tool将远端的USBtoI2C板虚拟化成为一个本地的连接。
在本申请实施例中,本地设备20包含两条数据传输路径,其中一条数据传输路径是本地设备20的第一MQTT客户端211与服务器的MQTT Broker(图中未示出)之间的数据传输路径;另一条数据传输路径是:本地设备20通过第一驱动组件213驱动第一接口转换器工作,从而在本地设备20的USB接口(图中未示出)与待调设备的I2C接口(图中未示出)之间建立的数据传输路径。
在本申请实施例中,如图7所示,本地设备20还可以通过第一驱动组件213(例如USBtoI2C SDK)建立第一虚拟I2C接口212和第一接口转换器(例如USB-I2C桥接芯片)之间的通信连接。
在一些实施例中,本地设备可以连接待调设备,以用于接受远端设备远程调试连接于本地设备的待调设备。其中,该远端设备可以是本申请实施例中的第二设备或第二设备以外的其他远端设备;本地设备所连接的待调设备可以与图3中示出的待调设备50为同类型待调设备或不同类型待调设备,本申请实施例不做具体限定。
在一些实施例中,本地设备20的USB接口与该待调设备的I2C接口可以通过接口转换器相连接。该接口转换器与图3中示出的接口转换器51具有相同的结构,在此不再赘述。
在一些实施例中,第二设备可以通过第二通信组件向服务器发送对待调设备进行远程调试的音频信息和视频信息;具体地,第二设备上可以集成有音视频采集设备,用于对待调设备的调试现场进行音频信息和视频信息的采集,从而基于集成的音视频,实现全场景的远程调试。
在本申请实施例中,该远程调试的音频信息和视频信息与调试数据的调试结果的数据传输路径和传输方法相同,本申请实施例不再赘述。
根据本申请实施例的远程调试方法,本地设备可以远程配置和调试远端的待调设备,使得调试工作不再受到办公地域位置的制约,也无需受制于去客户现场对电子器件进行现场调试,节约了时间成本和出差成本,提高了设备调试效率。
图8为本申请实施例提供的第一设备的结构示意图。如图8所示,第一设备800包括如下模块。
发送模块810,用于通过第一设备的第一通信组件发送调试数据至服务器,以通过服务器发送调试数据至第二设备的第二通信组件;其中,第二设备是已订阅调试数据所对应消息主题的设备,且第二设备用于通过第二通信组件,将调试数据写入连接于第二设备的待调设备;
接收模块820,用于通过第一通信组件,接收服务器传输的待调设备对调试数据的调试结果;其中,调试结果经由第二设备的第二通信组件接收并传输至服务器,且第一设备已订阅调试结果对应的消息主题。
在一些实施例中,服务器部署有基于消息队列遥测传输MQTT协议的MQTT代理服务器;第一通信组件包括:基于MQTT协议的第一MQTT客户端和第一虚拟串行传输总线I2C接口;第二设备包括通用串行总线USB接口,待调设备包括I2C接口,第二设备的USB接口与待调设备的I2C接口通过接口转换器相连接。
在一些实施例中,发送模块810,在用于通过第一设备的第一通信组件发送调试数据至服务器时,具体用于:利用运行于第一设备的调试工具的数据接口,接收并传输调试数据至第一虚拟I2C接口,以通过第一虚拟I2C接口发送到第一MQTT客户端;通过第一MQTT客户端向MQTT代理服务器发送调试数据。
在一些实施例中,接收模块820,在用于通过第一通信组件,接收服务器传输的待调设备对调试数据的调试结果时,具体用于:将通过第一MQTT客户端接收的MQTT代理服务器下发的调试结果,传输至第一虚拟I2C接口;通过第一虚拟I2C接口,传输调试结果至运行于第一设备的调试工具的数据接口,以通过调试工具显示调试结果。
在一些实施例中,远程调试包括写入调试和读取调试中的一种。在远程调试为写入调试的情况下,调试数据包括待调设备的写入地址和待写入数据;第一设备800还包括:写入结果确定模块,用于若在预定第一时长内接收到调试结果,且调试结果中包括对待调设备的写入成功标志,则确定对待调设备的写入调试成功。
在远程调试为读取调试的情况下,调试数据为携带目标读取地址的读取命令;第一设备800还包括:读取结果确定模块,用于若在预定第二时长内接收到调试结果,且调试结果中包括对待调设备的读取成功标志和读取的数据,则确定对待调设备的读取调试成功。
根据本申请实施例的第一设备,将调试数据通过第一通信组件发布到服务器,服务器将接收到的调试数据转发到已经订阅了该调试数据所对应主题的远端第二设备中的第二通信组件;远端第二设备将第二通信组件接收到的调试数据写入连接于远端第二设备的待调设备,且远端第二设备的第二通信组件将待调设备对调试数据的调试结果返回到本地设备,本地设备通过第一通信组件接收该调试结果。根据该远程调试方法,本地设备可以远程配置和调试远端的待调设备,使得调试工作不再受到办公地域位置的制约,也无需受制于去客户现场对电子器件进行现场调试,节约了时间成本和出差成本,提高了设备调试效率。
图9为本申请实施例提供的服务器的结构示意图。如图9所示,服务器900包括如下模块。
接收模块910,用于接收第一设备通过第一通信组件发送的调试数据;发送模块920,用于发送调试数据至第二设备的第二通信组件;其中,第二设备是已订阅调试数据所对应消息主题的设备,且第二设备用于通过第二通信组件,将调试数据写入连接于第二设备的待调设备;接收模块910,还用于接收第二设备通过第二通信组件发送的待调设备对调试数据的调试结果;其中,调试结果由待调设备发送至第二设备;发送模块920,还用于发送调试结果至第一设备的第一通信组件,以使第一设备根据调试结果确定对待调设备的调试结果;其中,第一设备已订阅调试结果对应的消息主题。
根据本申请实施例的服务器,该服务器与第一设备的第一通信组件通信,以及与第二设备的第二通信组件通信,从而建立第一设备与第二设备之间的远程通信连接,实现第一设备远程配置和调试远端第二设备的待调设备,使得调试工作不再受到办公地域位置的制约,也无需受制于去客户现场对电子器件进行现场调试,节约了时间成本和出差成本,提高了设备调试效率。
图10为本申请实施例提供的第二设备的结构示意图。如图10所示,第二设备1000包括如下模块。
接收模块1010,用于通过第二设备的第二通信组件接收服务器发送的调试数据;其中,调试数据由第一设备的第一通信组件发送至服务器,第二设备已订阅调试数据所对应消息主题;发送模块1020,用于将调试数据发送至连接于第二设备的待调设备;发送模块1020,还用于将通过第二通信组件接收的待调设备对调试数据的调试结果发送至服务器,以通过服务器发送调试结果至第一设备的第一通信组件;其中,第一设备已订阅调试数据所对应消息主题。
在一些实施例中,服务器部署有基于消息队列遥测传输MQTT协议的MQTT代理服务器;第二设备包括通用串行总线USB接口,待调设备包括I2C接口,USB接口与待调设备的I2C接口通过接口转换器相连接;第二通信组件包括:基于MQTT协议的第二MQTT客户端、第二虚拟I2C接口和第二驱动组件;其中,第二虚拟I2C接口与接口转换器通过第二驱动组件的驱动建立通信连接。
在一些实施例中,接收模块1010,在用于通过第二设备的第二通信组件接收服务器发送的调试数据时,具体用于:通过第二MQTT客户端接收MQTT代理服务器发送的调试数据。
在一些实施例中,发送模块1020,在用于将调试数据发送至连接于第二设备的待调设备时,具体用于:将调试数据发送至第二虚拟I2C接口,以使第二虚拟I2C接口通过第二驱动组件与接口转换器通信,并将调试数据经由接口转换器和待调设备的I2C接口,传输到待调设备。
在一些实施例中,发送模块1020,在用于将通过第二通信组件接收的待调设备对调试数据的调试结果发送至服务器时,具体用于:通过第二虚拟I2C接口与接口转换器的通信连接,将待调设备通过I2C接口发送至接口转换器的调试结果,传输至第二虚拟I2C接口;将调试结果从第二虚拟I2C接口继续传输至第二MQTT客户端,并由第二MQTT客户端向MQTT代理服务器发送调试结果。
在一些实施例中,远程调试包括写入调试和读取调试中的一种;在远程调试为写入调试的情况下,调试数据包括待调设备的写入地址和待写入数据;若待调设备根据写入地址,对待写入数据执行写入操作成功,则调试结果中包括写入成功标志;在远程调试为读取调试的情况下,调试数据为携带目标读取地址的读取命令;若待调设备根据目标读取地址执行读取操作成功,则调试结果中包括读取成功标志和读取的数据。
根据本申请实施例的第二设备,第二设备的第二通信组件将接收到服务器传输的调试数据写入连接于远端第二设备的待调设备,该调试数据来自第一设备且通过第一设备的第一通信组件传输到服务器,从而实现第一设备对连接在远端第二设备的待调设备的远程调试,使得调试工作不再受到办公地域位置的制约,也无需受制于去客户现场对电子器件进行现场调试,节约了时间成本和出差成本,提高了设备调试效率。
可以理解,本申请提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本申请不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
此外,本申请还提供了电子设备和计算机可读存储介质,上述均可用来实现本申请提供的任一种远程调试方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。
需要明确的是,本申请并不局限于上文实施例中所描述并在图中示出的特定配置和处理。为了描述的方便和简洁,这里省略了对已知方法的详细描述,并且上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图11为本申请实施例提供的一种电子设备的框图。
参照图11,本申请实施例提供了一种电子设备,该电子设备包括:至少一个处理器1101;至少一个存储器1102,以及一个或多个I/O接口1103,连接在处理器1101与存储器1102之间;其中,存储器1102存储有可被至少一个处理器1101执行的一个或多个计算机程序,一个或多个计算机程序被至少一个处理器1101执行,以使至少一个处理器1101能够执行上述应用于第一设备、服务器或第二设备的远程调试方法。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其中,计算机程序在被处理器/处理核执行时实现上述的远程调试方法。计算机可读存储介质可以是易失性或非易失性计算机可读存储介质。
本申请实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当计算机可读代码在电子设备的处理器中运行时,电子设备中的处理器执行上述远程调试方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令,当其在计算机上运行时,使得计算机执行上述实施例中描述的方法。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。
以上,仅为本申请的示例性实施例而已,并非用于限定本申请的保护范围。一般来说,本申请的多种实施例可以在硬件或专用电路、软件、逻辑或其任何组合中实现。例如,一些方面可以被实现在硬件中,而其它方面可以被实现在可以被控制器、微处理器或其它计算装置执行的固件或软件中,尽管本申请不限于此。
本申请的实施例可以通过移动装置的数据处理器执行计算机程序指令来实现,例如在处理器实体中,或者通过硬件,或者通过软件和硬件的组合。计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码。
本申请附图中的任何逻辑流程的框图可以表示程序步骤,或者可以表示相互连接的逻辑电路、模块和功能,或者可以表示程序步骤与逻辑电路、模块和功能的组合。计算机程序可以存储在存储器上。存储器可以具有任何适合于本地技术环境的类型并且可以使用任何适合的数据存储技术实现,例如但不限于只读存储器(ROM)、随机访问存储器(RAM)、光存储器装置和系统(数码多功能光碟DVD或CD光盘)等。计算机可读介质可以包括非瞬时性存储介质。数据处理器可以是任何适合于本地技术环境的类型,例如但不限于通用计算机、专用计算机、微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、可编程逻辑器件(FGPA)以及基于多核处理器架构的处理器。
可以理解的是,以上实施方式仅仅是为了说明本申请的原理而采用的示例性实施方式,然而本申请并不局限于此。对于本领域内的普通技术人员而言,在不脱离本申请的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本申请的保护范围。
Claims (12)
1.一种远程调试方法,其特征在于,应用于第一设备,所述方法包括:
通过第一设备的第一通信组件发送调试数据至服务器,以通过所述服务器发送所述调试数据至第二设备的第二通信组件;其中,所述第二设备是已订阅所述调试数据所对应消息主题的设备,且所述第二设备用于通过所述第二通信组件,将所述调试数据写入连接于所述第二设备的待调设备;
通过所述第一通信组件,接收所述服务器传输的所述待调设备对调试数据的调试结果;其中,所述调试结果经由所述第二设备的第二通信组件接收并传输至所述服务器,且所述第一设备已订阅所述调试结果对应的消息主题。
2.根据权利要求1所述的方法,其特征在于,
所述服务器部署有基于消息队列遥测传输MQTT协议的MQTT代理服务器;
所述第一通信组件包括:基于MQTT协议的第一MQTT客户端和第一虚拟串行传输总线I2C接口;
所述第二设备包括通用串行总线USB接口,所述待调设备包括I2C接口,所述第二设备的USB接口与所述待调设备的I2C接口通过接口转换器相连接。
3.根据权利要求2所述的方法,其特征在于,所述通过第一设备的第一通信组件发送调试数据至服务器,包括:
利用运行于所述第一设备的调试工具的数据接口,接收并传输所述调试数据至所述第一虚拟I2C接口,以通过所述第一虚拟I2C接口发送到所述第一MQTT客户端;
通过所述第一MQTT客户端向所述MQTT代理服务器发送所述调试数据;
所述通过所述第一通信组件,接收所述服务器传输的所述待调设备对调试数据的调试结果,包括:
将通过所述第一MQTT客户端接收的所述MQTT代理服务器下发的所述调试结果,传输至所述第一虚拟I2C接口;
通过所述第一虚拟I2C接口,传输所述调试结果至运行于所述第一设备的调试工具的数据接口,以通过所述调试工具显示所述调试结果。
4.根据权利要求1所述的方法,其特征在于,所述远程调试包括写入调试和读取调试中的一种;
在远程调试为写入调试的情况下,所述调试数据包括所述待调设备的写入地址和待写入数据;所述方法还包括:
若在预定第一时长内接收到所述调试结果,且所述调试结果中包括对所述待调设备的写入成功标志,则确定对所述待调设备的写入调试成功;
在远程调试为读取调试的情况下,所述调试数据为携带目标读取地址的读取命令;所述方法还包括:
若在预定第二时长内接收到所述调试结果,且所述调试结果中包括对所述待调设备的读取成功标志和读取的数据,则确定对所述待调设备的读取调试成功。
5.一种远程调试方法,其特征在于,应用于服务器,所述方法包括:
接收第一设备通过第一通信组件发送的调试数据;
发送所述调试数据至第二设备的第二通信组件;其中,所述第二设备是已订阅所述调试数据所对应消息主题的设备,且所述第二设备用于通过所述第二通信组件,将所述调试数据写入连接于所述第二设备的待调设备;
接收所述第二设备通过所述第二通信组件发送的所述待调设备对调试数据的调试结果;其中,所述调试结果由所述待调设备发送至所述第二设备;
发送所述调试结果至所述第一设备的第一通信组件,以使所述第一设备根据所述调试结果确定对所述待调设备的调试结果;其中,所述第一设备已订阅所述调试结果对应的消息主题。
6.一种远程调试方法,其特征在于,应用于第二设备,所述方法包括:
通过所述第二设备的第二通信组件接收服务器发送的调试数据;其中,所述调试数据由第一设备的第一通信组件发送至所述服务器,所述第二设备已订阅所述调试数据所对应消息主题;
将所述调试数据发送至连接于所述第二设备的待调设备;
将通过所述第二通信组件接收的所述待调设备对所述调试数据的调试结果发送至所述服务器,以通过所述服务器发送所述调试结果至所述第一设备的第一通信组件;其中,所述第一设备已订阅所述调试数据所对应消息主题。
7.根据权利要求6所述的方法,其特征在于,
所述服务器部署有基于消息队列遥测传输MQTT协议的MQTT代理服务器;
所述第二设备包括通用串行总线USB接口,所述待调设备包括I2C接口,所述USB接口与所述待调设备的I2C接口通过接口转换器相连接;
所述第二通信组件包括:基于MQTT协议的第二MQTT客户端、第二虚拟I2C接口和第二驱动组件;其中,所述第二虚拟I2C接口与所述接口转换器通过所述第二驱动组件的驱动建立通信连接。
8.根据权利要求7所述的方法,其特征在于,
所述通过所述第二设备的第二通信组件接收服务器发送的调试数据,包括:通过所述第二MQTT客户端接收所述MQTT代理服务器发送的所述调试数据;
所述将所述调试数据发送至连接于所述第二设备的待调设备,包括:将所述调试数据发送至所述第二虚拟I2C接口,以使所述第二虚拟I2C接口通过所述第二驱动组件与所述接口转换器通信,并将所述调试数据经由所述接口转换器和所述待调设备的I2C接口,传输到所述待调设备;
所述将通过所述第二通信组件接收的所述待调设备对所述调试数据的调试结果发送至所述服务器,包括:
通过所述第二虚拟I2C接口与所述接口转换器的所述通信连接,将所述待调设备通过所述I2C接口发送至所述接口转换器的调试结果,传输至所述第二虚拟I2C接口;
将所述调试结果从所述第二虚拟I2C接口继续传输至所述第二MQTT客户端,并由所述第二MQTT客户端向所述MQTT代理服务器发送所述调试结果。
9.根据权利要求6所述的方法,其特征在于,所述远程调试包括写入调试和读取调试中的一种;
在远程调试为写入调试的情况下,所述调试数据包括所述待调设备的写入地址和待写入数据;
若所述待调设备根据所述写入地址,对所述待写入数据执行写入操作成功,则所述调试结果中包括写入成功标志;
在远程调试为读取调试的情况下,所述调试数据为携带目标读取地址的读取命令;
若所述待调设备根据所述目标读取地址执行读取操作成功,则所述调试结果中包括读取成功标志和读取的数据。
10.一种第一设备,其特征在于,所述设备包括:
发送模块,用于通过第一设备的第一通信组件发送调试数据至服务器,以通过所述服务器发送所述调试数据至第二设备的第二通信组件;其中,所述第二设备是已订阅所述调试数据所对应消息主题的设备,且所述第二设备用于通过所述第二通信组件,将所述调试数据写入连接于所述第二设备的待调设备;
接收模块,用于通过所述第一通信组件,接收所述服务器传输的所述待调设备对调试数据的调试结果;其中,所述调试结果经由所述第二设备的第二通信组件接收并传输至所述服务器,且所述第一设备已订阅所述调试结果对应的消息主题。
11.一种服务器,其特征在于,所述服务器包括:
接收模块,用于接收第一设备通过第一通信组件发送的调试数据;
发送模块,用于发送所述调试数据至第二设备的第二通信组件;其中,所述第二设备是已订阅所述调试数据所对应消息主题的设备,且所述第二设备用于通过所述第二通信组件,将所述调试数据写入连接于所述第二设备的待调设备;
所述接收模块,还用于接收所述第二设备通过所述第二通信组件发送的所述待调设备对调试数据的调试结果;其中,所述调试结果由所述待调设备发送至所述第二设备;
所述发送模块,还用于发送所述调试结果至所述第一设备的第一通信组件,以使所述第一设备根据所述调试结果确定对所述待调设备的调试结果;其中,所述第一设备已订阅所述调试结果对应的消息主题。
12.一种第二设备,其特征在于,所述设备包括:
接收模块,用于通过所述第二设备的第二通信组件接收服务器发送的调试数据;其中,所述调试数据由第一设备的第一通信组件发送至所述服务器,所述第二设备已订阅所述调试数据所对应消息主题;
发送模块,用于将所述调试数据发送至连接于所述第二设备的待调设备;
所述发送模块,还用于将通过所述第二通信组件接收的所述待调设备对所述调试数据的调试结果发送至所述服务器,以通过所述服务器发送所述调试结果至所述第一设备的第一通信组件;其中,所述第一设备已订阅所述调试数据所对应消息主题。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210514367.XA CN114827268B (zh) | 2022-05-12 | 远程调试方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210514367.XA CN114827268B (zh) | 2022-05-12 | 远程调试方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114827268A true CN114827268A (zh) | 2022-07-29 |
CN114827268B CN114827268B (zh) | 2024-05-10 |
Family
ID=
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115314541A (zh) * | 2022-10-12 | 2022-11-08 | 阿里巴巴(中国)有限公司 | 远程调试方法、通信系统、电子设备和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1702636A (zh) * | 2004-05-28 | 2005-11-30 | 国际商业机器公司 | 虚拟usb通信端口 |
CN2888537Y (zh) * | 2006-04-19 | 2007-04-11 | 武汉电信器件有限公司 | 一种数字通信接口转换模块 |
KR20120029617A (ko) * | 2010-09-17 | 2012-03-27 | 주식회사 케이티 | 통신 인터페이스 변환을 이용한 통신 장비 원격 제어 시스템 |
US9649999B1 (en) * | 2015-04-28 | 2017-05-16 | Sprint Communications Company L.P. | Vehicle remote operations control |
CN108494889A (zh) * | 2018-02-07 | 2018-09-04 | 广州视源电子科技股份有限公司 | 基于i2c总线的通信电路及调试方法 |
CN108647131A (zh) * | 2018-04-08 | 2018-10-12 | 广州视源电子科技股份有限公司 | 运行日志的输出系统 |
CN109088723A (zh) * | 2018-10-26 | 2018-12-25 | 四川长虹电器股份有限公司 | 一种基于mqtt协议的远程控制方法 |
CN110401546A (zh) * | 2019-07-12 | 2019-11-01 | 苏州浪潮智能科技有限公司 | 一种基于NBiot技术的设备调试系统和方法 |
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1702636A (zh) * | 2004-05-28 | 2005-11-30 | 国际商业机器公司 | 虚拟usb通信端口 |
CN2888537Y (zh) * | 2006-04-19 | 2007-04-11 | 武汉电信器件有限公司 | 一种数字通信接口转换模块 |
KR20120029617A (ko) * | 2010-09-17 | 2012-03-27 | 주식회사 케이티 | 통신 인터페이스 변환을 이용한 통신 장비 원격 제어 시스템 |
US9649999B1 (en) * | 2015-04-28 | 2017-05-16 | Sprint Communications Company L.P. | Vehicle remote operations control |
CN108494889A (zh) * | 2018-02-07 | 2018-09-04 | 广州视源电子科技股份有限公司 | 基于i2c总线的通信电路及调试方法 |
CN108647131A (zh) * | 2018-04-08 | 2018-10-12 | 广州视源电子科技股份有限公司 | 运行日志的输出系统 |
CN109088723A (zh) * | 2018-10-26 | 2018-12-25 | 四川长虹电器股份有限公司 | 一种基于mqtt协议的远程控制方法 |
CN110401546A (zh) * | 2019-07-12 | 2019-11-01 | 苏州浪潮智能科技有限公司 | 一种基于NBiot技术的设备调试系统和方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115314541A (zh) * | 2022-10-12 | 2022-11-08 | 阿里巴巴(中国)有限公司 | 远程调试方法、通信系统、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107463499B (zh) | Adb远程连接方法、装置、设备及存储介质 | |
WO2023284699A1 (zh) | 基于Linux系统的协议栈数据传输方法、计算机设备和存储介质 | |
CN108124475B (zh) | 虚拟系统蓝牙通信方法及装置、虚拟系统、存储介质及电子设备 | |
CN109669787B (zh) | 数据传输方法及装置、存储介质、电子设备 | |
WO2020177731A1 (zh) | 一种寄宿应用间的即时通讯方法 | |
CN114827268B (zh) | 远程调试方法和设备 | |
CN114827268A (zh) | 远程调试方法和设备 | |
CN111857546A (zh) | 用于处理数据的方法、网络适配器和计算机程序产品 | |
CN115237481A (zh) | 驱动外接设备的方法、装置、设备及存储介质 | |
CN112131160B (zh) | 工作模式切换电路、工作模式切换方法和机器人 | |
CN114546683A (zh) | 业务处理方法、装置、电子设备和存储介质 | |
CN113468067A (zh) | 应用程序的调试方法、装置、电子设备和计算机可读介质 | |
US7284163B2 (en) | Event mechanism for reporting diagnostic event messages | |
WO2019127475A1 (zh) | 虚拟sim卡的实现方法及装置、存储介质、电子设备 | |
CN112087430A (zh) | 一种通过smash接口访问mctp设备的系统及方法 | |
CN113791777A (zh) | 图片显示方法及装置、计算机可读存储介质及电子设备 | |
CN110764932A (zh) | 数据处理方法、系统、介质和计算设备 | |
WO2019015089A1 (zh) | 一种全局菜单的控制方法、装置、设备和存储介质 | |
CN113572809B (zh) | 单请求源多目标源数据通讯方法、计算机设备及存储介质 | |
WO2019042005A1 (zh) | 一种虚拟机的热迁移方法、装置和系统 | |
CN110967614B (zh) | 芯片测试方法、芯片测试设备以及芯片 | |
CN111885194B (zh) | 通讯应用的通讯方法及装置、电子设备 | |
CN114090487A (zh) | 安卓模拟器与诊断设备的通讯方法、装置、系统、存储介质及电子设备 | |
CN116302750A (zh) | 设备调试方法及相关装置 | |
CN115454391A (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 |