通信方法、系统、装置、计算机设备和存储介质
技术领域
本申请涉及通信技术领域,特别是涉及一种通信方法、系统、装置、计算机设备和存储介质。
背景技术
随着科学技术的发展,在很多场景下都需要与耳机进行通信。例如,可以通过串口通信技术进行通信。串口通信作为一种常用的数据通信方式,具有通信线路简单、成本低、通讯距离远和可以实现全双工等特点,在数据通信领域具有非常广泛的应用。
然而,目前的串口通信方法实现双向通信至少包括数据接收通信线、数据发送通信线和地线的三根通信线,增加了实现串口通信的成本。
发明内容
基于此,有必要针对上述技术问题,提供一种能够降低实现串口通信成本的通信方法、系统、装置、计算机设备和存储介质。
一种通信方法,所述方法包括:
接收耳机通信指令;
响应于所述耳机通信指令,将第一通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的所述第一通信串口发送所述耳机通信指令所对应的耳机通信数据到目标耳机;
当确认所述耳机通信数据发送完成后,将所述第一通信串口的数据传输状态切换为通信数据接收状态,通过处于通信数据接收状态的所述第一通信串口接收所述目标耳机发送的回复数据,所述回复数据是所述目标耳机响应于所述耳机通信数据进行数据处理得到的;
基于所述回复数据进行响应。
在其中一个实施例中,所述目标耳机包括第一耳机和第二耳机,所述响应于所述耳机通信指令,将第一通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的所述第一通信串口发送所述耳机通信指令所对应的耳机通信数据到目标耳机包括:
当确定所述耳机通信指令为指示所述第一耳机与所述第二耳机进行通信的指令时,将第一通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的所述第一通信串口发送所述耳机通信指令所对应的耳机通信数据到所述第一耳机;
所述基于所述回复数据进行响应包括:
当接收到所述第一耳机发送的回复数据时,将所述第一通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的所述第一通信串口发送所述回复数据到所述第二耳机。
在其中一个实施例中,所述耳机通信指令为耳机配对指令,所述当确认所述耳机通信数据发送完成后,将所述第一通信串口的数据传输状态切换为通信数据接收状态,通过处于通信数据接收状态的所述第一通信串口接收所述目标耳机发送的回复数据,包括:
当确认所述耳机通信数据发送完成后,将所述第一通信串口的数据传输状态切换为通信数据接收状态,通过处于通信数据接收状态的所述第一通信串口接收所述第一耳机发送的耳机配对地址;
所述方法还包括:
所述第二耳机基于所述耳机配对地址与所述第一耳机进行配对,得到配对结果;
所述充电盒当确认所述耳机配对地址发送至所述第二耳机后,将所述第一通信串口的数据传输状态切换为通信数据接收状态,通过处于通信数据接收状态的所述第一通信串口接收所述第二耳机发送的配对结果并输出所述配对结果。
在其中一个实施例中,所述耳机通信指令是响应于用户操作触发的,所述基于所述回复数据进行响应包括:
基于所述回复数据确定所述用户操作所对应的操作结果;
输出所述操作结果。
在其中一个实施例中,所述响应于所述耳机通信指令,将第一通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的所述第一通信串口发送所述耳机通信指令所对应的耳机通信数据到目标耳机,包括:
响应于所述耳机通信指令,将第一通信串口的数据传输状态切换为通信数据发送状态;
根据所述耳机通信指令获取对应的通信内容以及待通信的耳机,将所述待通信的耳机作为目标耳机;
根据所述通信内容以及所述目标耳机的通信地址生成通信数据包,所述通信数据包中包括所述耳机通信指令的指令类型、所述通信内容以及所述通信地址,以使得所述目标耳机基于所述通信地址确认接收方为本端后,根据所述指令类型以及所述通信内容进行数据处理,得到回复数据。
一种通信系统,所述通信系统包括充电盒以及目标耳机:
所述充电盒,用于接收耳机通信指令;
所述充电盒,用于响应于所述耳机通信指令,将第一通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的所述第一通信串口发送所述耳机通信指令所对应的耳机通信数据到所述目标耳机;
所述目标耳机,用于当接收到所述耳机通信数据时,响应于所述耳机通信数据进行数据处理得到回复数据,将第二通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的所述第二通信串口发送所述回复数据;
所述充电盒,用于当确认所述耳机通信数据发送完成后,将所述第一通信串口的数据传输状态切换为通信数据接收状态,通过处于通信数据接收状态的所述第一通信串口接收所述目标耳机发送的回复数据;
所述充电盒,还用于基于所述回复数据进行响应。
在其中一个实施例中,所述通信系统所述目标耳机包括第一耳机和第二耳机;
所述充电盒,用于当确定所述耳机通信指令为指示第一耳机与第二耳机进行通信的指令时,将第一通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的所述第一通信串口发送所述耳机通信指令所对应的耳机通信数据到所述第一耳机;
所述充电盒,还用于当接收到所述第一耳机发送的回复数据时,将第一通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的所述第一通信串口发送所述回复数据到所述第二耳机。
一种通信装置,所述装置包括:
耳机通信指令接收模块,用于接收耳机通信指令;
耳机通信数据发送模块,用于响应于所述耳机通信指令,将第一通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的所述第一通信串口发送所述耳机通信指令所对应的耳机通信数据到目标耳机;
目标耳机发送回复数据接收模块,用于当所述耳机通信数据发送完成后,将所述第一通信串口的数据传输状态切换为通信数据接收状态,通过处于通信数据接收状态的所述第一通信串口接收所述目标耳机发送的回复数据;
回复数据响应模块,用于基于所述回复数据进行响应。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收耳机通信指令;
响应于所述耳机通信指令,将第一通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的所述第一通信串口发送所述耳机通信指令所对应的耳机通信数据到目标耳机;
当确认所述耳机通信数据发送完成后,将所述第一通信串口的数据传输状态切换为通信数据接收状态,通过处于通信数据接收状态的所述第一通信串口接收所述目标耳机发送的回复数据,所述回复数据是所述目标耳机响应于所述耳机通信数据进行数据处理得到的;
基于所述回复数据进行响应。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收耳机通信指令;
响应于所述耳机通信指令,将第一通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的所述第一通信串口发送所述耳机通信指令所对应的耳机通信数据到目标耳机;
当确认所述耳机通信数据发送完成后,将所述第一通信串口的数据传输状态切换为通信数据接收状态,通过处于通信数据接收状态的所述第一通信串口接收所述目标耳机发送的回复数据,所述回复数据是所述目标耳机响应于所述耳机通信数据进行数据处理得到的;
基于所述回复数据进行响应。
上述通信方法、系统、装置、计算机设备和存储介质,在充电盒响应耳机通信指令后,将第一通信串口的数据传输状态切换为通信数据发送状态,使充电盒主动发起对目标耳机的通信数据发送;当第一通信串口发送耳机通信指令所对应的耳机通信数据发送到目标耳机结束后,充电盒会将第一通信串口的数据传输状态切换为通信数据接收状态,接收目标耳机发送的回复数据,从而能够在不同时间段,在同一通信串口线上实现发送通信数据和接收通信数据;同时,充电盒会基于上述回复数据进行响应,使用户及时得到耳机通信指令的反馈信息,使用户对充电盒的应用更加方便直接。
附图说明
图1为一个实施例中通信方法的应用环境图;
图2为一个实施例中通信方法的流程示意图;
图3为一个实施例中数据包组成的示意图;
图4为一个实施例中充电盒数据转发功能示意图;
图5为一个实施例中确认所述耳机通信数据发送完成后的流程示意图;
图6为另一个实施例中通信方法的流程示意图;
图7为另一个实施例中通信方法的流程示意图;
图8为一个实施例中数据包中数据头的组成示意图;
图9为一个实施例中充电盒与左右耳机通信流程示意图;
图10为一个实施例中充电盒与左右耳机通信连接示意图;
图11为一个实施例中通信装置的结构框图;
图12为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的通信方法,可以应用于如图1所示的应用环境中,具体应用在一种通信系统中。该通信系统包括充电盒102和目标耳机。充电盒102执行一种通信方法,具体的,充电盒102接收耳机通信指令,并对耳机通信指令进行响应,将第一通信串口的数据传输状态切换为通信数据发送状态,并发送耳机通信指令所对应的耳机通信数据到目标耳机;当耳机通信数据发送完成后,将第一通信串口的数据传输状态切换为通信数据接收状态,并通过第一通信串口接收目标耳机发送的回复数据,充电盒基于收到的回复数据进行响应,做出相应的反馈。其中,充电盒102可以但不限于是各种耳机的充电盒,可以为耳机提供电能的同时,可以与耳机之间建立通信连接。目标耳机可以有多个,例如可以包括第一耳机104和第二耳机106中的至少一个,第一耳机104例如可以是适配左耳的耳机,也可以简称为左耳机,第二耳机106可以是适配右耳的耳机,也可以简称为右耳机。充电盒可以与第一耳机102与第二耳机104同时进行通信,也可以将第一耳机作为目标耳机,与第一耳机通信,再与第二耳机进行通信。
在一个实施例中,如图2所示,提供了一种通信方法,以该方法应用于图1中的充电盒为例进行说明,包括以下步骤:
步骤202,接收耳机通信指令。
其中,耳机通信指令是指与耳机进行通信的指令,例如上述指令包括耳机的状态查询指令或者耳机的配对指令等。
具体地,耳机通信指令可以是响应于用户的操作触发的、自动触发的或者是通过第三方设备触发的。例如用户可以操作充电盒上具有耳机通信指令执行功能的按钮,并且充电盒会基于上述对按钮的操作做出响应,得到耳机通信指令。在一个实施例中,充电盒还可以通过网络连接接收第三方终端设备发送的耳机通信指令。例如,充电盒可以接收手机发送的耳机通信指令。
步骤204,响应于耳机通信指令,将第一通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的第一通信串口发送耳机通信指令所对应的耳机通信数据到目标耳机。
其中,第一通信串口是指充电盒的通信串口;数据传输状态是指传输数据的通信串口的输入输出状态;耳机通信数据是指发送给目标耳机的,携带有耳机通信指令的数据。
具体的,在同一时间内,通过通信协议可以控制有且只有一个设备处于发送状态,其余设备均需处于接收状态,避免发送数据冲突;在数据发送完成之后,发送方设备立即转换成接收状态,防止接收数据遗漏。如果在某一时刻没有设备发送数据,则数据总线上的所有设备均处于空闲状态,空闲状态的设备均默认为接收模式。当充电盒接收到耳机通信指令之后,充电盒会将本端的第一通信串口的数据传输状态从通信数据接收状态切换为通信数据发送状态,通过第一通信串口发送与通信指令所对应的耳机通信数据到目标耳机。例如,用户需要通过充电盒查询耳机的电量,此时可以通过操作充电盒上相应的查询按钮,充电盒将查询电量所对应的通信数据发送到目标耳机。
在一个实施例中,和指令所对应的通信数据是以数据包形式在充电盒与目标耳机之间进行传输的,如图3所示,每个数据包内包括了五个部分,分别是数据头、指令类型、数据长度、数据内容和CRC校验,其中数据头包含数据的发送方地址和接收方地址,占一个字节大小;指令类型是每条指令的含义,占一个字节大小;数据的长度是指此后数据总共包含几个字节,占一个字节大小;数据内容就是与具体指令相关的具体数据,占N个字节大小;CRC(Cyclic Redundancy Check)校验就是前面所有数据的CRC16的计算值,占两个字节大小。
步骤206,当确认耳机通信数据发送完成后,将第一通信串口的数据传输状态切换为通信数据接收状态,通过处于通信数据接收状态的第一通信串口接收目标耳机发送的回复数据。
其中,回复数据是目标耳机响应于耳机通信数据进行数据处理后得到的数据,例如如果耳机通信指令是查询电量的指令,则回复数据为耳机的电量。
具体的,当充电盒确认耳机通信数据发送完成后,会将本端的第一通信串口的数据传输状态切换为通信数据接收状态,接收目标耳机发送的回复数据。可以理解的,回复数据中也包括了确认信号数据ACK(Acknowledge character)。例如,充电盒发送查询目标耳机电量的通信指令所对应的通信数据到目标耳机,当充电盒确认上述通信数据已经发送完成,则将本端的第一通信串口的数据传输状态切换为通信数据接收状态,此时,如果充电盒和目标耳机之间的通信成功,会返回表示耳机电量的相关的通信数据,比如,电量为60%。
步骤208,基于回复数据进行响应。
具体的,在目标耳机返回回复数据之后,充电盒可以可视化展示相关的回复数据或者在充电盒上通过指示灯的显示状态进行表示等。例如,在充电盒能够显示的区域进行显示电量的具体数值。
上述通信方法中,在充电盒响应耳机通信指令后,将第一通信串口的数据传输状态切换为通信数据发送状态,使充电盒主动发起对目标耳机的通信数据发送;当第一通信串口发送耳机通信指令所对应的耳机通信数据发送到目标耳机结束后,充电盒会将第一通信串口的数据传输状态切换为通信数据接收状态,接收目标耳机发送的回复数据,在同一通信串口线上实现发送通信数据和接收通信数据,同时,避免设备出现自发自收的现象,可以通过通信协议控制在同一时刻只允许有一种单向的接口状态,保证数据传输的方向性,使数据能够准确地从发送端设备送达到接收端设备上;同时,充电盒会基于上述回复数据进行响应,通过响应能够使用户及时得到耳机通信指令的反馈信息,使用户对充电盒的应用更加方便。
在一个实施例中,目标耳机包括第一耳机和第二耳机,响应于耳机通信指令,将第一通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的第一通信串口发送耳机通信指令所对应的耳机通信数据到目标耳机包括:当确定耳机通信指令为指示第一耳机与第二耳机进行通信的指令时,将第一通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的第一通信串口发送耳机通信指令所对应的耳机通信数据到第一耳机。基于回复数据进行响应包括:当接收到回复数据时,将第一通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的第一通信串口发送回复数据到第二耳机。
其中,第一耳机可以为适配左耳的耳机,也可以是适配右耳的耳机;相对应的;第二耳机可以为右耳,也可以是适配左耳的耳机;当第一耳机为适配右耳的耳机时,第二耳机为适配左耳的耳机,当第一耳机为适配左耳的耳机时,第二耳机为适配右耳的耳机。指示第一耳机与第二耳机进行通信的指令是指需要使第一耳机与第二耳机通过充电盒通信的指令,例如,耳机配对指令,耳机配对指令指示第一耳机与第二耳机通过充电盒进行配对。
具体的,当充电盒本端的第一通信串口的数据传输状态切换为通信数据发送状态时,将能够使第一耳机与第二耳机进行通信的通信指令所对应的耳机通信数据发送到第一耳机。
在一个实施例中,能够使第一耳机与第二耳机进行通信的通信指令所对应的耳机通信数据可以是获取第一耳机MAC地址的通信指令所对应的通信数据,将上述通信数据发送给第一耳机,使得第一耳机接收到该通信指令后,获取第一耳机的MAC地址,使得第一耳机将第一耳机的MAC地址回复给充电盒。如图4所示,当充电盒接收到第一耳机发送的回复数据时,会将本端的第一通信串口的数据传输状态从接收状态切换为发送状态,并且将接收到的第一耳机的回复数据转发给第二耳机,以便于第一耳机和第二耳机之间进行通信。
本施例中,通过充电和发送通信数据给第一耳机,并且将接收到的第一耳机的回复信息发送给第二耳机,能够达到通过充电盒的通信数据转发功能,使第一耳机和第二耳机之间实现通信。
在一个实施例中,耳机通信指令可以为耳机配对指令,如图5所示,当确认耳机通信数据发送完成后,将第一通信串口的数据传输状态切换为通信数据接收状态,通过处于通信数据接收状态的第一通信串口接收目标耳机发送的回复数据包括:
步骤510,第二耳机基于耳机配对地址与第一耳机进行配对,得到配对结果。
具体的,当充电盒接收到第一耳机发送的耳机配对地址之后,充电盒会将接收到的第一耳机的耳机配对地址发送给第二耳机,第二耳机根据接收到的耳机配对地址对本端存储的第一耳机的耳机配对地址进行搜索,在第二耳机本端搜索到该耳机配对地址后进行连接,实现第一耳机和第二耳机之间的配对,第二耳机向充电盒返回配对成功的配对结果。
在一个实施例中,当第一耳机和第二耳机配对成功后,第一耳机以广播通信形式发送第一耳机的设备名称,此时终端可以搜索到第一耳机的设备名称,并发起连接,连接成功后,实现终端和第一耳机的配对连接。同理,本实施例中与终端的配对过程也适用于第二耳机。
在一个实施例中,第一耳机或第二耳机的配对地址可以为MAC地址。在用户需要的某个功能需要第一耳机和第二耳机配合才能够实现时,需要将第一耳机和第二耳机进行配对,通过充电盒的转发,将第一耳机和第二耳机各自的MAC地址进行配对,从而得到配对结果。
步骤512,充电盒当确认耳机配对地址发送至第二耳机后,将第一通信串口的数据传输状态切换为通信数据接收状态,通过处于通信数据接收状态的第一通信串口接收第二耳机发送的配对结果并输出配对结果。
具体的,充电盒当确认耳机配对地址发送至第二耳机后,将本端的第一通信串口的数据传输状态从发送状态切换为接收状态,接收第二耳机发送的配对结果并输出配对结果。
在一个实施例中,配对结果可以以可视化的形式展示在充电盒的界面上,也可以在充电盒上以语音形式进行播放,或者在充电盒上通过指示灯的显示状态进行表示等。
本实施例中,通过充电盒将第一耳机的配对地址转发给第二耳机,再通过第二耳机进行对第一耳机配对地址的搜索,在第二耳机本端搜索到该耳机配对地址后进行连接,实现第一耳机和第二耳机之间的配对,得出配对结果,并输出配对结果,能够实现第一耳机和第二耳机之间通过充电盒的转发功能进行配对,使第一耳机和第二耳机配对更加准确;同时,在充电盒上输出配对结果,能够使充电盒直观地将配对结果反馈给用户。
在一个实施例中,如图6所示,耳机通信指令是响应于用户操作触发的,基于回复数据进行响应包括:
步骤602,基于回复数据确定用户操作所对应的操作结果。
其中,用户操作是指用户对充电盒功能的控制操作,该控制操作用于控制充电盒与耳机进行通信;操作结果是指基于用户操作,充电盒所接收到的反馈结果。
在一个实施例中,用户可以通过用户操作指示充电盒对第一耳机或者第二耳机进行数据查询,充电盒获取查询的结果。例如,查询耳机电量或者耳机的蓝牙连接状态,此时用户可以通过操作充电盒,使充电盒分别发送电量或蓝牙查询命令到第一耳机和第二耳机,第一耳机或者第二耳机收到命令后分别发送具体的电量或蓝牙连接状态给充电盒,充电盒可以获得相应的操作结果为具体的电量或者蓝牙连接的状态。
在一个实施例中,用户可以通过用户操作指示充电盒协助第一耳机或者第二耳机进行配对,充电盒获取配对的结果。例如,第一耳机和第二耳机为蓝牙耳机,需要进行配对。第一耳机和第二耳机配对时,需要通过充电盒转发交换各自的MAC地址,充电盒会接收到第一耳机和第二耳机的配对结果。
步骤604,输出操作结果。
具体的,在充电盒接收到第一耳机或者第二耳机发送的回复数据后,充电盒会根据回复数据输出操作结果,例如耳机的电量,输出的形式可以是以可视化的形式展示在充电盒的界面上,也可以在充电盒上以语音形式进行播放,或者在充电盒上通过指示灯的显示状态进行表示等。
本实施例中,通过充电盒接收用户操作的操作结果并输出此操作结果,能够达到使操作结果直观的表示的效果。
在一个实施例中,如图7所示,响应于耳机通信指令,将第一通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的第一通信串口发送耳机通信指令所对应的耳机通信数据到目标耳机包括:
步骤702,响应于耳机通信指令,将第一通信串口的数据传输状态切换为通信数据发送状态。
具体的,当充电盒接收到耳机通信指令时,会针对接收到的耳机通信指令进行响应,并将本端的第一通信串口的数据传输状态从接收状态切换为发送状态。
步骤704,根据耳机通信指令获取对应的通信内容以及待通信的耳机,将待通信的耳机作为目标耳机。
其中,通信内容是指充电盒与待通信的耳机之间传输过程中使用的通信协议中的数据内容,数据内容可以是通信协议中规定的与具体命令相关的具体数据。
具体的,充电盒可以根据耳机通信指令获取到耳机通信指令所对应的具体数据,并将待通信的耳机例如第一耳机作为目标耳机,以使充电盒与目标耳机之间能够根据耳机通信指令实现通信功能。
步骤706,根据通信内容以及目标耳机的通信地址生成通信数据包,其中,通信数据包中包括耳机通信指令的指令类型、通信内容以及通信地址,以使得目标耳机基于通信地址确认接收方为本端后,根据指令类型以及通信内容进行数据处理,得到回复数据。
其中,通信地址是指能够唯一确定的,能够进行通信的地址,包括发送方的地址和接收方的地址;通信数据包是指在充电盒和目标耳机之间进行通信时,进行数据传输的最小的传输单元;通信数据包中包括耳机通信指令的指令类型、通信内容以及通信地址。
具体的,充电盒和目标耳机之间进行通信时,是以不断发送数据包形式进行的,将耳机通信指令的指令类型、通信内容以及通信地址以数据包的形式组成数据包。如图8所示,通信地址包括发送方地址和接收方地址,分别占用4Bit(比特),发送方地址占用Bit4至Bit7位,接收方地址占用Bit0至Bit3位,根据通信地址中的接收方地址可以确认目标耳机,当目标耳机接收数据包时,根据数据包中通信地址中的发送方地址,可以确认发送方为充电盒,根据接收方的地址,可以确认接收方为本端;相应的,在目标耳机根据数据包中的指令类型以及通信内容进行数据处理后,将回复数据以数据包形式反馈给充电盒,返回时,数据包中的通信地址中发送方地址变成了接收方地址,接收方地址变成了发送方地址。
在一个实施例中,在充电盒和目标耳机之间传输的数据包还包括有数据长度部分,当充电盒发出的指令类型没有相关的数据时,数据包中数据长度部分的值为0,数据包中的通信内容部分可以省略。
在一个实施例中,在充电盒发送的数据包中包括有校验数据。具体的,充电盒可以获取待生成的数据包的校验数据,该校验数据能够使发送端和接收端选定的特定的数整除,将充电盒发送的数据包和校验数据生成新的待发送的数据包,将新的数据包发送给目标耳机。其中,特定的数为预先设置的数值,充电盒和目标耳机中预先存储该特定的数。当新的数据包达到目标耳机后,目标耳机获取接收到的新的数据包的字节数,将该字节数除以预先存储的特定的数,如果没有余数,则表明数据包在传输过程中数据是正确的。如果数据正确,则按照通信命令要求做出相应动作,然后回复数据到充电盒,如果数据有误,则等待充电盒重新发送新数据。
本实施例中,通过充电盒和目标耳机之间通过数据包形式进行通信,并且通过在数据包中增加校验部分,能够保证收到的数据是准确的。
在一个实施例中,如图9所示,所有的通信都是先由充电盒发起。充电盒每次发送通信指令会最多重发3次,直到接收到目标耳机回复。当充电盒需要发送通信指令时,充电盒切换通信串口的数据传输状态为发送状态,此时第一耳机和第二耳机均处于接收状态。充电盒先发送通信数据到第一耳机,通信数据发送完成后,充电盒的通信串口立即切换成接收状态;如果第一耳机接收到通信数据,则第一耳机的通信串口会切换到发送状态,发送回复数据到充电盒。第一耳机发送完通信数据后同样通信串口立即切换成接收状态。充电盒接收到第一耳机的回复数据后,充电盒的通信串口切换成发送状态,发送通信数据到第二耳机,通信数据发送完成后,充电盒通信串口立即切换成接收状态,如果第二耳机接收到通信数据,则第二耳机的通信串口会切换到发送状态,发送命令回复数据到充电盒。第二耳机发送完数据后通信串口同样立即切换成接收状态。每次通信数据最多重发三次,当充电盒接收到耳机的命令回复后,立即停止重发通信数据;若充电盒未接收到耳机的回复数据,则重发数据;若充电盒在重发三次通信数据后还是未接收到回复数据,则充电盒给出错误警示。
应该理解的是,虽然图2、图5或图6-7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、图5或图6-7中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,提供了一种通信系统,通信系统包括充电盒以及目标耳机:
充电盒,用于接收耳机通信指令;
充电盒,用于响应于耳机通信指令,将第一通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的第一通信串口发送耳机通信指令所对应的耳机通信数据到目标耳机;
目标耳机,用于当接收到耳机通信数据时,响应于耳机通信数据进行数据处理得到回复数据,将第二通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的第二通信串口发送回复数据;
充电盒,用于当确认耳机通信数据发送完成后,将第一通信串口的数据传输状态切换为通信数据接收状态,通过处于通信数据接收状态的第一通信串口接收目标耳机发送的回复数据;
充电盒,还用于基于回复数据进行响应。
在一个实施例中,目标耳机包括第一耳机和第二耳机;充电盒用于当确定耳机通信指令为指示第一耳机与第二耳机进行通信的指令时,将第一通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的第一通信串口发送耳机通信指令所对应的耳机通信数据到第一耳机;充电盒,还用于当接收到回复数据时,将第一通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的第一通信串口发送回复数据到第二耳机。
在一个实施例中,如图10所示,通信系统包括有充电盒、左耳机和右耳机,充电盒上设置有接收和发送通信数据的数据端口TX/RX,还包括充电端口CHAGGE。其中的TX表示数据的发送端口,RX表示数据的接收端口,通过+5V的USB(Universal Serial Bus)线VBUS分别连接左耳机和右耳机,左耳机和右耳机分别都包括有数据端口TX、数据端口RX和充电端口BAT。当左耳机和右耳机中的至少一个需要与充电盒分别进行通信时,则使充电盒的数据端口TX/RX连接USB线VBUS,并通过USB线VBUS分别连接左耳机和右耳机中至少一个的数据端口TX或者数据端口RX。当左耳机和右耳机之间需要进行通信,并且需要通过充电盒建立通信时,则使充电盒的数据端口TX/RX连接USB线VBUS,并通过USB线VBUS同时连接左耳机或者右耳机的数据端口TX或者数据端口RX。当需要利用充电盒对左耳机或者右耳机充电时,则使充电盒的充电端口CHAGGE连接USB线VBUS,并且使左耳机或者右耳机的充电端口BAT连接USB线VBUS,从而实现了充电盒对左耳机或者右耳机的充电。
本实施例能够通过利用一根通信线实现数据的发送和接收,以及左耳机和或右耳机的充电,能够降低硬件成本。
在一个实施例中,如图11所示,提供了一种通信装置1100,包括:耳机通信指令接收模块1102、耳机通信数据发送模块1104、目标耳机发送回复数据接收模块1106和回复数据响应模块1108,其中:
耳机通信指令接收模块,用于接收耳机通信指令;
耳机通信数据发送模块,用于响应于耳机通信指令,将第一通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的第一通信串口发送耳机通信指令所对应的耳机通信数据到目标耳机;
目标耳机发送回复数据接收模块,用于当耳机通信数据发送完成后,将第一通信串口的数据传输状态切换为通信数据接收状态,通过处于通信数据接收状态的第一通信串口接收目标耳机发送的回复数据;
回复数据响应模块,用于基于回复数据进行响应。
在一个实施例中,耳机通信数据发送模块1104,还用于当确定耳机通信指令为指示第一耳机与第二耳机进行通信的指令时,将第一通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的第一通信串口发送耳机通信指令所对应的耳机通信数据到第一耳机;
回复数据响应模块1108,还用于当接收到回复数据时,将第一通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的第一通信串口发送回复数据到第二耳机。
在一个实施例中,目标耳机发送回复数据接收模块1106,还用于当确认耳机通信数据发送完成后,将第一通信串口的数据传输状态切换为通信数据接收状态,通过处于通信数据接收状态的第一通信串口接收第一耳机发送的耳机配对地址;
通信装置还包括:配对结果获取模块和配对结果输出模块,其中:
配对结果获取模块,第二耳机基于耳机配对地址与第一耳机进行配对,得到配对结果;
配对结果输出模块,用于充电盒当确认耳机通信地址发送至第二耳机后,将第一通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的第一通信串口接收第二耳机发送的配对结果并输出配对结果。
在一个实施例中,回复数据响应模块1108包括:操作结果确定模块和操作结果输出模块,其中:
操作结果确定模块,用于基于回复数据确定用户操作所对应的操作结果;
操作结果输出模块,用于输出操作结果。
在一个实施例中,耳机通信数据发送模块1104包括:数据传输状态单元、通信内容以及待通信的耳机获取单元和回复数据获得单元,其中:
数据传输状态单元,用于响应于耳机通信指令,将第一通信串口的数据传输状态切换为通信数据发送状态;
通信内容以及待通信的耳机获取单元,根据耳机通信指令获取对应的通信内容以及待通信的耳机,将待通信的耳机作为目标耳机;
回复数据获得单元,用于根据通信内容以及目标耳机的通信地址生成通信数据包,通信数据包中包括耳机通信指令的指令类型、通信内容以及通信地址,以使得目标耳机基于通信地址确认接收方为本端后,根据指令类型以及通信内容进行数据处理,得到回复数据。
关于通信装置的具体限定可以参见上文中对于通信方法的限定,在此不再赘述。上述通信装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种通信方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
接收耳机通信指令;
响应于耳机通信指令,将第一通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的第一通信串口发送耳机通信指令所对应的耳机通信数据到目标耳机;
当确认耳机通信数据发送完成后,将第一通信串口的数据传输状态切换为通信数据接收状态,通过处于通信数据接收状态的第一通信串口接收目标耳机发送的回复数据,回复数据是目标耳机响应于耳机通信数据进行数据处理得到的;
基于回复数据进行响应。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
当确定耳机通信指令为指示第一耳机与第二耳机进行通信的指令时,将第一通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的第一通信串口发送耳机通信指令所对应的耳机通信数据到第一耳机;
当接收到回复数据时,将第一通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的第一通信串口发送回复数据到第二耳机。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
当确认耳机通信数据发送完成后,将第一通信串口的数据传输状态切换为通信数据接收状态,通过处于通信数据接收状态的第一通信串口接收第一耳机发送的耳机配对地址;
通信方法还包括:
第二耳机基于耳机配对地址与第一耳机进行配对,得到配对结果;
充电盒当确认耳机通信地址发送至第二耳机后,将第一通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的第一通信串口接收第二耳机发送的配对结果并输出配对结果。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
基于回复数据确定用户操作所对应的操作结果;
输出操作结果。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
响应于耳机通信指令,将第一通信串口的数据传输状态切换为通信数据发送状态;
根据耳机通信指令获取对应的通信内容以及待通信的耳机,将待通信的耳机作为目标耳机;
根据通信内容以及目标耳机的通信地址生成通信数据包,通信数据包中包括耳机通信指令的指令类型、通信内容以及通信地址,以使得目标耳机基于通信地址确认接收方为本端后,根据指令类型以及通信内容进行数据处理,得到回复数据。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收耳机通信指令;
响应于耳机通信指令,将第一通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的第一通信串口发送耳机通信指令所对应的耳机通信数据到目标耳机;
当确认耳机通信数据发送完成后,将第一通信串口的数据传输状态切换为通信数据接收状态,通过处于通信数据接收状态的第一通信串口接收目标耳机发送的回复数据,回复数据是目标耳机响应于耳机通信数据进行数据处理得到的;
基于回复数据进行响应。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
当确定耳机通信指令为指示第一耳机与第二耳机进行通信的指令时,将第一通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的第一通信串口发送耳机通信指令所对应的耳机通信数据到第一耳机;
当接收到回复数据时,将第一通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的第一通信串口发送回复数据到第二耳机。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
当确认耳机通信数据发送完成后,将第一通信串口的数据传输状态切换为通信数据接收状态,通过处于通信数据接收状态的第一通信串口接收第一耳机发送的耳机配对地址;
方法还包括:
第二耳机基于耳机配对地址与第一耳机进行配对,得到配对结果;
充电盒当确认耳机通信地址发送至第二耳机后,将第一通信串口的数据传输状态切换为通信数据发送状态,通过处于通信数据发送状态的第一通信串口接收第二耳机发送的配对结果并输出配对结果。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
基于回复数据确定用户操作所对应的操作结果;
输出操作结果。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
响应于耳机通信指令,将第一通信串口的数据传输状态切换为通信数据发送状态;
根据耳机通信指令获取对应的通信内容以及待通信的耳机,将待通信的耳机作为目标耳机;
根据通信内容以及目标耳机的通信地址生成通信数据包,通信数据包中包括耳机通信指令的指令类型、通信内容以及通信地址,以使得目标耳机基于通信地址确认接收方为本端后,根据指令类型以及通信内容进行数据处理,得到回复数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。