CN117440377A - 通信系统、方法及电子设备 - Google Patents
通信系统、方法及电子设备 Download PDFInfo
- Publication number
- CN117440377A CN117440377A CN202311283433.8A CN202311283433A CN117440377A CN 117440377 A CN117440377 A CN 117440377A CN 202311283433 A CN202311283433 A CN 202311283433A CN 117440377 A CN117440377 A CN 117440377A
- Authority
- CN
- China
- Prior art keywords
- application
- message
- internet
- identifier
- things
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 226
- 238000004891 communication Methods 0.000 title claims abstract description 182
- 230000008569 process Effects 0.000 claims abstract description 121
- 230000027455 binding Effects 0.000 claims abstract description 89
- 238000009739 binding Methods 0.000 claims abstract description 89
- 230000005540 biological transmission Effects 0.000 claims description 116
- 238000004590 computer program Methods 0.000 claims description 11
- 230000002452 interceptive effect Effects 0.000 abstract description 3
- 238000007726 management method Methods 0.000 description 182
- 230000006870 function Effects 0.000 description 80
- 230000006855 networking Effects 0.000 description 46
- 230000004044 response Effects 0.000 description 45
- 238000010586 diagram Methods 0.000 description 40
- 230000003993 interaction Effects 0.000 description 35
- 238000012545 processing Methods 0.000 description 29
- 238000012795 verification Methods 0.000 description 17
- 230000000694 effects Effects 0.000 description 14
- 230000006978 adaptation Effects 0.000 description 10
- 238000001914 filtration Methods 0.000 description 10
- 230000005236 sound signal Effects 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 7
- 230000001960 triggered effect Effects 0.000 description 6
- 238000010295 mobile communication Methods 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 4
- 230000000977 initiatory effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 206010010071 Coma Diseases 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/69—Identity-dependent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/14—Direct-mode setup
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请实施例提供了一种通信系统、方法及电子设备。其中,电子设备中的应用与所述物联网设备进行认证绑定,在该流程中交互报文中携带应用的用户标识,该用户标识用于标识应用程序的身份信息,以使所述物联网设备区分执行认证绑定流程的应用程序的身份,避免由于异步通信冲突而导致认证绑定流程失败的问题。
Description
本申请是分案申请,原申请的名称是通信系统、方法及电子设备,原申请的申请号是202210872727.3,原申请日是2022年07月21日,原申请的全部内容通过引用结合在本申请中。
技术领域
本申请涉及智能终端技术领域,尤其涉及一种通信系统、方法及电子设备。
背景技术
随着互联网的发展,用户的生活越来越离不开智能电子设备(如手机、平板等)。其中,在电子设备中应用程序与物联网设备(如家用电器、穿戴设备等)绑定后,用户就可以使用应用程序对物联网设备进行控制,给用户带来了极大的遍历。
然而,针对无法进行数据共享的多个应用程序,物联网设备只能与其中一个应用程序成功绑定。若物联网设备同时与多个应用程序(彼此之间无法进行数据共享)进行认证绑定时,会存在异步通信通道冲突的问题。因此,目前无法满足用户将同一个电子设备中的多个应用程序与同一个物联网设备进行绑定的使用需求,导致用户体验不佳。
发明内容
为了解决上述技术问题,本申请实施例提供一种通信系统、方法及电子设备。在该通信系统中,交互报文中携带应用程序的用户标识,以使物联网设备能够区分执行认证绑定流程的应用程序的身份,能够避免由于异步通信冲突而导致认证绑定流程失败的问题。
第一方面,本申请实施例提供一种通信系统,其特征在于,包括:电子设备和物联网设备;其中,电子设备和物联网设备建立通信连接;
电子设备用于响应于接收到的第一操作,执行第一应用与物联网设备进行认证绑定的第一流程;其中,在第一流程中,第一应用向物联网设备发送的报文中携带第一应用的用户标识;用户标识用于标识应用程序的身份信息,以使物联网设备区分不同的应用程序;
物联网设备用于根据第一应用的用户标识,与电子设备完成第一应用与物联网设备进行认证绑定的流程。
其中,第一应用搭载与物联网设备对应的通道传输框架。
示例性的,第一操作为在第一应用中添加物联网设备的操作。
这样,在认证绑定流程中,交互报文中携带应用程序的用户标识,以使物联网设备能够区分执行认证绑定流程的应用程序的身份,能够避免由于异步通信冲突而导致认证绑定流程失败的问题。
根据第一方面,电子设备还用于响应于接收到的第二操作,执行第二应用与物联网设备进行认证绑定的第二流程;其中,在第二流程中,第二应用向物联网设备发送的报文中携带第二应用的用户标识;
物联网设备还用于根据第二应用的用户标识,与电子设备完成第二应用与物联网设备进行认证绑定的流程;
其中,第一应用和第二应用的信息无法共享,第一应用的用户标识和第二应用的用户标识不同;第一应用的用户标识用于查询与第一应用对应的认证信息;第二应用的用户标识用于查询与第二应用对应的认证信息。
其中,认证信息可以包括数据加密秘钥。
其中,第二应用搭载与物联网设备对应的通道传输框架。
示例性的,第二操作为在第二应用中添加物联网设备的操作。
这样,无法进行数据共享的多个应用也能与同一个物联网设备进行独立的绑定认证。
根据第一方面,或者以上第一方面的任意一种实现方式,电子设备还用于响应于接收到的第三操作,执行第一应用与物联网设备之间建立加密通道以及在加密通道中进行数据传输的第三流程;其中,在第三流程中,第一应用向物联网设备发送的报文中携带第一应用的用户标识;
电子设备还用于响应于接收到的第四操作,执行第二应用与物联网设备之间建立加密通道以及在加密通道中进行数据传输的第四流程;其中,在第四流程中,第二应用向物联网设备发送的报文中携带第二应用的用户标识。
示例性的,第三操作为在第三应用中对物联网设备进行控制的操作,第四操作为在第四应用中对物联网设备进行控制的操作。
这样,无法进行数据共享的多个应用也能与同一个物联网设备进行独立的加密数据通信。
根据第一方面,或者以上第一方面的任意一种实现方式,当电子设备和物联网设备进行近场通信时,第一应用向物联网设备发送的初始化认证报文中还携带第一应用的设备进程标识,第二应用向物联网设备发送的初始化认证报文中还携带第二应用的设备进程标识;其中,设备进程标识用于表示应用所在设标识及进程标识;第一应用的设备进程标识与第二应用的设备进程标识不同;
物联网设备用于根据第一应用的设备进程标识创建与第一应用对应的第一节点链表;其中,第一应用的用户标识存储于第一节点链表中;
物联网设备还用于根据第二应用的设备进程标识创建与第二应用对应的第二节点链表;其中,第二应用的用户标识存储于第二节点链表中。
根据第一方面,或者以上第一方面的任意一种实现方式,第一应用向物联网设备发送的报文中还携带IP地址和第一端口号,第二应用向物联网设备发送的报文中还携带IP地址和第二端口号,第一端口号与第二端口号不同;
物联网设备,用于将IP地址和第一端口号存储于第一节点链表中,以及用于将IP地址和第二端口号存储于第二节点链表中;
物联网设备,还用于根据IP地址和第一端口号确定匹配的设备进程标识,并在与设备进程标识对应的节点链表中,查询应用的用户标识;以及,还用于根据IP地址和第二端口号确定匹配的设备进程标识,并在与设备进程标识对应的节点链表中,查询应用的用户标识。
这样,物联网设备将IP地址和端口号作为与应用程序对应的传输标识,能够在网络侧对应用程序进行区分。
根据第一方面,或者以上第一方面的任意一种实现方式,第一应用的用户标识与IP地址共同用于查询与第一应用对应的认证信息;第二应用的用户标识与IP地址共同用于查询与第二应用对应的认证信息。
根据第一方面,或者以上第一方面的任意一种实现方式,当电子设备和物联网设备基于云端进行远场通信时,第一应用向物联网设备发送的报文中还携带物联网设备与第一应用对应的第一云端设备标识,第二应用向物联网设备发送的报文中还携带物联网设备与第二应用对应的第二云端设备标识;
物联网设备还用于根据第一云端设备标识确定匹配的设备进程标识,并在与设备进程标识对应的节点链表中,查询应用的用户标识;以及,还用于根据第二云端设备标识确定匹配的设备进程标识,并在与设备进程标识对应的节点链表中,查询应用的用户标识。
根据第一方面,或者以上第一方面的任意一种实现方式,第一应用的用户标识与第一云端设备标识共同用于查询与第一应用对应的认证信息;第二应用的用户标识与第二云端设备标识共同用于查询与第二应用对应的认证信息。
根据第一方面,或者以上第一方面的任意一种实现方式,报文包括头部部分和数据部分;用户标识填充于数据部分中头部的预留字段中。
这样,本技术方案可以向前兼容,不会影响升级前的物联网设备与电子设备应用的通信。
第二方面,本申请实施例提供一种通信方法。其中,该方法包括:
电子设备响应于接收到的第一操作,执行第一应用与物联网设备进行认证绑定的第一流程;其中,在第一流程中,第一应用向物联网设备发送的报文中携带第一应用的用户标识;用户标识用于标识应用程序的身份信息,以使物联网设备区分不同的应用程序;
物联网设备根据第一应用的用户标识,与电子设备完成第一应用与物联网设备进行认证绑定的流程。
根据第二方面,该方法还包括:电子设备响应于接收到的第二操作,执行第二应用与物联网设备进行认证绑定的第二流程;其中,在第二流程中,第二应用向物联网设备发送的报文中携带第二应用的用户标识;
物联网设备根据第二应用的用户标识,与电子设备完成第二应用与物联网设备进行认证绑定的流程;
其中,第一应用和第二应用的信息无法共享,第一应用的用户标识和第二应用的用户标识不同;第一应用的用户标识用于查询与第一应用对应的认证信息;第二应用的用户标识用于查询与第二应用对应的认证信息。
根据第一方面,或者以上第一方面的任意一种实现方式,该方法还包括:
电子设备响应于接收到的第三操作,执行第一应用与物联网设备之间建立加密通道以及在加密通道中进行数据传输的第三流程;其中,在第三流程中,第一应用向物联网设备发送的报文中携带第一应用的用户标识;
电子设备响应于接收到的第四操作,执行第二应用与物联网设备之间建立加密通道以及在加密通道中进行数据传输的第四流程;其中,在第四流程中,第二应用向物联网设备发送的报文中携带第二应用的用户标识。
根据第一方面,或者以上第一方面的任意一种实现方式,当电子设备和物联网设备进行近场通信时,第一应用向物联网设备发送的初始化认证报文中还携带第一应用的设备进程标识,第二应用向物联网设备发送的初始化认证报文中还携带第二应用的设备进程标识;其中,设备进程标识用于表示应用所在设标识及进程标识;第一应用的设备进程标识与第二应用的设备进程标识不同;
该方法还包括:
物联网设备根据第一应用的设备进程标识创建与第一应用对应的第一节点链表;其中,第一应用的用户标识存储于第一节点链表中;
物联网设备根据第二应用的设备进程标识创建与第二应用对应的第二节点链表;其中,第二应用的用户标识存储于第二节点链表中。
根据第一方面,或者以上第一方面的任意一种实现方式,第一应用向物联网设备发送的报文中还携带IP地址和第一端口号,第二应用向物联网设备发送的报文中还携带IP地址和第二端口号,第一端口号与第二端口号不同;
该方法还包括:
物联网设备将IP地址和第一端口号存储于第一节点链表中,以及将IP地址和第二端口号存储于第二节点链表中;
物联网设备根据IP地址和第一端口号确定匹配的设备进程标识,并在与设备进程标识对应的节点链表中,查询应用的用户标识;以及,根据IP地址和第二端口号确定匹配的设备进程标识,并在与设备进程标识对应的节点链表中,查询应用的用户标识。
根据第一方面,或者以上第一方面的任意一种实现方式,第一应用的用户标识与IP地址共同用于查询与第一应用对应的认证信息;第二应用的用户标识与IP地址共同用于查询与第二应用对应的认证信息。
根据第一方面,或者以上第一方面的任意一种实现方式,当电子设备和物联网设备基于云端进行远场通信时,第一应用向物联网设备发送的报文中还携带物联网设备与第一应用对应的第一云端设备标识,第二应用向物联网设备发送的报文中还携带物联网设备与第二应用对应的第二云端设备标识;
该方法还包括:
物联网设备根据第一云端设备标识确定匹配的设备进程标识,并在与设备进程标识对应的节点链表中,查询应用的用户标识;以及,根据第二云端设备标识确定匹配的设备进程标识,并在与设备进程标识对应的节点链表中,查询应用的用户标识。
根据第一方面,或者以上第一方面的任意一种实现方式,第一应用的用户标识与第一云端设备标识共同用于查询与第一应用对应的认证信息;第二应用的用户标识与第二云端设备标识共同用于查询与第二应用对应的认证信息。
根据第一方面,或者以上第一方面的任意一种实现方式,报文包括头部部分和数据部分;用户标识填充于数据部分中头部的预留字段中。
第二方面以及第二方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第二方面以及第二方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第三方面,本申请实施例提供一种电子设备。该电子设备包括:一个或多个处理器;存储器;以及一个或多个计算机程序,其中一个或多个计算机程序存储在存储器上,当计算机程序被一个或多个处理器执行时,使得电子设备执行第二方面以及第二方面的任意一种实现方式中由电子设备执行的方法步骤所构成的通信方法。
第三方面以及第三方面的任意一种实现方式分别与第二方面以及第二方面的任意一种实现方式相对应。第三方面以及第三方面的任意一种实现方式所对应的技术效果可参见上述第二方面以及第二方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第四方面,本申请实施例提供一种物联网设备。该物联网设备包括:一个或多个处理器;存储器;摄像头;以及一个或多个计算机程序,其中一个或多个计算机程序存储在存储器上,当计算机程序被一个或多个处理器执行时,使得物联网设备执行第二方面以及第二方面的任意一种实现方式中由物联网设备执行的方法步骤所构成的通信方法。
第四方面以及第四方面的任意一种实现方式分别与第二方面以及第二方面的任意一种实现方式相对应。第四方面以及第四方面的任意一种实现方式所对应的技术效果可参见上述第二方面以及第二方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第五方面,本申请实施例提供一种计算机可读存储介质。该计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得电子设备执行第二方面以及第二方面的任意一种实现方式中由电子设备执行的方法步骤所构成的通信方法,或者使得电子设备执行第二方面以及第二方面的任意一种实现方式中由物联网设备执行的方法步骤所构成的通信方法。
第五方面以及第五方面的任意一种实现方式分别与第二方面以及第二方面的任意一种实现方式相对应。第五方面以及第五方面的任意一种实现方式所对应的技术效果可参见上述第二方面以及第二方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第六方面,本申请实施例提供一种计算机程序产品,包括计算机程序,当计算机程序被运行时,使得计算机执行第二方面以及第二方面的任意一种实现方式中由电子设备执行的方法步骤所构成的通信方法,或者执行第二方面以及第二方面的任意一种实现方式中由物联网设备执行的方法步骤所构成的通信方法。
第六方面以及第六方面的任意一种实现方式分别与第二方面以及第二方面的任意一种实现方式相对应。第六方面以及第六方面的任意一种实现方式所对应的技术效果可参见上述第二方面以及第二方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第七方面,本申请提供了一种芯片,该芯片包括处理电路、收发管脚。其中,该收发管脚和该处理电路通过内部连接通路互相通信,该处理电路执行第二方面以及第二方面的任意一种实现方式中由电子设备执行的方法步骤所构成的通信方法,或者执行第二方面以及第二方面的任意一种实现方式中由物联网设备执行的方法步骤所构成的通信方法,以控制接收管脚接收信号,以控制发送管脚发送信号。
第七方面以及第七方面的任意一种实现方式分别与第二方面以及第二方面的任意一种实现方式相对应。第七方面以及第七方面的任意一种实现方式所对应的技术效果可参见上述第二方面以及第二方面的任意一种实现方式所对应的技术效果,此处不再赘述。
附图说明
图1a-图1b为示例性示出的一种应用场景;
图2a为示例性示出的电子设备的硬件结构示意图;
图2b为示例性示出的电子设备的软件结构示意图;
图3a为示例性示出的物联网设备的硬件结构示意图;
图3b为示例性示出的物联网设备的软件结构示意图;
图4a为本申请实施例提供的一种模块交互示意图;
图4b为本申请实施例提供的一种模块交互示意图;
图5a-图5b为示例性示出的一种应用场景;
图6a为本申请实施例提供的一种模块交互示意图;
图6b为本申请实施例提供的一种模块交互示意图;
图7a-图7b为示例性示出的一种应用场景;
图8为本申请实施例提供的一种模块交互示意图;
图9a-图9c为示例性示出的一种应用场景;
图10为本申请实施例提供的一种模块交互示意图
图11a-图11b为示例性示出的一种应用场景;
图12为示例性示出的一种应用场景;
图13a为示例性示出的电子设备多个应用程序与物联网设备认证绑定存在冲突的示意图;
图13b为示例性示出的电子设备多个应用程序与物联网设备进行加密数据通信存在冲突的示意图;
图14a为示例性示出的本申请实施例提供的电子设备多个应用程序与物联网设备认证绑定时采用多通道独立通信方式的示意图;
图14b为示例性示出的本申请实施例提供的电子设备多个应用程序与物联网设备进行加密数据通信时采用多通道独立通信方式的示意图;
图15为示例性示出的报文结构示意图;
图16a为示例性示出的本申请实施例提供的电子设备多个应用程序与物联网设备基于近场通信进行认证绑定时采用多通道独立通信方式的示意图;
图16b为示例性示出的本申请实施例提供的电子设备多个应用程序与物联网设备基于远场通信进行认证绑定时采用多通道独立通信方式的示意图;
图16c为示例性示出的本申请实施例提供的电子设备多个应用程序与物联网设备进行加密数据通信时采用多通道独立通信方式的示意图;
图17为本申请实施例提供的应用程序与物联网设备认证绑定流程的模块交互示意图;
图18为本申请实施例提供的应用程序与物联网设备加密数据通信流程的模块交互示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一目标对象和第二目标对象等是用于区别不同的目标对象,而不是用于描述目标对象的特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个处理单元是指两个或两个以上的处理单元;多个系统是指两个或两个以上的系统。
随着互联网的发展,在线教育受到越来越多人的欢迎,用户(如学生)对在线教育的需求也越来越大。在一些应用场景中,当遇到生词时,学生可以进行在线查词以获取相关解释;在一些应用场景中,对书本内容的在线朗读更便于学生学习知识和发音;在一些应用场景中,学生需要将其作业进行在线提交。因此,如何基于智能设备满足用户的在线教育需求,是需要解决的问题。
目前,针对在线教育场景用户通常使用兼备拍摄功能和显示功能的智能学习机,此种设备需要在特殊位置摄像头或者反光镜,以实现对书本的拍摄,通用性和易用性不强。另外,兼具拍摄功能和显示功能的设备需要较强的硬件和系统支持,设备成本较高。进而,如何基于智能设备为用户提供较好的在线教育体验,提升通用性和易用性,降低在线教育成本,是需要解决的问题。
本申请实施例提供的一种协同工作系统,可以应用于在线教育场景。该系统工作系统包括建立通信连接的电子设备和台灯,台灯上设置有摄像头,可用于向下拍摄书本。电子设备调用台灯的摄像头采集图像,并结合平台在线教育资源即可满足用户的在线教育需求。其中,电子设备可以是平板电脑或手机等。除了在线教育场景,电子设备和台灯还可以基于各自的基本功能(即通信功能和照明功能)为用户服务。这样,该系统工作系统可以基于用户常用的两个智能设备为用户打造更好的在线教育体验,通用性和易用性都较强。另外,由于平板电脑或手机等早已是家家户户的必备产品,且只有拍摄功能的台灯设备成本显示会低于兼具拍摄功能和显示功能的设备,极大地降低了用户的在线教育成本。
下述以电子设备为平板为例,对本申请提供的技术方案进行解释说明。
图1a示例性的示出了一种应用场景。如图1a所示,协同工作系统包括建立通信连接的平板100和台灯200。其中,台灯200包括摄像头201,用于向下采集图像,例如可以是向下拍摄书本中文字内容或图片内容。平板100中安装教育APP(Application,应用程序),该教育APP可以调用台灯200的摄像头201采集图像,并根据台灯200的摄像头201采集到的图像为用户提供各种在线教育功能,例如在线查词、在线朗读、在线提交作业等。
虽然平板也具有前置摄像头和后置摄像头,但无论使用哪个摄像头拍摄书本,都需要用户手持平板将摄像头对准书本,不仅拍摄不稳定,还影响用户用手执行的指读、点读操作,无法给用户提供较好的在线教育体验。如图1a所示,平板100和台灯200均可以固定位置放置,平板100使用台灯200的摄像头201拍摄书本,拍摄画面稳定使得内容识别成功率高,用户也可以灵活地在书本中进行指读、点读操作。由此,平板和台灯联动可以给用户提供较好的在线教育体验。
如图1b所示,平板100和台灯200可以进行近场通信或远场通信。其中,近场通信可以通过路由器等设备完成设备间信息交互,远场通信可以通过云服务器完成设备间信息交互。示例性的,平板100和台灯200可以基于Wi-Fi(wireless fidelity,无线保真)网络协议等实现近场通信。
如图2a所示为电子设备100的结构示意图。可选地,电子设备100可以为终端,也可以称为终端设备,终端可以为蜂窝电话(cellular phone)或平板电脑(pad)等设备,本申请不做限定。需要说明的是,电子设备100的结构示意图可以适用于图1a~图1b中的平板。应该理解的是,图2a所示的电子设备100仅是电子设备的一个范例,并且电子设备100可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图2a中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
电子设备100可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器,陀螺仪传感器,加速度传感器,温度传感器,运动传感器,气压传感器,磁传感器,距离传感器,接近光传感器,指纹传感器,触摸传感器,环境光传感器,骨传导传感器等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如Wi-Fi网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
在本申请实施例中,显示屏194可以显示拍摄预览界面和拍照图像界面等。需要说明的是,在本申请实施例中,拍摄预览界面是指用户可通过显示屏194观看台灯摄像头实时采集的图像的界面。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理,例如使得电子设备100实现本申请实施例中的协同工作方法和/或通信方法。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。在一些实施例中,电子设备100可以设置多个扬声器170A。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器可以设置于显示屏194。电子设备100也可以根据压力传感器的检测信号计算触摸的位置。
触摸传感器,也称“触控面板”。触摸传感器可以设置于显示屏194,由触摸传感器与显示屏194组成触摸屏,也称“触控屏”。触摸传感器用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。
按键190包括开机键(或称电源键),音量键等。按键190可以是机械按键,也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
图2b是本申请实施例的电子设备100的软件结构框图。
电子设备100的分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,系统层,HAL层(Hardware Abstract Layer,硬件抽象层),以及内核层。
应用程序层可以包括一系列应用程序包。
如图2b所示,应用程序包可以包括通话、视频、蓝牙、相机、WLAN、教育应用、设备管家应用等。应用程序包还可以包括日历、地图、导航、音乐、短信息等应用程序。
其中,教育应用可以用于为用户提供在线教育功能,例如在线识词、在线朗读、在线提交作业等。
在一些示例中,设备管家应用可以用于对台灯等IOT(Internet of Things,物联网)设备进行绑定。在一些示例中,教育应用可以实现对台灯等IOT(Internet of Things,物联网)设备的绑定。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2b所示,应用程序框架层可以包括相机服务、鉴权服务、硬件虚拟化服务、设备管理服务、传输管理服务等。
其中,相机服务(camera service)可以用于响应于应用的请求,调用摄像头(包括前置摄像头和/或后置摄像头)。
在本申请实施例中,相机服务可以用于响应于应用的请求,调用电子设备侧的虚拟摄像头,也即调用IOT设备中的摄像头。
鉴权服务用于提供安全权限管理能力。
硬件虚拟化服务,可以用于在电子设备侧(即中心设备侧)与IOT设备侧之间建立逻辑通道,提供虚拟化相机的能力。
设备管理服务,可以用于IOT设备发现及管理,为教育应用等应用程序提供远场(即云端)IOT设备信息以及近场(即附近可连接)的IOT设备信息。
传输管理服务,可以用于建立物理传输通道,提供数据传输能力。
除此之外,还可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。
系统库与运行时层(即系统层)包括系统库和安卓运行时(Android Runtime)。
Android Runtime(安卓运行时)包括核心库和虚拟机。Android Runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
在本申请实施例中,Android Runtime还包括虚拟相机适配层,提供虚拟相机注册的能力。
系统层中的系统库可以包括多个功能模块。例如:多媒体平台、图形图像处理库、编解码等。
多媒体平台可以用于对多媒体的管理,支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。多媒体平台可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
图形图像处理库可以用于实现图形绘图,图像渲染,合成,和图层处理等。
编解码器可以用于实现对音频数据、视频数据的编解码操作。
HAL层为位于操作系统内核与硬件电路之间的接口层。HAL层包括但不限于:音频HAL、传感器HAL、调制解调HAL、相机HAL、虚拟相机HAL。
其中,音频HAL用于对音频流进行处理,例如,对音频流进行降噪、定向增强等处理。相机HAL用于对与电子设备侧摄像头对应的图像流进行处理,虚拟相机HAL用于对电子设备侧注册的虚拟相机对应的图像流进行处理,也即用于对IOT设备侧摄像头采集的图像流进行处理。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,相机区域,音频驱动,网络驱动(如Wi-Fi驱动),CPU驱动,USB驱动,存储驱动,打印驱动等。其中,硬件至少包括处理器、显示屏、Wi-Fi模块等。
可以理解的是,图2b示出的软件结构中的层以及各层中包含的部件,并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的层,以及每个层中可以包括更多或更少的部件,本申请不做限定。
如图3a所示为物联网设备200的硬件结构示意图。需要说明的是,物联网设备200的结构示意图可以适用于图1a~图1b中的台灯。应该理解的是,图3a所示的物联网设备200仅是电子设备的一个范例,并且物联网设备200可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图3a中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
物联网设备200可以包括:处理器210,摄像头201,无线通信模块202,存储器203,音频模块204,USB接口205,充电管理模块206,电源管理模块207,电池208,照明装置209,按键211等。
处理器210可以包括一个或多个处理单元,例如:处理器210可以包括GPU,ISP,控制器,存储器,视频编解码器等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以是物联网设备200的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
摄像头201用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。以台灯为例,摄像头201可以设置于台灯支架上,用于向下采集图像。
物联网设备200可以通过ISP,摄像头201,视频编解码器,GPU等实现拍摄功能。
ISP用于处理摄像头201反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头201中。
无线通信模块202可以提供应用在物联网设备200上的包括WLAN(如Wi-Fi网络),蓝牙(bluetooth,BT)等无线通信的解决方案。在一些实施例中,物联网设备200的天线和无线通信模块202耦合,使得物联网设备200可以通过无线通信技术与网络以及其他设备通信。
存储器203可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器210通过运行存储在存储器203的指令,从而执行物联网设备200的各种功能应用以及数据处理,例如使得物联网设备200实现本申请实施例中的协同工作方法。
物联网设备200可以通过音频模块204,扬声器212等实现音频功能,例如音乐播放等。
USB接口205是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口205可以用于连接充电器为物联网设备200充电,也可以用于物联网设备200与外围设备之间传输数据。
充电管理模块206用于从充电器接收充电输入。充电管理模块206为电池208充电的同时,还可以通过电源管理模块207为物联网设备200供电。
电源管理模块207用于连接电池208,充电管理模块206与处理器210。电源管理模块207接收电池208和/或充电管理模块206的输入,为处理器210,存储器203,摄像头201,无线通信模块202,以及照明装置209等供电。
按键211包括开机键(或称电源键)等。
物联网设备200的软件系统可以采用分层架构或者其他架构等。本申请实施例以分层架构为例,示例性说明物联网设备200的软件结构。
图3b是本申请实施例的物联网设备200的软件结构框图。
物联网设备200的分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将物联网设备200的系统分为三层,从上至下分别为应用程序层,应用程序框架层,系统层,以及内核层。
如图3b所示,应用程序层可以包括设备应用服务,设备应用服务可以理解为系统级应用,物联网设备200系统启动后设备应用服务启动。
如图3b所示,应用程序框架层可以包括设备互联服务、硬件抽象服务、资源管理器等。
设备互联服务,可以用于建立物理传输通道,提供数据传输能力,同时可以管理硬件抽象服务的启动开关。
硬件抽象服务,可以用于在电子设备侧(即中心设备侧)和IOT设备之间建立逻辑通道,提供虚拟化相机的能力,同时提供IOT设备的相机开放接口。
资源管理器可以为应用程序提供各种资源。
如图3b所示,系统层可以包括多媒体平台、图形图像处理库、编解码器、设备适配模块等。
多媒体平台可以用于对多媒体的管理,支持多种常用的音频,视频,以及静态图像文件等。多媒体平台可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
图形图像处理库可以用于实现图形绘图,图像渲染,合成,和图层处理等。
编解码器可以用于实现对音频数据、视频数据的编解码操作。
设备适配模块可以实现硬件抽象服务的接口,可以提供设备信息和能力查询,还可以提供在IOT设备侧执行相关操作的功能,例如打开摄像头、拍照、预览等功能。
可以理解的是,电子设备100和物联网设备200为了实现本申请实施例中的协同工作方法,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
如图4a所示为各模块的交互示意图。参照图4a,本申请实施例提供平板和台灯协同工作的方法流程,具体包括:
0.设备服务初始化阶段
S0.1,响应于用户操作,台灯的设备应用服务启动,加载设备互联服务。
示例性的,用户操作可以时用户开启台灯电源的操作。响应于用户操作,台灯系统启动,设备应用服务随之启动,并加载设备互联服务。其中,设备互联服务可以用于在平板和台灯之间建立物理传输通道,用于提供数据传输能力。
S0.2,台灯的设备互联服务加载硬件抽象服务。
设备互联服务还可以控制硬件抽象服务的开启。示例性的,在设备互联服务启动后,设备互联服务可以以插件的形式加载硬件抽象服务。其中,硬件抽象服务可以用于在平板和台灯之间建立逻辑通道,提供虚拟化相机的能力,同时还可以提供台灯相机的开放接口。
参照图4b所示的模块交互示意图,硬件抽象服务至少可以包括基础组件和相机组件。其中,在设备服务初始化阶段,设备互联服务加载首先加载基础组件,并对基础组件进行初始化。在基础组件初始化之后,可以与台灯的设备适配模块进行信息交互,获取设备信息和虚拟化能力信息。示例性的,设备信息包括但不限于设备名称、设备标识、设备类型等。示例性的,虚拟化能力信息包括但不限于是否支持虚拟化相机、是否支持虚拟化麦克风等。
其中,台灯具有支持虚拟化相机的能力,可以理解为台灯的摄像头允许其他电子设备(如平板)调用,也即可以理解为台灯的摄像头允许被作为其他电子设备的虚拟相机。
在基础组件获取到台灯的设备信息和能力信息之后,如果台灯具有支持虚拟化相机的能力,则基础组件加载相机组件,以提供虚拟化相机的能力。此时,基础组件即可进行协商通道建立准备,以待与平板建立协商通道协商网络连接相关信息(包括但不限于IP地址和端口等)。其中,在基础组件进行协商通道建立准备时,创建一个会话服务(SessionServer),并将会话服务的会话名称(Session Name)发送至设备互联服务中,以待平板侧的传输管理服务与台灯侧的设备互联服务建立协商通道。
1.设备发现阶段
S1.1,响应于用户操作,平板的教育APP向设备管理服务发送设备发现指令。
其中,用户操作可以是用户点击教育APP中需要调用虚拟相机的功能选项的操作。示例性的,用户操作可以时用户点击教育APP中点读功能、查词功能、作业功能、拍照功能的操作。
平板的教育APP接收到用户操作,响应于该操作,向平板的设备管理服务发送设备发现指令。其中,设备发现指令,用于指示查找能够与平板建立连接的IOT设备。示例性的,设备发现指令中可以包括但不限于指令类型和待发现的设备类型。在本实施例中,设备发现指令具体用于查找能够与平板建立连接的台灯。
S1.2,平板中设备管理服务调用鉴权服务对教育APP进行鉴权,获取到对教育APP的鉴权结果。
设备管理服务接收到设备发现指令后,可以基于安卓系统已有机制获取到教育APP的名称(或标识),并根据教育APP的名称对教育APP进行APP鉴权。其中,设备管理服务可以调用鉴权服务对教育APP进行鉴权,以得到对教育APP的鉴权结果。
在本实施例中,平板侧应用程序框架层中还提供有与设备管理服务对应的设备管理API,以及与硬件虚拟化服务对应的硬件虚拟化API。为了实现本实施例提供的技术方案,教育APP需要在相关平台(例如平板厂商提供的平台)上注册,适配设备管理服务、硬件虚拟化服务以及传输管理服务的框架,并申请设备管理API和硬件虚拟化API的权限。
示例性的,鉴权服务访问鉴权服务器,以通过鉴权服务器对教育APP进行鉴权,包括但不限于鉴权是否在相关平台上注册,是否适配了相关框架,是否申请了相关API权限。
又示例性的,鉴权服务可以根据本地白名单对教育APP进行鉴权。
在鉴权服务得到教育APP的鉴权结果(鉴权成功或鉴权失败),将鉴权结果发送给设备管理服务。
S1.3,平板中设备管理服务在教育APP鉴权成功时向传输管理服务发送设备搜索指令。
如果教育APP鉴权成功,则设备管理服务向传输管理服务发送设备搜索指令。其中,设备搜索指令可以包括但不限于指令类型、待搜索的设备类型以及搜索方式。示例性的,搜索方式包括但不限于近场设备扫描和从云服务器中获取设备信息。在本实施中,待搜索的设备类型为台灯。
S1.4,平板中传输管理服务根据设备搜索指令获取到远近场设备列表,并将远近场设备列表发送给设备管理服务。
远近场设备列表包括远场设备列表和近场设备列表。其中,远场设备列表中包括的远场设备是指从云服务器中获取到的已注册设备,近场设备列表中包括的近场设备是指通过近场通信扫描到的设备。在远场设备列表和近场设备列表中,设备信息包括但不限于设备名称、设备标识、设备类型等。
传输管理服务接收到设备搜索指令时,根据设备搜索指令中携带的待搜索的设备类型以及搜索方式执行相关设备搜索操作,如执行近场设备扫描操作以及在云服务器中获取相关设备信息的操作,得到远场设备列表和近场设备列表,并将远场设备列表和近场设备列表发送给设备管理服务。
S1.5,平板中设备管理服务根据远近场设备列表进行设备过滤,并将过滤后得到的设备信息上报给教育APP。
设备管理服务根据远场设备列表和近场设备列表进行设备过滤,确定能够与平板联动的台灯信息,并发送给教育APP。其中,设备管理服务可以对远场设备列表和近场设备列表执行取交集的操作,过滤掉仅存在于远场设备列表或仅存在于近场设备列表中的台灯,将既存在于远场设备列表又存在于近场设备列表中的台灯,作为能够与平板联动的台灯信息。这样,设备管理服务能够过滤掉未在云服务器中注册的台灯,也能过滤掉无法与平板进行近场通信的台灯。
在另一种可选的实施方式中,若平板和台灯无论是否处于同一个局域网下,平板的传输管理服务可以根据设备搜索指令获取通信设备列表和注册设备列表。其中,通信设备列表中包括的设备是指通过近场通信或远场通信扫描到的设备,注册设备列表中包括的设备是指从云服务器中获取到的已注册设备。近场设备列表中包括的近场设备是指通过近场通信扫描到的设备。在通信设备列表和注册设备列表中,设备信息包括但不限于设备名称、设备标识、设备类型等。
平板中传输管理服务将通信设备列表和注册设备列表发送至设备管理服务,设备管理服务根据通信设备列表和注册设备列表进行设备过滤,并将过滤后得到的设备信息上报给教育APP。其中,设备管理服务可以对通信设备列表和注册设备列表执行取交集的操作,过滤掉仅存在于通信设备列表或仅存在于注册设备列表中的台灯,将既存在于通信设备列表又存在于注册设备列表中的台灯,作为能够与平板联动的台灯信息。这样,设备管理服务能够过滤掉未在云服务器中注册的台灯,也能过滤掉无法与平板进行近场通信的台灯。
2.虚拟相机使能阶段
S2.1,平板的教育APP确定待联动的台灯。
设备管理服务过滤得到的能够与平板联动的台灯数量可以为一个或多个。当台灯数量为一个时,教育APP将其默认作为待联动的台灯;当台灯数量为多个时,教育APP可以为用户展示待联动的台灯列表,以供用户在其中选择,响应于用户的选择操作,教育APP将用户选择的台灯作为待联动的台灯。
需要指出的是,教育APP确定待联动台灯的步骤也可以划分至设备发现阶段,本实施例对此不做限定。
S2.2,平板的教育APP对台灯进行设备校验、设备连接,并获取到台灯具有支持虚拟化相机的能力。
S2.3,平板的教育APP向硬件虚拟化服务发送虚拟相机使能请求。
平板的教育APP在获取到台灯具有支持虚拟化相机的能力之后,向硬件虚拟化服务发送虚拟相机使能请求。其中,虚拟相机使能请求用于指示在虚拟相机HAL中注册虚拟相机。虚拟相机使能请求中可以包括但不限于请求类型、设备名称、设备标识、设备类型以及虚拟相机的标识。
S2.4,平板的硬件虚拟化服务向虚拟相机HAL注册虚拟相机。
硬件虚拟化服务接收到虚拟相机使能请求之后,根据虚拟相机使能请求中向虚拟相机HAL注册相应的虚拟相机。
S2.5,平板的虚拟相机HAL在虚拟相机注册完成之后,向教育APP发送虚拟相机使能成功指示。
下面结合图4b所示的模块交互示意图,对虚拟相机使能阶段的流程进行详细解释说明。参照图4b,虚拟相机使能阶段的流程,主要包括设备校验子阶段(S301-S309)、设备连接子阶段(S310-S321)、设备服务能力请求子阶段(S322-S325)和虚拟相机使能子阶段(S326-S331)。
参照图4b,虚拟相机使能阶段的流程,具体包括如下步骤:
S301,平板中教育APP向硬件虚拟化API发送虚拟相机使能指令。
其中,虚拟相机使能指令用于指示使能虚拟相机,虚拟相机使能指令中可以包括但不限于指令类型、设备名称、设备标识、设备类型。
S302,平板中硬件虚拟化API在接收到虚拟相机使能指令之后,向硬件虚拟化服务的接口调度模块发送设备校验指令。
设备校验指令,用于指示对虚拟相机使能指令中携带的设备信息进行校验。其中,设备校验指令中可以包括但不限于指令类型、设备名称、设备标识、设备类型。
S303,平板中硬件虚拟化服务的接口调度模块向硬件虚拟化服务的权限管理模块发送APP鉴权指令。
硬件虚拟化服务的接口调度模块接收到设备校验指令之后,首先向硬件虚拟化服务的权限管理模块发送APP鉴权指令,以对发起虚拟相机使能指令的APP进行鉴权。其中,APP鉴权指令中可以包括但不限于APP的名称。
S304,平板中硬件虚拟化服务的权限管理模块对教育APP进行APP鉴权。
示例性的,权限管理模块可以访问鉴权服务器,以通过鉴权服务器对教育APP进行鉴权,包括但不限于鉴权是否在相关平台上注册,是否适配了相关框架,是否申请了相关API权限。其中,权限管理模块可以通过鉴权服务来访问鉴权服务器,本实施例对此不做限定。
S305,平板中硬件虚拟化服务的权限管理模块在对教育APP鉴权成功时,向接口调度模块发送鉴权成功指示。
权限管理模块得到教育APP的鉴权结果之后,如果教育APP鉴权成功,则向接口调度模块发送鉴权成功指示,如果教育APP鉴权失败,则向硬件虚拟化API发送鉴权失败指示,以使硬件虚拟化API根据鉴权失败指示向教育APP返回APP无权限的指示信息。
S306,平板中硬件虚拟化服务的接口调度模块在确定教育APP鉴权成功时,向设备管理模块发送设备校验指令。
硬件虚拟化服务的接口调度模块接收到鉴权成功指示,确定教育APP鉴权成功之后,向设备管理模块发送设备校验指令。其中,设备校验指令用于对待联动的设备进行状态校验,在本实施例中具体用于对待联动的台灯进行状态校验。示例性的,设备校验指令中可以包括但不限于指令类型、设备名称、设备标识、设备类型。
S307,平板中硬件虚拟化服务的设备管理模块向设备管理服务的设备简介模块发送设备信息查询指令。
其中,设备管理服务的设备简介模块中存储有当前在线的设备信息。
硬件虚拟化服务的设备管理模块接收到设备校验指令之后,向设备管理服务的设备简介模块发送设备信息查询指令,设备信息查询指令中可以包括但不限于设备名称、设备标识、设备类型。
S308,平板中设备管理服务的设备简介模块向硬件虚拟化服务的设备管理模块返回设备信息。
设备管理服务的设备简介模块根据设备信息查询指令如果查询到相应的设备,则将设备信息返回给硬件虚拟化服务的设备管理模块。其中,返回的设备信息中可以包括但不限于设备名称、设备标识、设备类型和在线状态。
设备管理服务的设备简介模块根据设备信息查询指令如果未查询到相应的设备,则向硬件虚拟化服务的设备管理模块返回空值,以指示未查询到相应的设备。此时,硬件虚拟化服务的设备管理模块可以向硬件虚拟化API发送设备校验失败指示,以使硬件虚拟化API根据设备校验失败指示向教育APP返回设备校验失败的指示信息。
S309,平板中硬件虚拟化服务的设备管理模块接收到设备信息后,向硬件虚拟化API发送设备校验成功指示。
硬件虚拟化服务的设备管理模块如何接收到设备管理服务的设备简介模块返回的设备信息,则向硬件虚拟化API发送设备校验成功指示,以指示待联动的台灯校验成功。
S310,平板中硬件虚拟化API向硬件虚拟化服务的设备管理模块发送设备连接请求。
硬件虚拟化API在确认待联动的台灯校验成功之后,向硬件虚拟化服务的设备管理模块发送设备连接请求。其中,设备连接请求用于指示与待联动的设备建立网络连接,在本实施例具体用于指示与待联动的台灯建立网络连接。设备连接请求中可以包括但不限于请求类型、设备名称、设备标识、设备类型。
S311,硬件虚拟化服务的设备管理模块接收到设备连接请求后,执行协商通道建立准备操作,并向传输管理服务发送协商通道打开请求。
硬件虚拟化服务的设备管理模块接收到设备连接请求后,准备协商通道。其中,设备管理模块准备协商通道时,创建一个Session Server,并将会话服务的Session Name发送至传输管理服务中。在准备好协商通道之后,向传输管理服务发送协商通道打开请求。其中,协商通道打开请求用于指示建立协商通道,协商通道打开请求中可以包括但不限于对端设备标识(即台灯标识)以及Session Name。
在本实施例中,协商通道打开请求是平板侧主动发起的,也即是平板需要与台灯建立连接。此时,台灯可以理解为服务端,平板可以理解为需要访问服务端的客户端。
S312,平板中传输管理服务与台灯中设备互联服务建立协商通道。
传输管理服务接收到协商通道打开请求之后,根据Session Name与台灯中设备互联服务交互以建立协商通道。其中,建立协商通道可以具体为创建会话,确定会话标识。
S313,台灯中设备互联服务向硬件抽象服务中的相机组件发送协商通道成功建立指示。
在协商通道建立完成之后,台灯中设备互联服务向硬件抽象服务中的相机组件发送协商通道成功建立指示,以指示协商通道建立完成以及当前存在需要建立连接的设备。其中,该协商通道成功建立指示中可以包括但不限于需要建立连接的设备信息(即平板设备信息)以及会话标识。
S314,平板中传输管理服务向硬件虚拟化服务的设备管理模块发送协商通道成功建立指示。
在协商通道建立完成之后,平板中传输管理服务向硬件虚拟化服务的设备管理模块发送协商通道成功建立指示,以指示协商通道建立完成以及当前存在需要建立连接的设备。其中,该协商通道成功建立指示中可以包括但不限于需要建立连接的设备信息(即台灯设备信息)以及会话标识。
本实施例对S313和S314的执行顺序不做限定。
S315,平板中硬件虚拟化服务的设备管理模块基于协商通道向台灯中硬件抽象服务的相机组件发送设备信息协商请求。
其中,设备协商请求中可以包括但不限于设备信息(如设备名称、设备标识、设备类型等)以及控制通道连接请求。
S316,台灯中硬件抽象服务的相机组件接收到设备协商请求之后,准备控制通道,并向平板中硬件虚拟化服务的设备管理模块返回设备协商信息。
台灯中硬件抽象服务的相机组件接收到设备协商请求之后,解析设备协商请求获取到对端的设备信息进行记录,并根据控制通道连接请求确定一个待监听的IP地址及端口,将IP地址及端口添加至设备协商信息中返回给平板中硬件虚拟化服务的设备管理模块。
需要指出的是,设备协商请求以及设备协商信息是基于建立的协商通道传输的。
S317,平板中硬件虚拟化服务的设备管理模块接收到返回的设备协商信息之后,关闭协商通道。
其中,关闭协商通道可以具体为关闭会话。当平板中硬件虚拟化服务的设备管理模块接收到返回的设备协商信息之后,此次会话结束,硬件虚拟化服务的设备管理模块可以根据会话标识关闭相应的会话。
S318,平板中硬件虚拟化服务的设备管理模块向传输管理服务发送控制通道打开请求。
控制通道打开请求,用于指示与台灯建立网络通信连接。其中,控制通道打开请求中可以包括但不限于通信协议、源IP、源端口、目的IP和目的端口,该目标IP和目的端口即为台灯中硬件抽象服务的相机组件监听的IP和端口。
S319,平板中传输管理服务连接台灯中硬件抽象服务的相机组件的控制通道,并向平板中硬件虚拟化服务的设备管理模块发送控制通道成功连接指示。
平板中传输管理服务接收到控制通道打开请求,根据控制通道打开请求携带的信息与台灯建立控制通道连接,也即建立平板和台灯的网络通信连接。进而,平板中硬件虚拟化服务的设备管理模块与台灯中硬件抽象服务的相机组件,可以基于该控制通道进行网络通信。
在控制通道建立成功之后,平板中传输管理服务向平板中硬件虚拟化服务的设备管理模块发送控制通道成功连接指示。其中,控制通道成功连接指示中可以包括但不限于连接成功标识以及控制通道相关信息。
S321,平板中硬件虚拟化服务的设备管理模块向硬件虚拟化API发送设备连接成功指示。
其中,设备连接成功指示中可以包括但不限于连接成功标识以及连接的设备信息。
S322,平板中硬件虚拟化API向硬件虚拟化服务的设备管理模块发送设备能力请求。
在接收到设备连接成功指示之后,硬件虚拟化API向硬件虚拟化服务的设备管理模块发送设备能力请求。其中,设备能力请求可以用于请求获取对端设备(即台灯)的虚拟化能力信息。示例性的,虚拟化设备能力信息包括但不限于是否支持虚拟化相机、是否支持虚拟化麦克风等。
S323,平板中硬件虚拟化服务的设备管理模块在控制通道中向台灯中硬件抽象服务的相机组件发送设备能力请求。
S324,台灯中硬件抽象服务的相机组件在控制通道中向平板中硬件虚拟化服务的设备管理模块返回设备能力信息。
在本实施例中,返回的台灯的设备能力信息至少可以包括支持虚拟化相机的能力以及台灯的摄像头标识。
S325,平板中硬件虚拟化服务的设备管理模块向硬件虚拟化API发送设备能力信息。
平板中硬件虚拟化服务的设备管理模块将接收到的设备能力信息发送至硬件虚拟化API,以使硬件虚拟化API获知台灯是否具有支持虚拟化相机的能力。
S326,平板中硬件虚拟化API向硬件虚拟化服务的设备管理模块发送虚拟相机使能请求。
平板中硬件虚拟化API获知到台灯具有支持虚拟化相机的能力,向硬件虚拟化服务的设备管理模块发送虚拟相机使能请求。其中,虚拟相机使能请求中可以包括但不限于请求类型和台灯的摄像头标识。
S327,平板中硬件虚拟化服务的设备管理模块在虚拟相机HAL中注册虚拟相机。
其中,硬件虚拟化服务的设备管理模块接收到虚拟相机使能请求后,向虚拟相机HAL发送虚拟相机注册请求。虚拟相机注册请求中可以包括但不限于请求类型和台灯的摄像头标识。虚拟相机HAL接收到虚拟相机注册请求之后,在虚拟相机HAL中给台灯的摄像头注册一个虚拟相机驱动,并给台灯的摄像头分配一个摄像头ID(即虚拟相机ID),将该摄像头ID注册到系统中。由此,在虚拟相机HAL中建立了台灯摄像头与虚拟相机的映射关系。
S328,平板中硬件虚拟化服务的设备管理模块向台灯中硬件抽象服务的相机组件发送服务状态更新指示。
服务状态更新指示,用于指示台灯中硬件抽象服务的相机组件对其虚拟化服务状态进行更新。其中,虚拟化服务状态可以包括占用状态、未占用状态,或者称可以包括注册状态、未注册状态。示例性的,服务状态更新指示中可以包括但不限于对端设备(即台灯)的设备信息,硬件标识(如台灯摄像头标识),以及与硬件标识对应的虚拟化服务状态。
S329,台灯中硬件抽象服务的相机组件根据服务状态更新指示进行服务状态更新。
当服务状态更新指示中指示与台灯摄像头对应的虚拟化服务状态为占用状态(或称注册状态)时,相机组件将与其灯摄像头对应的虚拟化服务状态更新为占用状态(或称注册状态)。
S330,平板中硬件虚拟化服务的设备管理模块向硬件虚拟化API发送虚拟相机使能成功指示。
其中,虚拟相机使能成功指示中可以包括但不限于使能成功标识(或称虚拟化成功标识)、台灯的摄像头标识以及与虚拟相机对应的摄像头ID(或称与台灯摄像头对应的摄像头ID)。
本实施例对S328和S330的执行顺序不做限定。
S331,平板中硬件虚拟化API向教育APP发送虚拟相机使能成功指示。
3.虚拟相机预览访问阶段
S3.1,平板中硬件虚拟化API向相机服务发送虚拟相机访问指令。
虚拟相机访问指令,指的是用于调用虚拟相机的指令。其中,虚拟相机访问指令中可以包括但不限于指令类型、虚拟相机ID和摄像头配置参数,配置参数包括但不限于摄像头分辨率和采集帧率。
S3.2,平板中相机服务根据虚拟相机访问指令向虚拟相机HAL发送图像预览请求。
相机服务接收到虚拟相机访问指令后,根据虚拟相机ID生成相应的图像预览请求发送至虚拟相机HAL。其中,该图像预览请求用于请求预览图像数据流。示例性的,该图像预览请求中可以包括但不限于请求标识、虚拟相机ID和摄像头配置参数等。
S3.3,平板中虚拟相机HAL向硬件虚拟化服务发送图像预览请求。
虚拟相机HAL接收到图像预览请求后,根据图像请求中携带的虚拟相机ID,确定匹配的虚拟化硬件标识。在本实施例中,虚拟相机HAL根据虚拟相机ID,以及虚拟相机ID与台灯摄像头的映射关系,确定联动的台灯摄像头,并根据确定的虚拟化硬件标识生成相应的图像请求发送至硬件虚拟化服务。示例性的,该图像预览请求中可以包括但不限于请求标识、设备信息(即台灯信息)、虚拟化硬件标识(即台灯摄像头标识)和摄像头配置参数等。
S3.4,平板中硬件虚拟化服务向传输管理服务发送图像预览请求。
硬件虚拟化服务将图像预览请求发送至传输管理服务。其中,图像预览请求中可以包括但不限于请求标识、设备信息(即台灯信息)、虚拟化硬件标识(即台灯摄像头标识)和摄像头配置参数等。
在平板中硬件虚拟化服务向传输管理服务发送图像预览请求时,如果发现未与台灯建立数据通道,则生成数据通道建立请求,发送至传输管理服务中。数据通道建立请求,用于指示与台灯之间传输数据。其中,数据通道建立请求中可以包括但不限于会话标识、连接信息、数据编解码模式等。
平板中传输管理服务接收到数据通道建立请求,根据数据通道建立请求携带的信息与台灯建立数据通道连接,也即在平板和台灯之间建立数据通道。进而,平板中传输管理服务和台灯中设备互联服务可以基于该数据通道传输各种数据,包括但不限于图像数据。
在数据通道建立成功之后,平板中传输管理服务向平板中硬件虚拟化服务发送数据通道成功连接指示,台灯中设备互联服务向硬件抽象服务中相机组件发送数据通道成功连接指示。其中,数据通道成功连接指示中可以包括但不限于连接成功标识以及数据通道相关信息。
S3.5,平板中传输管理服务向台灯的设备互联服务传输图像预览请求。
平板中传输管理服务根据图像预览请求中携带的设备信息确定相应的控制通道,并在该控制通道中向台灯的设备互联服务传输图像预览请求。
S3.6,台灯中设备互联服务向相机驱动下发图像预览请求。
台灯中设备互联服务接收到图像预览请求之后,根据虚拟化硬件标识确定响应的硬件驱动(在本实施例中为确定相机驱动),并将相应的图像预览请求发送至相机驱动。
S3.7,台灯中相机驱动驱动摄像头采集图像,并将预览图像数据通过数据通道传输至平板的硬件虚拟化服务。
相机驱动驱动摄像头开启,并驱动摄像头以图像预览请求中携带的摄像头配置参数采集图像,得到预览图像数据流,并将预览图像数据流通过硬件抽象服务发送至设备互联服务,以使设备互联服务在数据通道中向平板的硬件虚拟化服务中持续传输预览图像数据流。其中,关于预览图像数据流的分包组包及编解码流程,此处不再赘述。
S3.8,平板中硬件虚拟化服务将预览图像数据发送至虚拟相机HAL。
硬件虚拟化服务持续接收到预览图像数据流,将预览图像数据流发送至虚拟相机HAL。
S3.9,平板中虚拟相机HAL将预览图像数据发送至相机服务。
此时,虚拟相机HAL持续获取到台灯摄像头采集的预览图像数据,并将预览图像数据持续发送至相机服务。
S3.10,平板中相机服务将预览图像数据发送至教育APP。
S3.11,平板中教育APP显示预览图像。
教育APP通过相机服务接收到预览图像数据流之后,即可在相应的界面中显示预览图像。
4.虚拟相机拍照阶段
S4.1,响应于接收到的用户操作,平板中教育APP向硬件虚拟化服务发送拍照请求。
用户操作例如可以是点击拍照选项的操作。响应于接收到的用户操作,平板中教育APP向硬件虚拟化服务发送拍照请求。其中,拍照请求中可以包括但不限于拍摄图像序号、设备信息(即台灯信息)、虚拟化硬件标识(即台灯摄像头标识)和摄像头配置参数等。摄像头配置参数包括但不限于图像分辨率。
其中,拍照请求还可以携带任务标识,以保证多拍照任务的有序管理。
S4.2,平板中硬件虚拟化服务向传输管理服务发送拍照请求。
S4.3,平板中传输管理服务将向台灯的设备互联服务传输拍照请求。
平板中传输管理服务根据图像预览请求中携带的设备信息确定相应的控制通道,并在该控制通道中向台灯的设备互联服务传输图像预览请求。
S4.4,台灯中设备互联服务向相机驱动下发拍照请求。
台灯中设备互联服务接收到图像预览请求之后,根据虚拟化硬件标识确定响应的硬件驱动(在本实施例中为确定相机驱动),并将相应的拍照请求发送至相机驱动。
S4.5,台灯中相机驱动驱动摄像头拍摄图像,并将拍摄图像数据通过数据通道传输至平板的硬件虚拟化服务。
相机驱动驱动摄像头以拍照请求中携带的摄像头配置参数采集图像,得到拍摄图像数据,并将拍摄图像数据通过硬件抽象服务发送至设备互联服务,以使设备互联服务在数据通道中向平板的硬件虚拟化服务中持续传输拍摄图像数据。其中,关于拍摄图像数据的分包组包及编解码流程,此处不再赘述。
S4.6,平板中硬件虚拟化服务将拍摄图像数据发送至教育APP。
S4.7,平板中教育APP显示拍摄图像。
教育APP通过硬件虚拟化服务接收到拍摄图像图像之后,即可在相应的界面中显示拍摄图像。
在本实施例中,虚拟相机预览访问阶段基于安卓原生的相机框架实现,虚拟相机拍照阶段基于私有的虚拟化相机框架实现,使得虚拟相机拍照阶段涉及的处理路径更短,拍摄的时延更小。同时,由于图像预览还是基于安卓原生的相机框架实现,使得教育APP为了适配本实施例提供技术方案的改动更少。
需要注意的是,上述流程中的阶段划分仅为示例性的表达,本申请实施例对此不做限定。而且,执行虚拟相机预览访问阶段流程平板上显示预览图像之后,实时显示预览图像的流程与虚拟相机拍照阶段的流程作可以同时执行。在上述流程中未尽详细解释之处可以参照已有技术,在此不再赘述。
图4a中给出了协同工作系统的通信架构,该通信架构用于完成平板对虚拟相机(即台灯摄像头)的管理,平板与台灯之间的控制命令交互,以及图像数据的回传及处理等。
需要指出的是,在执行本实施例提供的协同工作方法之前,教育APP需要与台灯进行绑定,并将台灯注册到云服务器中。
需要指出的是,跨设备传输(即在平板和台灯之间传输)的指令、请求等,需要基于通信协议及参数序列等进行封装,本实施例对此不再赘述。平板中硬件虚拟化服务还可以对通过动态分配内存和动态销毁内存对预览图像流和拍摄图像的生命周期进行管理。
本申请实施例提供了一种安卓系统设备使用外部设备的摄像头进行拍照的框架方案,此方案不仅可以应用在教育场景,同时适用于设置有摄像头的其他设备,这些设备可以共享其相机能力给手机、平板等安卓系统设备,以实现安卓系统设备与设这些设备的互联互通。
图5a-图5b示例性的示出了一种应用场景。如图5a中(1)所示,平板显示界面401,界面401上显示有多个应用程序图标,用户点击教育应用图标4011。响应于接收到的用户操作,平板开启教育应用,平板显示教育应用界面,可以参照图5a中(2)所示。如图5a中(2)所示,平板显示教育应用界面402,在界面402上显示有教育应用的各个功能选项,包括但不限于查词功能、点读功能、作业功能、拍照功能等。以用户使用拍照功能能力,用户点击拍照功能选项4021,响应于用户操作,平板执行设备发现阶段和虚拟相机服务使能阶段以及虚拟相机预览访问阶段的流程。
其中,在设备发现阶段,如果平板的设备管理服务过滤得到的能够与平板联动的台灯数量为一个,则平板自动执行虚拟相机服务使能阶段以及虚拟相机预览访问阶段的流程,并显示例如图5b中(1)所示的界面。在设备发现阶段,如果平板的设备管理服务过滤得到的能够与平板联动的台灯数量为多个,则平板显示台灯选择界面。示例性的,在台灯选择界面上显示有待联动的台灯列表,用户可以执行选择操作,响应于用户的选择操作,教育应用确定待联动的一个台灯,并继续执行虚拟相机服务使能阶段以及虚拟相机预览访问阶段的流程,以显示例如图5b中(1)所示的界面。
如图5b中(1)所示,界面403中显示有图像预览窗口4031和拍照选项4032,在图像预览窗口4031中显示有台灯摄像头实时采集到的预览图像。此时,若用户点击拍照选项4032,响应于用户操作,平板执行虚拟相机拍照阶段的流程,显示例如图5b中(2)所示的界面。如图5b(2)所示的界面404,在图像预览窗口4041中显示台灯摄像头拍摄到的图像。此时,用户若点击确认选项4041,则平板响应于用户操作,将拍摄图像进行保存,并继续显示例如图5b中(1)所示的预览界面。用户若点击取消选项4042,则平板响应于用户操作,可以显示例如图5b中(1)所示的预览界面。
需要指出的是,如图5b(2)所示的界面仅仅为示例性的举例,台灯摄像头拍摄到的图像也可以不在图像预览窗口4041中显示,而是显示在界面的其他区域,图像预览窗口4041中继续显示台灯摄像头实时采集到的预览图像,本申请对此不做限定。
本实施例提供的协同工作方法,主要阐述一种基于平板设备和台灯设备组合实现在线教育功能的低成本技术方案。下述分别结合在线教育涉及的几个不同功能对本实施例提供的技术方案进行阐述。
场景一
参照图1a所示的应用场景示意图,本场景以查词功能为例进行技术方案阐述。学生遇到不认识的生词时,可以将手指指向生词下方,利用台灯摄像头拍摄图片,平板识别图像以确定生词内容,并在完成在线查词后通过显示屏向学生反馈生词含义,例如在界面显示并播报生词解释等。
如图6a所示为各模块的交互示意图。参照图6a,本申请实施例提供平板和台灯协同工作的方法流程,具体包括:
S501,响应于用户点击查词功能的操作,平板和台灯执行设备发现阶段、虚拟相机使能阶段以及虚拟相机预览访问阶段的流程,平板显示预览界面。
其中,关于设备发现阶段、虚拟相机使能阶段以及虚拟相机预览访问阶段的流程,可以参见前文,在此不再赘述。
需要指出的是,在虚拟相机预览访问阶段中,平板中硬件虚拟化API向相机服务发送虚拟相机访问指令中会携带摄像头配置参数。其中,摄像头配置参数可以包括但不限于图像分辨率和图像采集帧率。台灯摄像头按照接收到的配置参数进行设置,并案按照相应的图像分辨率和图像采集帧率采集预览图像数据。
在本场景中,平板需要对预览图像进行精准识别,以确定用户指向的文字内容,因此本场景对预览图像的图像质量要求较高,例如可以将图像分辨率设置为1080P。这样,能够保证较高的查词成功率。
S502,平板中教育APP对预览图像进行手指识别。
示例性的,教育APP可以针对接收到的每帧预览图像进行手指识别,也可以定时对最新接收到的预览图像进行手指识别,本实施例对此不做限定。
示例性的,教育APP中可以集成图像识别算法以实现图像识别操作,教育APP也可以调用图像识别服务进行图像识别操作,本实施例对此不做限定。
关于图像识别算法可以参照已有技术,本实施例在此不再赘述。
S503,响应于用户使用手指指词的操作,平板中教育APP在预览图像中识别到用户的手指。
当用户使用手指指向书本中的某个词汇时,台灯摄像头可以采集到手指指词的预览图像,进而平板中教育APP可以在预览图像中识别到用户的手指。
其中,教育APP对预览图像进行手指识别时,如果识别到手指,可以得到手指在预览图中的位置信息,例如坐标信息等。
S504,平板中教育APP根据手指在预览图像中位置确定ROI(region of interest,感兴趣区域)图像。
在教育APP在预览图像中识别到用户的手指之后,可以根据手指在预览图像的位置信息确定ROI图像。其中,教育APP可以根据手指在预览图像的坐标信息,确定ROI信息,ROI信息包括但不限于中心点坐标和区域范围(如宽高信息)。进而,教育APP可以根据ROI信息在预览图像中裁剪出ROI图像。
S505,平板中教育APP对ROI图像进行精准识别,确定待解释生词。
示例性的,教育APP中可以集成图像识别算法对ROI图像进行精准识别,教育APP也可以调用图像识别服务对ROI图像进行精准识别,以确定待解释生词,本实施例对此不做限定。
关于图像识别算法可以参照已有技术,本实施例在此不再赘述。
S506,平板中教育APP对待解释生词进行查词操作,显示待解释生词的释义。
在确定待解释生词之后,教育APP可以进行在线查词操作,或者在数据库中进行查词操作,以得到待解释生词的释义。进而,教育APP可以将待解释生词的释义进行显示,以供用户查看。除此之外,教育APP可以将显示的生词释义进行朗读,本实施例对此不做限定。
类似的,用户也可以使用点读笔等指词工具(或称指示工具)进行指词操作,本实施例对此不做限定。相应的,教育APP对预览图像进行指词工具识别,以确定用户是否有查词意图,并根据指词工具在预览图像的位置信息确定ROI图像。
类似的,用户也可以使用手指或点读笔等指词工具指向书本中的图片。相应的,教育APP根据手指或点读笔等指词工具的位置信息确定ROI图像,并对ROI图像进行图片内容识别,显示与图片对应的释义,同时还可以将显示的图片释义进行朗读。关于此种情形,本实施例不再赘述。
图1a、图7a-图7b示例性的示出一种应用场景。如图7a中(1)所示,平板显示教育APP界面701,在界面701上显示有教育应用的各个功能选项,包括但不限于查词功能、点读功能、作业功能、拍照功能等。用户点击查词功能选项7011,响应于用户操作,平板执行设备发现阶段和虚拟相机服务使能阶段以及虚拟相机预览访问阶段的流程。
其中,在设备发现阶段,如果平板的设备管理服务过滤得到的能够与平板联动的台灯数量为一个,则平板自动执行虚拟相机服务使能阶段以及虚拟相机预览访问阶段的流程,并显示例如图7a中(2)所示的界面。在设备发现阶段,如果平板的设备管理服务过滤得到的能够与平板联动的台灯数量为多个,则平板显示台灯选择界面。示例性的,在台灯选择界面上显示有待联动的台灯列表,用户可以执行选择操作,响应于用户的选择操作,教育应用确定待联动的一个台灯,并继续执行虚拟相机服务使能阶段以及虚拟相机预览访问阶段的流程,以显示例如图7a中(2)所示的界面。
如图7a中(2)所示,界面702中显示有图像预览窗口7021和查词功能操作示意图7022。其中,在图像预览窗口7021中显示有台灯摄像头实时采集到的预览图像。用户可以参照查词功能操作示意图7022执行指词或指图操作,以触发查词功能。教育APP根据预览图像进行指词或指图识别。继续参照图7a中(2),当用户在书本中使用手指指词时,台灯摄像头采集到手指指词预览图像,该手指指词预览图像显示于图像预览窗口7021。进而,教育APP可以在预览图像中识别到用户的手指,并确定手指在预览图中的位置信息,例如坐标信息等。教育APP根据手指在预览图像中位置确定ROI图像,并对ROI图像进行精准识别,确定待解释生词。待教育APP查询到生词释义后,在界面上显示相应的生词释义,可以参照图7b所示。
然而,在上述流程中,为了保证查词成功率,需要使用台灯摄像头持续返回高分辨率(例如1080p)的预览图像流,对带宽的要求也就比较高,需要4-8Mbps的带宽。这样,台灯对硬件芯片的要求也就更高,使得台灯的成本也会提升。
为了实现平板和台灯协同实现查词功能的方案,且降低台灯的硬件成本,本实施例还提供了一种技术方案。其中,由于在图像中进行手指识别或指词工具识别,以及位置识别对图像分辨率的要求不高,故在虚拟相机预览访问阶段,使用台灯摄像头持续返回低分辨率(例如480p)的预览图像流。如果教育APP基于预览图像识别到用户的指词或指图操作,则触发台灯拍摄一张高分辨率(例如1080p)的图像,以使教育APP根据这张高分辨率的图像进行精准识别确定待解释生词或图片。这样,使用台灯摄像头持续返回低分辨率的预览图像流,对带宽的要求不高,只需0.5-1Mbps的带宽,只有在传输这张高分辨率的图像时才需要更多的带宽。由此,本技术方案不仅降低了台灯对硬件芯片的要求,降低了台灯成本,也能保证查词成功率。
如图6b所示为各模块的交互示意图。参照图6b,本申请实施例提供平板和台灯协同工作的方法流程,具体包括:
S601,响应于用户点击查词功能的操作,平板和台灯执行设备发现阶段、虚拟相机使能阶段以及虚拟相机预览访问阶段的流程,平板显示预览界面。
其中,关于设备发现阶段、虚拟相机使能阶段以及虚拟相机预览访问阶段的流程,可以参见前文,在此不再赘述。
需要指出的是,在虚拟相机预览访问阶段中,平板中硬件虚拟化API向相机服务发送虚拟相机访问指令中会携带摄像头配置参数。其中,摄像头配置参数可以包括但不限于图像分辨率和图像采集帧率。台灯摄像头按照接收到的配置参数进行设置,并案按照相应的图像分辨率和图像采集帧率采集预览图像数据。
在本场景中,为了降低预览图像流占用的带宽,在拟相机预览访问阶段中,台灯摄像头可以按照低分辨率采集预览图像。例如,平板中硬件虚拟化API向相机服务发送虚拟相机访问指令中会携带第一配置参数,其中,第一配置参数中包括第一图像分辨率(如480P)。进而,台灯摄像头按照接收到的配置参数进行设置,并案按照第一图像分辨率以及相应的图像采集帧率采集预览图像数据。
S602,平板中教育APP对预览图像进行手指识别。
S603,响应于用户使用手指指词的操作,平板中教育APP在预览图像中识别到用户的手指。
S604,平板中教育APP根据手指在预览图像中位置确定ROI信息,并根据ROI信息生成拍照请求。
其中,ROI信息指的是用于确定ROI的信息,可以包括但不限于中心点坐标和区域范围(如宽高信息)。
S605,平板将拍照请求传输至台灯侧。
其中,拍照请求可以包括但不限于与台灯摄像头对应的虚拟相机ID、台灯摄像头的第二配置参数以及ROI信息。第二配置参数包括但不限于第二图像分辨率,第二图像分辨率高于第一图像分辨率,如第二图像分辨率设置为1080P。这样,使得教育APP可以根据这张高分辨率的图像进行精准识别确定待解释生词或图片。
S606,台灯的摄像头按照拍照请求中携带的第二配置参数进行设置,按照第二图像分辨率拍摄图像,并将拍摄图像发送至硬件抽象服务。
S607,硬件抽象服务根据ROI信息确定ROI图像。
硬件抽象服务可以根据ROI信息在拍摄图像中裁剪出ROI图像。
在一种可选的实施方式中,拍照请求中包括但不限于第二配置参数,但不包括ROI信息。这样,平板将拍照请求传输至台灯侧,台灯的摄像头按照拍照请求中携带的第二配置参数进行设置,按照第二图像分辨率拍摄图像,并将拍摄图像返回至平板中教育APP。进而,教育APP可以根据ROI信息确定ROI图像,例如根据ROI信息在拍摄图像中裁剪出ROI图像。
S608,台灯将ROI图像传输至平板中教育APP。
相比较于台灯直接将高分辨率的拍摄图像返回至平板中教育APP,将裁剪后的ROI图像返回至平板中教育APP中,也能够减少数据传输量,降低带宽的占用。
S609,平板中教育APP对ROI图像进行精准识别,确定待解释生词。
S610,平板中教育APP对待解释生词进行查词操作,显示待解释生词的释义。
本流程未尽详细解释之处可以参照前文,在此不再赘述。
类似的,用户也可以使用点读笔等指词工具进行指词操作,本实施例对此不做限定。相应的,教育APP对预览图像进行指词工具识别,以确定用户是否有查词意图,并根据指词工具在预览图像的位置信息确定ROI信息。
类似的,用户也可以使用手指或点读笔等指词工具指向书本中的图片。相应的,教育APP根据手指或点读笔等指词工具的位置信息确定ROI信息,并对ROI信息在拍摄图像中确定ROI图像,对ROI进行图片内容识别,显示与图片对应的释义,同时还可以将显示的图片释义进行朗读。关于此种情形,本实施例不再赘述。
关于此流程的应用场景,可以参照图1a、图7a-图7b所示的应用场景。参照图7a中(2),当用户在书本中使用手指指词时,台灯摄像头采集到手指指词预览图像,该手指指词预览图像显示于图像预览窗口7021。进而,教育APP可以在预览图像中识别到用户的手指,确定ROI信息,并根据ROI信息以及图像高分辨率生成拍照请求,触发台灯摄像头拍摄图像。台灯摄像头根据图像高分辨率拍摄图像,台灯侧并根据ROI信息对高分辨率拍摄图像进行裁剪得到ROI图像,将ROI图像返回至平板中教育APP。教育APP对ROI图像进行精准识别,确定待解释生词。待教育APP查询到生词释义后,在界面上显示相应的生词释义,可以参照图7b所示。
场景二
参照图1a所示的应用场景示意图,本场景以作业功能为例进行技术方案阐述。当学生需要在线提交作业时,可以在教育APP中点击拍照,利用台灯摄像头拍摄作业图像,并通过教育APP将作业图像上传至数据库。
如图8所示为各模块的交互示意图。参照图8,本申请实施例提供平板和台灯协同工作的方法流程,具体包括:
S801,响应于用户点击作业功能的操作,平板中教育APP显示作业提交列表。
需要指出的是,作业提交列表指的是包括多个作业提交选项的列表,一个作业提交选项对应一门作业,可以参照图9a中界面704所示。其中,作业选项可以是按照学科划分的,也可以是按照时间划分的,本实施例对此不做限定。
如果教育APP的作业功能中只需针对一门作业提交作业图像,则教育APP不会显示作业提交列表。此时,响应于用户点击作业功能的操作,平板和台灯执行设备发现阶段、虚拟相机使能阶段以及虚拟相机预览访问阶段的流程,平板显示预览界面。
S802,响应于用户点击提交作业选项,平板和台灯执行设备发现阶段、虚拟相机使能阶段以及虚拟相机预览访问阶段的流程,平板显示预览界面。
其中,关于设备发现阶段、虚拟相机使能阶段以及虚拟相机预览访问阶段的流程,可以参见前文,在此不再赘述。
需要指出的是,在虚拟相机预览访问阶段中,平板中硬件虚拟化API向相机服务发送虚拟相机访问指令中会携带摄像头配置参数。其中,摄像头配置参数可以包括但不限于图像分辨率和图像采集帧率。台灯摄像头按照接收到的配置参数进行设置,并案按照相应的图像分辨率和图像采集帧率采集预览图像数据。
在本场景中,为了降低预览图像流占用的带宽,在拟相机预览访问阶段中,台灯摄像头可以按照低分辨率采集预览图像。例如,平板中硬件虚拟化API向相机服务发送虚拟相机访问指令中会携带第一配置参数,其中,第一配置参数中包括第一图像分辨率(如480P)。进而,台灯摄像头按照接收到的配置参数进行设置,并案按照第一图像分辨率以及相应的图像采集帧率采集预览图像数据。
S803,响应于用户点击拍照选项的操作,平板中教育APP生成拍照请求。
当用户将作业或书本等放置在台灯摄像头采集区域内时,用户则可以点击拍照选项触发台灯摄像头拍摄作业图像。
其中,拍照请求可以包括但不限于与台灯摄像头对应的虚拟相机ID、台灯摄像头的第二配置参数。第二配置参数包括但不限于第二图像分辨率,第二图像分辨率高于第一图像分辨率,如第二图像分辨率设置为1080P。这样,使得教育APP可以上传高分辨率的作业图像。
S804,平板将拍照请求传输至台灯侧。
S805,台灯的摄像头按照拍照请求中携带的第二配置参数进行设置,按照第二图像分辨率拍摄图像。
S806,台灯将拍摄图像传输至平板中教育APP。
S807,平板中教育APP显示拍摄图像。
平板中教育APP接收到台灯摄像头拍摄到的作业图像,将该作业图像进行显示。如果用户对拍摄的作业图像满意,则用户可以点击提交选项以将作业图像上传至数据库。如果用户对拍摄的作业图像不满意,则用户可以重新点击拍照选项以触发台灯摄像头重新拍摄作业图像。
S808,响应于用户点击提交选项的操作,平板中教育APP上传拍摄图像至数据库。
本流程未尽详细解释之处可以参照前文,在此不再赘述。
需要指出的是,上述提及的作业图像仅仅是示例性的举例说明,用户可以点击拍照选项触发台灯摄像头拍摄其他图像。待台灯将拍摄到的图像发送至平板中教育APP中之后,教育APP则可以将接收到的拍摄图像上传至相应的数据库。
图1a、9a-图9c示例性的示出一种应用场景。如图9a中(1)所示,平板显示教育APP界面701,在界面701上显示有教育应用的各个功能选项,包括但不限于查词功能、点读功能、作业功能、拍照功能等。用户点击查词功能选项7012,响应于用户操作,平板中教育APP显示作业提交列表,可以参照图9a中(2)所示。如图9a中(2)所示的作业提交列表界面704中,显示有多个提交作业选项(如提交作业1、提交作业2、提交作业3、提交作业4等),不同的作业提交选项对应于不同的作业。以用户需要针对提交作业4上传作业图像为例,用户点击提交作业4选项7042。响应于用户操作,平板可以显示如图9b中(1)所示的作业提交界面705。
继续参照9b中(1),在作业提交界面705中,显示有图像预览窗口7041、拍照选项7051和提交选项7052。其中,在图像预览窗口7041中显示有台灯摄像头实时采集到的预览图像。当用户将作业或书本等放置在台灯摄像头采集区域内时,用户则可以点击拍照选项7051触发台灯摄像头拍摄作业图像。响应于用户操作,教育APP生成拍照请求发送至台灯侧,以调用台灯摄像头拍摄作业图像。其中,台灯摄像头按照拍照请求中携带的图像高分辨率拍摄作业图像,并将拍摄得到作业图像返回至平板中教育APP,以通过教育APP进行显示,可以参照如图9b中(2)所示的界面706。
继续参照9b中(2),在界面706中显示有图像预览窗口7041、拍照选项7051、提交选项7052,以及台灯摄像头拍摄得到的作业图像7061。其中,在作业图像7061还显示有关闭选项7062。若用户对作业图像7061不满意,则可以点击关闭选项7062,界面上将不再显示作业图像7061。此时用户可以点击拍照选项7051触发台灯摄像头重新拍摄作业图像。若用户对作业图像7061满意,则可以点击提交选项7052。响应于用户操作,平板可以显示如图9c所示的待确认界面701。其中,在待确认界面701中显示有待提交的作业图像7061,以及是否确认提交窗口7071。如果用户点击确认提交窗口7071中的确认选项7072,则教育APP响应于用户操作,将作业图像7061上传至数据库。如果用户点击确认提交窗口7071中的取消选项7071,则教育APP响应于用户操作,可以显示如图9b中(1)所示的界面,以待用户点击拍照选项7051触发台灯摄像头重新拍摄作业图像。
需要指出的是,继续参照9b中(2),若用户对作业图像7061满意,则可以点击提交选项7052。响应于用户操作,教育APP也可以不再显示如图9c所示的界面,直接将作业图像7061上传至数据库。本实施例对此不做限定。
场景三
参照图1a所示的应用场景示意图,本场景以点读功能(或称指读功能)为例进行技术方案阐述。当学生需要教育APP朗读书本中内容时,可以利用台灯摄像头实时采集书本图像,进而教育APP可以根据书本图像加载相应的书本内容,并根据学生的手指位置或翻页操作确定待朗读的书本内容进行朗读。
如图10所示为各模块的交互示意图。参照图10,本申请实施例提供平板和台灯协同工作的方法流程,具体包括:
S901,响应于用户点击点读功能的操作,平板和台灯执行设备发现阶段、虚拟相机使能阶段以及虚拟相机预览访问阶段的流程,平板显示预览界面。
其中,关于设备发现阶段、虚拟相机使能阶段以及虚拟相机预览访问阶段的流程,可以参见前文,在此不再赘述。
需要指出的是,在虚拟相机预览访问阶段中,平板中硬件虚拟化API向相机服务发送虚拟相机访问指令中会携带摄像头配置参数。其中,摄像头配置参数可以包括但不限于图像分辨率和图像采集帧率。台灯摄像头按照接收到的配置参数进行设置,并案按照相应的图像分辨率和图像采集帧率采集预览图像数据。
在本场景中,为了降低预览图像流占用的带宽,在拟相机预览访问阶段中,台灯摄像头可以按照低分辨率采集预览图像。例如,平板中硬件虚拟化API向相机服务发送虚拟相机访问指令中会携带第一配置参数,其中,第一配置参数中包括第一图像分辨率(如480P)。进而,台灯摄像头按照接收到的配置参数进行设置,并案按照第一图像分辨率以及相应的图像采集帧率采集预览图像数据。
S902,平板中教育APP对预览图像进行识别,确定图书名称。
示例性的,教育APP可以针对接收到的每帧预览图像进行图书信息识别,也可以定时对最新接收到的预览图像进行图书信息识别,本实施例对此不做限定。
示例性的,教育APP中可以集成图像识别算法以实现图像识别操作,教育APP也可以调用图像识别服务进行图像识别操作,本实施例对此不做限定。
关于图像识别算法可以参照已有技术,本实施例在此不再赘述。
S903,平板中教育APP根据图书名称检索数据库,并加载与图书名称对应的图书内容。
平板中教育APP如果根据图书名称检索数据库,确定不同版本的图书,则可以显示相应的图书列表,以供用户选择。进而,响应于用户对某个版本的图书的选择操作,教育APP加载与该版本图书对应的内容
S904,响应于用户翻页或手指点读操作,平板中教育APP对预览图像进行识别,确定待朗读段落,并朗读相应的段落。
在加载完成图书内容之后,教育APP可以针对接收到的每帧预览图像进行手指或点读笔指令的指示工具的识别,也可以定时对最新接收到的预览图像进行手指或点读笔指令的指示工具的识别,本实施例对此不做限定。响应于用户的点读操作,教育APP可以根据预览图像识别到图书页码以及用户的点击位置信息,例如坐标信息等,进而可以根据图书页码以及用户的点击位置信息,在加载的图书内容中确定出待朗读的段落,并朗读相应的段落。
在加载完成图书内容之后,教育APP还可以根据预览图像流进行翻页识别。响应于用户的翻页操作,教育APP可以根据识别到图书页码在加载的图书内容中确定出待朗读的段落,并朗读相应的段落。
本流程未尽详细解释之处可以参照前文,在此不再赘述。
图1a、图11a-图11b示例性的示出一种应用场景。如图11a中(1)所示,平板显示教育APP界面701,在界面701上显示有教育应用的各个功能选项,包括但不限于查词功能、点读功能、作业功能、拍照功能等。用户点击点读功能选项7013,响应于用户操作,平板执行设备发现阶段和虚拟相机服务使能阶段以及虚拟相机预览访问阶段的流程。
其中,在设备发现阶段,如果平板的设备管理服务过滤得到的能够与平板联动的台灯数量为一个,则平板自动执行虚拟相机服务使能阶段以及虚拟相机预览访问阶段的流程,并显示例如图11a中(2)所示的界面。在设备发现阶段,如果平板的设备管理服务过滤得到的能够与平板联动的台灯数量为多个,则平板显示台灯选择界面。示例性的,在台灯选择界面上显示有待联动的台灯列表,用户可以执行选择操作,响应于用户的选择操作,教育应用确定待联动的一个台灯,并继续执行虚拟相机服务使能阶段以及虚拟相机预览访问阶段的流程,以显示例如图11a中(2)所示的界面。
如图11a中(2)所示,界面708中显示有图像预览窗口7081。其中,在图像预览窗口7081中显示有台灯摄像头实时采集到的预览图像。教育APP对预览图像进行识别,以确定图书名称。教育APP在识别到图书名称之后,根据图书名称检索数据库。如果检索到相应的图书,则执行图书内容的加载操作,可以参照图11b中(1)所示。
继续参照图11b中(1)所示,界面709中显示有图像预览窗口7081、识别到的图书名称7091和图书内容加载进度标识7092。在图书内容加载完成之后,教育APP即可根据预览图像识别用户的点读操作或翻页操作。以用户执行翻页操作为例,参照如图11b中(2)所示的界面710,图像预览窗口7081中可以显示用户的翻页动作。响应于用户的操作,教育APP根据预览图像识别到图书页码。进而,教育APP可以根据识别到图书页码在加载的图书内容中确定出待朗读的段落,并朗读相应的段落。
在本申请实施例提供的协同工作方法中,使用家用平板和带摄像头台灯即可组合出的专业在线教育体验。利用台灯设备的摄像头配合平板的教育APP完成学生手指查词、作业提交、图书指读等需要拍照的场景。
图12示例性的示出了一种应用场景。参照图12中平板100所示,平板安装有“点读”应用和“慧读”应用两种教育APP,若用户既希望平板可以基于“点读”应用与台灯联动实现前文中的协同工作方法,又希望平板可以基于“慧读”应用与台灯联动实现前文中的协同工作方法,则用户需要将“点读”应用和“慧读”应用分别与台灯200进行绑定。如果“点读”应用和“慧读”应用运行在同一进程中,能够进行数据共享,则可以同时与台灯200进行绑定。然而,如果“点读”应用和“慧读”应用运行在不同的进程中,无法进行数据共享,则无法同时与台灯200进行绑定。此时,用户只选择其中一个应用与台灯200进行绑定。在用户将“点读”应用与台灯200成功绑定后,若需要将“慧读”应用与台灯200绑定,则需要首先将“点读”应用与台灯200进行解绑定,再将“慧读”应用与台灯200进行绑定。
由此,在已有技术中,如果同一个电子设备上安装的多个应用程序之间无法进行数据共享,则同一个IOT设备只能和其中一个应用程序成功绑定。以同一个电子设备中安装的第一APP和第二APP为例,第一APP和第二APP运行在不同的进程中,彼此之间无法进行数据共享。在用户将一个IOT设备与该电子设备中的第一APP绑定之后,如果用户需要将该IOT设备与该电子设备中的第二APP绑定,虽然第二APP可以从与IOT设备对应的云端获取IOT设备的注册信息,但仍需要通过近场认证建立与第二APP对应的加密通道进行控制数据的传输。因此,如果如果用户需要将该IOT设备与该电子设备中的第二APP绑定,则需要首先将该IOT设备与该电子设备中的第一APP解绑,再将该IOT设备与该电子设备中的第二APP绑定。
之所以同一个IOT设备无法同时与同一个电子设备中的多个应用程序(彼此之间无法进行数据共享)绑定,是因为在IOT设备认证绑定阶段及加密数据传输阶段,IOT设备无法对搭载于同一个电子设备的多个应用程序进行区分,进而导致多个应用程序与IOT设备之间出现异步通信冲突的问题,使得应用程序无法与IOT设备完成认证绑定,或者是应用程序与IOT设备之间加密数据通信失败。
下述以第一APP和第二APP为例进行解释说明,其中,第一APP和第二APP运行在电子设备不同的进程中,彼此之间无法进行数据共享。
在已有方案中,整体认证绑定过程会依据设备唯一识别符(Unique DeviceIdentifier,UDID)建立用于认证信息保存的节点链表,同时根据IP地址来进行近场认证信息传输。这种情况下,由于两个APP的UDID相同,IP地址也相同,从而导致后者发起新的认证时候,认证句柄是前者,从而导致前者的认证信息被覆盖并导致整体认证流程失败。
参照图13a所示,假设电子设备和IOT设备之间进行近场通信,则在电子设备中APP与IOT设备进行认证绑定的过程中,与认证绑定流程相关的报文(简称认证报文)是以IP地址为唯一标识的。然而,第一APP发送的认证报文与第二APP发送的认证报文携带的IP地址是相同的,IOT设备无法区分认证报文是那个APP发送的。假设,在第一APP发起了与IOT设备进行认证绑定流程之后,第二APP也发起了与该IOT设备进行认证绑定的流程,由于两个APP发送的认证报文携带的IP地址相同,则IOT设备无法区分出这两个APP,与两个APP对应的认证信息均存储于同一个节点链表中,且在后的认证信息会将在前的认证信息覆盖,导致第一APP无法完成认证绑定流程。而且,IOT设备回复的报文可能也无法成功传输到相应的APP中,进而可能这两个APP都无法完成认证绑定流程。
即使是在第一APP与IOT设备完成认证绑定流程之后,第二APP又发起了与IOT设备进行认证绑定流程,由于认证报文IP地址相同,IOT设备依旧会将与第二APP对应的认证信息,存储于之前创建的与第一APP对应的节点链表中,导致与第一APP对应的认证信息被覆盖。这样,假设第二APP与IOT设备成功认证绑定,则后续第一APP也无法与IOT设备正常进行加密数据通信。
类似的,参照图13b所示,假设电子设备和IOT设备之间进行近场通信,则在电子设备中APP与IOT设备进行加密数据通信的过程中,加密数据报文也是以IP地址为唯一标识的。在一种情形下,假设第一APP与IOT设备成功认证绑定,IOT设备中创建的节点链表中存储有与第一APP对应的认证信息,以使第一APP与IOT设备之间可以正常加密通信。此时,若第二APP也能向该IOT设备发送加密数据报文,则由于IOT设备根据加密数据报文中携带的IP地址无法区分该APP是与第一APP不同的另一个APP,依旧会使用与第一APP对应的数据加密秘钥对第二APP发送的加密数据报文进行解密,这样必然会导致解密失败,第二APP无法与IOT设备成功加密通信。
为了解决上述问题,本申请实施例提供了一种技术方案,以解决同一电子设备中多个应用程序(无法数据共享)与同一IOT设备的异步通信通道冲突问题,实现多协议多通道的独立安全通信。也即,每个APP与IOT设备通信均基于彼此独立的通信通道实现,不会出现通信冲突的问题。
其中,在本实施例方案中,为每个APP分配一个用户标识(例如通过CliID来表示)作为APP的唯一标识,在每个APP与IOT设备通信时均会携带该用户标识,以使IOT设备可以根据该用户标识对各个APP进行区分,并基于各自独立的通信通道完成与APP的通信。
需要指出的是,针对运行在同一个进程中,彼此之间可以数据共享的多个APP,这些APP的用户标识相同。
如图14a所示,在第一APP与IOT进行认证绑定的流程中,CliID1作为第一APP的唯一标识,始终被携带于认证交互报文中;在第二APP与IOT进行认证绑定的流程中,CliID2作为第二APP的唯一标识,始终也被携带于认证交互报文中。这样,IOT设备就可以基于不同CliID的对第一APP和第二APP进行区分,并分别为第一APP和第二APP创建节点链表,以分别存储与第一APP和第二APP对应的认证信息(包括秘钥协商过程中的数据和数据加密秘钥)。
类似的,如图14b所示,在第一APP与IOT进行加密数据通信的流程中,CliID1作为第一APP的唯一标识,始终被携带于加密通信交互报文中;在第二APP与IOT进行加密数据通信的流程中,CliID2作为第二APP的唯一标识,始终也被携带于加密通信交互报文中。这样,IOT设备就可以基于不同CliID的对第一APP和第二APP进行区分,进而可以根据与第一APP对应的数据加密秘钥对第一APP的加密数据报文进行解密,并根据与第一APP对应的数据加密秘钥对向第一APP返回的信息进行加密,以及可以根据与第二APP对应的数据加密秘钥对第二APP的加密数据报文进行解密,并根据与第二APP对应的数据加密秘钥对第二APP返回的信息进行加密。
其中,APP的CliID可以填充于报文的预留字段中。作为一种可选的实施方式,如图15所示,APP的CliID可以填充于报文数据部分的数据头中。示例性的,APP的CliID填充于数据头尾部的预留字段中。
这样,本实施例提供的技术方案可以向前兼容,不会影响升级前的IOT设备与电子设备APP的通信。其中,升级前的IOT设备不会基于CliID来识别不同的APP,故其不对报文数据头尾部的预留字段进行识别即可。
下述结合图16a-图16c对本实施例提供的技术方案进行详细解释阐述。需要指出的是,本实施例提及的不同APP均指的是运行在不同进程中无法进行数据共享的APP,关于此下文中不再重复描述。
在本实施例提供的技术方案中,针对同一电子设备中不同的APP,使用不同的UDID进行标识。为了与已有的UDID进行区分,本实施例使用设备进程唯一标识(或称设备进程标识)UDIDx对已有的UDID进行替换,UDIDx在报文中的填充字段可以与UDID的填充字段相同,也可以与UDID的填充字段不同。为了减少对已有报文格式的修改,提高通用性,在本实施中,UDIDx在报文中的填充字段与UDID的填充字段相同。也即在本实施例中,针对同一电子设备中不同的APP,使用不同的UDIDx进行标识。示例性的,UDIDx可以根据已有的UDID和进程标识组成。
另外,在本实施例提供的技术方案中,在认证绑定流程中的交互报文,以及在加密通道数据传输流程中的交互中,增加新的字段CliID,针对不同的APP,字段CliID的值不同。
这样,即使是由于各种原因使用相同的UDID对同一电子设备的不同APP进行标识,IOT设备也可以根据字段CliID的值,对不同的APP发送的报文进行区分。
如图16a所示,在认证绑定流程中,针对近场通信认证,IOT设备可以将IP和端口(Port)作为报文的传输标识。不同对端APP使用的端口号不同,进而IOT设备可以根据IP和Port在传输层面(或称在网络层面)对发起认证绑定的APP进行区分。
继续参照图16a,在认证绑定流程中,针对近场通信认证,IOT设备可以将UDIDx、IP和CliID作为报文的认证标识,也可以理解为保存秘钥信息的标识。不同对端APP的UDIDx不同。即使IP相同,也可以依据不同的UDIDx创建不同的节点链表,并结合IP和CliID保存认证信息。更甚者说,即使是UDIDx被误用为UDID,导致无法创建不同的节点链表,也可以在该节点链表中结合IP和CliID保存认证信息,以通过CliID进行APP区分。需要指出的是,一般情况下,同一电子设备中不同APP,会使用不同的UDIDx进行标识。
如图16b所示,在认证绑定流程中,针对远场通信认证,IOT设备可以将云端设备标识(ClouddevID)作为报文的传输标识。与不同APP进行认证绑定时,云端根据不同的APP为IOT设备分配不同的ClouddevID。在认证绑定流程中,APP与IOT的交互报文中携带ClouddevID,进而IOT设备可以根据ClouddevID在传输层面(或称在网络层面)对发起认证绑定的APP进行区分。
继续参照图16b,在认证绑定流程中,针对远场通信认证,IOT设备可以将ClouddevID和CliID作为报文的认证标识,也可以理解为保存秘钥信息的标识。不同对端APP对应的ClouddevID不同,为了与近场通信逻辑保持一致,本实施例中可以结合ClouddevID和CliID保存认证信息。需要指出的是,APP与IOT设备首次认证绑定是需要在近场实现的,所以IOT设备侧已存在与APP的CliID对应的节点链表。
由此,无论APP是基于近场通信与IOT设备进行认证绑定,还是基于远场通信与IOT设备进行认证绑定,不同的APP均能与IOT设备进行独立的绑定认证,生成与不同APP分别对应的数据加密秘钥,以通过不同的数据加密秘钥与不同的APP进行认证绑定阶段的信息交互。
如图16c所示,在加密通道建立及加密数据传输流程中,针对近场通信,IOT设备可以将IP和端口(Port)作为报文的传输标识。不同对端APP使用的端口号不同,进而IOT设备可以根据IP和Port在传输层面(或称在网络层面)对发起认证绑定的APP进行区分。
继续参照图16c,在加密通道建立及加密数据传输流程中,针对近场通信,IOT设备可以将UDIDx、IP和CliID作为解密通道标识。不同对端APP对应的UDIDx不同,即使不同对端APP的IP相同,CliID也不同。进而,IOT设备可以结合IP和CliID在依据UDIDx创建的节点链表中查找匹配的数据加密秘钥来进行通道数据的加解密操作。这样,针对多个对端APP,IOT设备结合不同的(IP,CliID)查找不同的数据加密秘钥,即可实现相互独立的通道数据加解密。
如图16c所示,在加密通道建立及加密数据传输流程中,针对远场通信,IOT设备可以将ClouddevID作为报文的传输标识。与不同APP进行认证绑定时,云端根据不同的APP为IOT设备分配不同的ClouddevID。进而,IOT设备可以根据ClouddevID在传输层面(或称在网络层面)对发起认证绑定的APP进行区分。
继续参照图16c,在加密通道建立及加密数据传输流程中,针对远场通信,IOT设备可以将ClouddevID和CliID作为解密通道标识。不同对端APP对应的ClouddevID不同,CliID也不同。进而,IOT设备可以结合ClouddevID和CliID在依据UDIDx创建的节点链表中查找匹配的数据加密秘钥来进行通道数据的加解密操作。这样,针对多个对端APP,IOT设备结合不同的(ClouddevID,CliID)查找不同的数据加密秘钥,即可实现相互独立的通道数据加解密。
由此,在加密通道建立及加密数据传输流程中,无论APP是基于近场通信与IOT设备进行交互,还是基于远场通信与IOT设备进行交互,针对不同的APP,IOT设备均能使用彼此独立的数据加密秘钥进行通道加解密和加解密数据的传输。
综上所述,无论是认证绑定流程,还是加密通道建立及加密数据传输流程,本实施例通过调整传输标识和认证标识,保证了针对不同APP的认证绑定流程彼此独立且互不干扰,也保证了针对不同APP的加密通道建立及加密数据传输流程彼此独立且互不干扰。
接续前述平板和台灯联动以实现协同工作方法的场景,下述以“教育APP”和“台灯管理应用”分别与台灯进行认证绑定流程,以及加密通道建立及加密数据传输流程,进行详细说明。
需要指出的是,为了与台灯侧的设备互联服务(运行于IOT设备侧)适配,与台灯进行认证绑定的平板侧应用程序需要适配与设备互联服务匹配的传输管理服务(运行于中心侧设备)。也即,与台灯进行认证绑定的平板侧应用程序需要搭载传输管理服务。
如图17所示为平板侧APP与台灯进行认证绑定流程涉及的模块交互示意图。如图17所示,认证绑定流程涉及阶段可以包括:请求PIN(Personal Identification Number,个人身份识别码)码阶段、初始化PAKE(基于口令的认证密钥协商)认证阶段、PAKE认证阶段、组网信息交换阶段、结束PAKE认证阶段。
需要指出是,在上述各个阶段中,平板与台灯的交互报文中均需要携带CliID,以使台灯可以基于CliID识别到对端APP。关于UDIDx、IP和Port,或者关于ClouddevID,可以视平板和台灯的通信模式而定。其中,UDIDx的携带情况可以同已有技术中UDID的携带情况,本实施例对此不做限定。
其中,除首次认证绑定需要基于近场通信实现之外,在认证绑定流程中,平板和台灯可以进行近场通信或远场通信。近场通信可以通过路由器等设备完成设备间信息交互,远场通信可以通过服务器完成设备间信息交互。示例性的,平板和台灯可以基于CoAP(Constrained Application Protocol)协议或蓝牙协议等近场设备通信协议实现近场通信,也可以基于MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)协议等远场设备通信协议实现远场通信。
如图17所示,执行认证绑定流程,台灯侧设备互联服务涉及的模块包括但不限于同一连接模块、统一认证模块、统一组网模块和设备安全模块。其中,设备互联服务的层级高于通信互联模型。在设备互联服务中,同一连接模块的层级相对低于统一认证模块和统一组网模块,设备安全模块的层级也相对低于统一认证模块和统一组网模块。
(1)请求PIN码阶段
参照图17,响应于用户在平板APP界面上执行添加设备的操作,平板APP向台灯发送PIN码请求。示例性的,PIN码请求可以是通过用户对台灯的扫码操作触发的。其中,PIN码请求中包括但不限于请求内容和APP的CliID。其中,PIN码请求首先被传递到统一连接模块,经统一连接模块传递到统一认证模块。统一任务模块在设备适配模块中获取到PIN码,并通过统一连接模块将返回信息发送至平板APP侧。相应的,PIN码请求成功报文中携带但不限于APP的CliID和PIN码,以使该响应报文能够成功返回至与该CliID对应的APP。
示例性的,假设该APP为教育APP,假设其CliID为CliID1,则PIN码请求携带的CliID值为CliID1。统一认证模块解析到CliID1,并在设备适配模块中获取到PIN码1,作为与教育APP对应的PIN码,也即与CliID1对应的PIN码。
类似的,假设该APP为台灯管理应用,假设其CliID为CliID2,则PIN码请求携带的CliID值为CliID2。统一认证模块解析到CliID2,并在设备适配模块中获取到PIN码2,作为与教育APP对应的PIN码,也即与CliID2对应的PIN码。
(2)初始化PAKE认证阶段
参照图17,平板中APP接收到PIN码请求成功报文后,触发初始化PAKE认证流程。其中,平板中APP向台灯发送初始化PAKE认证请求,包括但不限于CliID、UDIDx、IP和Port。初始化PAKE认证请求首先被传输至统一连接模块,统一连接模块解析到IP和Port,确定当前为近场通信。在统一连接模块将初始化PAKE认证请求继续向上传递至统一认证模式时,同时将IP和Port作为APP的传输标识上报给统一认证模式,统一认证模式继续解析到UDIDx、CliID以及请求内容后,根据UDIDx创建与APP对应的节点链表,并将IP、Port以及CliID对应存储与该节点链表中,以及将PIN码发送至设备安全模块,以使设备安全模块基于PIN码进行PAKE认证初始化流程。
其中,IP和Port作为APP的传输标识,IP和CliID作为节点链表中APP的认证标识。
在设备模块初始化PAKE认证成功后,统一认证模块指示统一联网模块将认证句柄保存到相应的节点链表中,并接收统一模块的返回信息。该返回信息包括但不限于保存成功标识。其中,句柄(Handle)是一个是用来标识对象或者项目的标识符,可以用来描述窗体、文件等。在本实施例中,认证句柄可以用户标识保存认证信息的地址,用于获取秘钥协商的全部安全数据。例如,认证句柄用于获取秘钥协商过程中的相应公钥信息和必要的加密元素会话秘钥。在初始化PAKE认证成功后,初始化PAKE认证成功报文通过统一连接模块反馈至平板侧相应的APP。其中,初始化PAKE认证成功报文中携带但不限于CliID和初始化认证成功标识。
接续前示例,假设该APP为教育APP,其发送的初始化PAKE认证请求,包括但不限于CliID1、UDIDx1、IP和Port1。统一认证模块解析到UDIDx1后,根据UDIDx1创建节点链表1,并将CliID1、IP、Port1、认证句柄1存储于节点链表1中。其中,IP和Port1作为教育APP的传输标识,IP和CliID1作为教育APP的认证标识。
接续前示例,假设该APP为台灯管理应用,其发送的初始化PAKE认证请求,包括但不限于CliID2、UDIDx2、IP和Port2。统一认证模块解析到UDIDx2后,根据UDIDx1创建节点链表2,并将CliID2、IP、Port2、认证句柄2存储于节点链表2中。其中,IP和Port2作为台灯管理应用的传输标识,IP和CliID1作为台灯管理应用的认证标识。
(3)PAKE认证阶段
参照图17,平板中APP接收到初始化PAKE认证成功报文后,触发PAKE认证流程。其中,平板中APP向台灯发送PAKE认证请求,包括但不限于CliID、IP、Port和请求内容。PAKE认证请求首先被传输至统一连接模块,统一连接模块解析到IP和Port,并在将PAKE认证请求继续向上传递至统一认证模式时,同时将IP和Port作为APP的传输标识上报给统一认证模块,以使统一认证模式基于传输标识(IP,Port)识别到相应的UDIDx,进而指示统一组网模块在UDIDx对应的节点链表基于认证标识(IP,CliID)查询到认证句柄。统一认证模块将认证句柄发送至设备管理模块,以使设备安全模块执行PAKE认证操作,基于PIN码计算出数据加密秘钥,并返回PAKE认证成功标识及认证信息(包括数据加密秘钥)。进而,统一认证模块可以将数据加密秘钥的地址保存到UDIDx对应的节点链表中,接收返回值。其中,返回值包括但不限于挑战值等。进而,PAKE认证成功报文,经由统一连接模块返回至平板APP侧。其中,PAKE认证成功报文携带但不限于CliID和当前认证执行成功标识等。
其中,PAKE认证是基于PAKE协议实现的,PAKE协议用于数据加密密钥的协商,基于该数据加密秘钥,双方可以安全地交换各自经过数据加密秘钥加密后的交互报文信息。关于PAKE流程未尽详细解释之处可以参照已有技术,在此不再赘述。
需要指出是,在PAKE认证阶段,平板侧也会基于台灯的PIN码计算得到与台灯侧相同的数据加密秘钥。
接续前示例,假设该APP为教育APP,其发送的PAKE认证请求,包括但不限于CliID1、IP、Port1和请求内容。统一认证模块根据IP、Port1确定匹配的UDIDx1,进而可以根据UDIDx1确定节点链表,以在链表中基于认证标识(IP,CliID1)获取到相应的认证句柄1,触发与教育APP对应的PAKE认证流程,通过设备安全模块基于PIN码计算出数据加密秘钥1。
接续前示例,假设该APP为台灯管理应用,其发送的PAKE认证请求,包括但不限于CliID2、IP、Port2和请求内容。统一认证模块根据IP、Port2确定匹配的UDIDx2,进而可以根据UDIDx2确定节点链表,以在链表中基于认证标识(IP,CliID2)获取到相应的认证句柄2,触发与台灯管理应用对应的PAKE认证流程,通过设备安全模块基于PIN码协商生成数据加密秘钥2。
(4)组网信息交换阶段
参照图17,平板中APP接收到PAKE认证成功报文后,触发认证绑定阶段的组网信息交换流程。其中,平板中APP向台灯发送组网信息交换请求,包括但不限于CliID、IP、Port和本端组网信息密文。其中,本端组网信息包括但不限于设备名称、设备类型数据加密秘钥等。组网信息交换请求首先被传输至统一连接模块,统一连接模块解析到IP和Port,并在将组网信息交换请求向上传递至统一认证模式时,同时将IP和Port作为APP的传输标识上报给统一认证模块,以使统一认证模式基于传输标识(IP,Port)识别到相应的UDIDx,进而指示统一组网模块在UDIDx对应的节点链表基于认证标识(IP,CliID)查询到数据加密秘钥的地址,以根据该地址获取到数据加密秘钥。进而,统一认证模块指示设备安全模块根据数据加密秘钥对对端组网信息进行解密。相应的,统一认证模块在统一组网中获取本端组网信息,本端组网信息包括但不限于设备名称、设备类型数据等,并指示设备安全模块基于数据加密秘钥对本端组网信息进行加密,经由统一连接模块将交互组网信息密文通过组网信息交换响应反馈至平板侧APP。其中,向APP反馈的组网信息交换响应包括但不限于CliID和本端组网信息密文。
接续前示例,假设该APP为教育APP,其发送的组网信息交换请求,包括但不限于CliID1、IP、Port1和本端组网信息密文。统一认证模块根据IP、Port1确定匹配的UDIDx1,进而可以根据UDIDx1确定节点链表,以在链表中基于认证标识(IP,CliID1)获取到数据加密秘钥1的地址,进而基于该地址获取到数据加密秘钥1,使用数据加密秘钥1对接收到的组网信息密文进行解密,得到与教育APP对应的数据加密秘钥加密的对端组网信息明文。进而,台灯侧将其交换组网信息基于数据加密秘钥1进行加密后,返回至平板教育APP中。其中,返回的组网信息交换响应包括但不限于CliID1和本端组网信息密文。
接续前示例,假设该APP为台灯管理应用,其发送的组网信息交换请求,包括但不限于CliID2、IP、Port2和请求内容。其发送的组网信息交换请求,包括但不限于CliID2、IP、Port2和本端组网信息密文。统一认证模块根据IP、Port2确定匹配的UDIDx2,进而可以根据UDIDx2确定节点链表,以在链表中基于认证标识(IP,CliID2)获取到数据加密秘钥2的地址,进而基于该地址获取到数据加密秘钥2,使用数据加密秘钥2对接收到的组网信息密文进行解密,得到与台灯管理应用对应的数据加密秘钥加密的对端组网信息明文。进而,台灯侧将其交换组网信息基于数据加密秘钥2进行加密后,返回至平板台灯管理应用中。其中,返回的组网信息交换响应包括但不限于CliID2和本端组网信息密文。
另外,需要指出的是,为了解决平板中同一个APP多次与同一个台灯进行认证绑定的问题,在还可以设置秘钥索引标识(keyindex)。其中,秘钥索引标识同匹配的数据加密秘钥地址一起被存储于相应的链表中,同时秘钥索引标识被返回至平板APP侧,以使平板APP在加密通道建立及加密数据传输流程,可以将keyindex和CliID一同发送至台灯侧。
(5)结束PAKE认证阶段
参照图17,平板中APP接收到组网信息交换响应报文后,触发结束PAKE认证流程。其中,平板中APP向台灯发送结束PAKE认证请求,包括但不限于CliID、IP、Port和请求内容。结束PAKE认证请求首先被传输至统一连接模块,统一连接模块解析到IP和Port,并在将结束PAKE认证请求继续向上传递至统一认证模式时,同时将IP和Port作为APP的传输标识上报给统一认证模块,以使统一认证模式基于传输标识(IP,Port)识别到相应的UDIDx,进而指示统一组网模块在UDIDx对应的节点链表中基于认证标识(IP,CliID)查询到认证句柄。统一认证模块将结束PAKE认证指示发送至设备管理模块,并接收到设备管理模块返回的结束成功标识时,指示统一组网模块销毁认证句柄,并在接收到统一组网模块反馈的销毁成功标识时,生成结束PAKE认证成功响应经由统一连接模块反馈给平板侧APP。其中,返回的结束PAKE认证成功响应包括但不限于CliID和结束成功标识。
接续前示例,假设该APP为教育APP,其发送的结束PAKE认证请求,包括但不限于CliID1、IP、Port1和请求内容。统一认证模块根据IP、Port1确定匹配的UDIDx1,进而可以根据UDIDx1确定节点链表,以在链表中基于认证标识(IP,CliID1)获取到相应的认证句柄1,销毁认证句柄1,结束PAKE认证,也即结束教育APP与台灯的认证绑定流程。至此,教育APP与台灯完成了认证绑定。
接续前示例,假设该APP为台灯管理应用,其发送的结束PAKE认证请求,包括但不限于CliID2、IP、Port2和请求内容。统一认证模块根据IP、Port2确定匹配的UDIDx2,进而可以根据UDIDx2确定节点链表,以在链表中基于认证标识(IP,CliID2)获取到相应的认证句柄2,销毁认证句柄2,结束PAKE认证,也即结束台灯管理应用与台灯的认证绑定流程。至此,台灯管理应用与台灯完成了认证绑定。
需要指出的是,在APP与台灯基于近场通信首先完成认证绑定时,会通过APP自动触发台灯向云服务器的注册流程,以使云服务器为台灯分配ClouddevID。进而,APP会将该ClouddevID发送至台灯侧。其中,发送报文中可以包括但不限于CliID、IP、Port和ClouddevID。台灯侧统一连接模块解析到IP和Port,并在将发送报文继续向上传递至统一认证模式时,同时将IP和Port作为APP的传输标识上报给统一认证模块,以使统一认证模式基于传输标识(IP,Port)识别到相应的UDIDx,进而指示统一组网模块在UDIDx对应的节点链表中添加解析到的ClouddevID。
接续前示例,教育APP与台灯完成认证绑定之后,台灯通过教育APP向云服务器注册,云服务器为台灯分配ClouddevID1,通过教育APP返回至台灯侧。进而,台灯侧可以基于报文中携带的IP、Port1确定匹配的UDIDx1,进而可以根据UDIDx1确定节点链表,以将解析到的ClouddevID1存储于UDIDx1对应的节点链表中。
接续前示例,台灯管理应用与台灯完成认证绑定之后,台灯通过台灯管理应用向云服务器注册,云服务器为台灯分配ClouddevID2,通过教育APP返回至台灯侧。进而,台灯侧可以基于报文中携带的IP、Port2确定匹配的UDIDx2,进而可以根据UDIDx2确定节点链表,以将解析到的ClouddevID2存储于UDIDx2对应的节点链表中。
上述流程中未尽详细解释之处可以参照前文以及已有技术,在此不再赘述。
这样,不同的APP均能与IOT设备进行独立的绑定认证,不会存在异步通信而导致的冲突。
上述流程中以近场通信为例进行解释说明,远场通信也是类似的,指示报文携带的标识不同,为ClouddevID和CliID。其中,传输标识为ClouddevID,在链表中的认证标识为ClouddevID和CliID。关于基于远场通信的认证绑定流程可以参照基于近场通信的认证绑定流程,在此不再赘述。
如图18所示为平板侧APP与台灯进行加密通道建立及加密数据传输流程涉及的模块交互示意图。该流程可以划分为加密通道建立阶段和加密数据传输阶段。
其中,在加密通道建立及加密数据传输流程中,平板和台灯可以进行近场通信或远场通信。示例性的,平板和台灯可以基于CoAP协议或蓝牙协议等近场设备通信协议实现近场通信,也可以基于MQTT协议等远场设备通信协议实现远场通信。
需要注意的是,在加密通道建立及加密数据传输流程中,平板和台灯的通信方式不是固定的,可以动态切换。例如用户在公司通过手机控制家里的IOT设备时,手机和IOT设备进行远场通信,采用远场设备通信协议。如果用户回到家中,手机和IOT设备都接入到了家庭路由器网络中,此时手机和IOT设备进行近场通信,采用近场设备通信协议。
如图18所示,执行加密通道建立阶段和加密数据传输阶段,台灯侧设备互联服务涉及的模块包括但不限于同一连接模块、统一传输模块、统一管理模块、设备安全模块和加密通道会话管理模块。其中,设备互联服务的层级高于通信互联模型。在设备互联服务中,同一连接模块的层级相对低于统一传输模块和统一管理模块,设备安全模块的层级也相对低于统一传输模块和统一管理模块。
(1)加密通道建立阶段
如图18所示,在执行加密通道建立阶段之前,台灯需要初始化。示例性的,台灯上电后进行初始化流程。关于台灯的初始化流程可以参见前文,在此不再赘述。
继续参照图18,响应于用户控制操作,平板APP发起加密通道打开请求,触发加密通道建立流程。示例性的,用户控制操作可以是用户在APP界面上执行的用于对台灯进行控制的操作,例如开启、关闭、调整灯光强度等。
其中,加密通道打开请求包括但不限于CliID、keyindex、IP、Port、通道标识(ID)和请求内容。加密通道打开请求首先被传输至统一连接模块,统一连接模块解析到IP和Port,并在将加密通道打开请求继续向上传递至统一传输模块时,同时将IP和Port作为APP的传输标识上报给统一传输模块。统一传输模块基于传输标识(IP,Port)识别到相应的UDIDx,并解析到(CliID,keyindex),以指示统一管理模块在UDIDx对应的节点链表中基于认证标识(IP,CliID,keyindex)查询到数据加密秘钥的地址,进而可以基于数据加密秘钥地址获取到数据加密秘钥,并向统一连接模块返回查到数据加密秘钥的指示。进而,统一连接模块可以将密文分段传输至设备安全模块进行解密,以使设备安全模块将相应的明文分段返回至统一连接模块。当所有密文均已解密成功之后,统一连接模块将明文组成相应的指令(即加密通道打开指令)发送至加密通道会话管理模块,以通过加密通道会话管理模块执行相应的加密通道建立操作,并向统一连接模块返回通道建立结果,以及通过统一传输模块将通道标识信息发送至统一连接模块。进而,统一连接模块将接收到的返回信息发送至设备安全模块进行加密,设备安全模块依旧是根据在UDIDx对应的节点链表中基于认证标识(IP,CliID,keyindex)查询到数据加密秘钥的地址,获取数据加密秘钥,并对返回信息进行加密得到密文返给统一连接模块。这样,统一连接模块即可根据明文的通道标识信息以及密文信息生成加密通道信息反馈给平板APP侧。其中,反馈的加密通道信息中至少携带CliID,keyindex,通道标识信息以及通道建立结果。
其中,统一连接模块还会解析加密通道打开请求中携带的通道标识,如果根据该通道标识确定响应的加密通道存在,则直接向平板APP侧返回加密通道信息,上述流程也就无需再执行。
接续前示例,教育APP与台灯完成认证绑定之后,用户在教育APP界面上执行对台灯的控制操作,以触发教育APP生成加密通道打开请求,并发送至台灯侧。其中,加密通道打开请求中包括但不限于CliID1、IP、Port1、通道ID1和请求内容。如果与通道ID1对应的加密通道不存在,则统一传输模块可以基于统一连接模块上报的IP、Port1确定匹配的UDIDx1,进而可以根据UDIDx1确定节点链表,以在该链表中基于认证标识(IP,CliID1,keyindex1)查询到数据加密秘钥1的地址,进而加密通道打开请求中的密文可以基于获取到的数据加密秘钥1进行解密。相应的,台灯侧返回给APP的加密通道信息中的密文也是根据在UDIDx1对应的链表中基于认证标识(IP,CliID1,keyindex1)查询到数据加密秘钥1地址,并基于该地址获取到数据加密秘钥1后进行加密的。
接续前示例,台灯管理应用与台灯完成认证绑定之后,用户在台灯管理应用界面上执行对台灯的控制操作,以触发台灯管理应用生成加密通道打开请求,并发送至台灯侧。其中,加密通道打开请求中包括但不限于CliID1、IP、Port2、通道ID2和请求内容。如果与通道ID2对应的加密通道不存在,则统一传输模块可以基于统一连接模块上报的IP、Port2确定匹配的UDIDx2,进而可以根据UDIDx2确定节点链表,以在该链表中基于认证标识(IP,CliID2,keyindex2)查询到数据加密秘钥2的地址,进而加密通道打开请求中的密文可以基于获取到的数据加密秘钥2进行解密。相应的,台灯侧返回给APP的加密通道信息中的密文也是根据在UDIDx2对应的链表中基于(IP,CliID2,keyindex2)查询到数据加密秘钥2地址,并基于该地址获取到数据加密秘钥2后进行加密的。
这样,不同的APP均能与IOT设备进行独立的加密通道建立,不会存在异步通信而导致的冲突。
(2)加密数据传输阶段
如18所示,响应于用户控制操作,平板APP接收到加密通道信息之后,确定加密通道建立成功,则触发在该加密通道中进行加密数据传输流程。由于加密通道建立流程是用户的控制操作触发的,则在此阶段在加密通道中传输控制指令。
其中,控制指令报文包括但不限于CliID、keyindex、IP、Port和指令内容。控制指令首先被传输至统一连接模块,统一连接模块解析到IP和Port,并在将控制指令报文继续向上传递至统一传输模块时,同时将IP和Port作为APP的传输标识上报给统一传输模块。统一传输模块基于传输标识(IP,Port)识别到相应的UDIDx,并解析到(CliID,keyindex),以指示统一管理模块在UDIDx对应的节点链表中基于认证标识(IP,CliID,keyindex)查询到数据加密秘钥的地址,进而可以基于数据加密秘钥地址获取到数据加密秘钥,并向统一连接模块返回查到秘钥的指示。进而,统一连接模块可以将密文分段传输至设备安全模块进行解密,以使设备安全模块将相应的明文分段返回至统一连接模块。当所有密文均已解密成功之后,统一连接模块将明文组成相应的指令(即控制指令)发送至加密通道会话管理模块,以将控制指令回调到设备适配模块,通过设备适配模块对台灯执行与控制指令对应的设置。设备适配模块执行操作后的返回信息(例如设置成功指示)会被回调至加密通道会话管理模块,并通过加密通道会话管理模块向统一连接模块返回信息。进而,统一连接模块将接收到的返回信息发送至设备安全模块进行加密,设备安全模块依旧是根据在UDIDx对应的节点链表中基于认证标识(IP,CliID,keyindex)查询到数据加密秘钥的地址,获取数据加密秘钥,并对返回信息进行加密得到密文返给统一连接模块。这样,统一连接模块即可根据统一传输模块反馈的明文(CliID,keyindex)以及密文信息生成反馈报文给平板APP侧。其中,反馈报文中至少携带CliID,keyindex以及设置成功标识。当平板APP侧根据反馈报文解析到反馈信息之后,即可进行相应的界面显示。示例性的。假设控制指令为调整灯光强度,则APP界面上灯光强度指示标识的位置可以相应的移动。
接续前示例,教育APP接收到加密通道信息之后,确定加密通道建立成功,则触发在该加密通道中进行加密数据传输流程。教育APP生成控制指令报文,并发送至台灯侧。其中,控制指令报文中包括但不限于CliID1、IP、Port1和指令内容。在台灯侧,统一传输模块可以根据UDIDx1确定节点链表,以在该链表中基于认证标识(IP,CliID1,keyindex1)查询到数据加密秘钥1的地址,进而控制指令报文中的密文可以基于获取到的数据加密秘钥1进行解密。相应的,台灯侧返回给APP的反馈报文中的密文也是根据在UDIDx1对应的链表中基于认证标识(IP,CliID1,keyindex1)查询到数据加密秘钥1地址,并基于该地址获取到数据加密秘钥1后进行加密的。
接续前示例,台灯管理应用接收到加密通道信息之后,确定加密通道建立成功,则触发在该加密通道中进行加密数据传输流程。台灯管理应用生成控制指令报文,并发送至台灯侧。其中,控制指令报文中包括但不限于CliID2、IP、Port2和指令内容。在台灯侧,统一传输模块可以根据UDIDx2确定节点链表,以在该链表中基于认证标识(IP,CliID2,keyindex2)查询到数据加密秘钥2的地址,进而控制指令报文中的密文可以基于获取到的数据加密秘钥2进行解密。相应的,台灯侧返回给APP的反馈报文中的密文也是根据在UDIDx1对应的链表中基于认证标识(IP,CliID2,keyindex2)查询到数据加密秘钥2地址,并基于该地址获取到数据加密秘钥2后进行加密的。
这样,不同的APP均能与IOT设备进行安全且独立的加密通道数据传输,不会存在异步通信而导致的冲突。
本实施例提供的方案,也适用于多个电子设备中终端APP去控制单个IOT设备或者多个IOT设备的场景。无论是一个电子设备上的多个终端APP,还是多个电子设备上的终端APP,与一个或多个IOT设备进行认证绑定时,均各自独立执行相应的认证绑定流程,针对多个通信加密通道也不会出现秘钥冲突问题,以此达到了多协议多通道独立安全通信的效果。
本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的协同工作方法或通信方法。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的协同工作方法或通信方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的协同工作方法或通信方法。
其中,本实施例提供的电子设备(如平板、手机、IOT设备等)、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (28)
1.一种通信方法,其特征在于,应用于电子设备中,包括:
响应于第一操作,向物联网设备发送第一报文,所述第一报文中携带第一应用的用户标识;所述第一报文用于所述电子设备中的所述第一应用与所述物联网设备进行认证绑定;
在所述第一应用与所述物联网设备完成认证绑定之后,响应于第二操作,向所述物联网设备发送第二报文,所述第二报文中携带第二应用的用户标识;所述第二报文用于所述电子设备中的所述第二应用与所述物联网设备进行认证绑定;
其中,所述第一应用和所述第二应用不同,所述第一应用的用户标识和所述第二应用的用户标识不同。
2.根据权利要求1所述的方法,其特征在于,在所述第一应用与所述物联网设备完成认证绑定之后,还包括:
响应于第三操作,向所述物联网设备发送第三报文,所述第三报文中携带所述第一应用的用户标识;所述第三报文用于所述电子设备与所述物联网设备之间建立第一加密通道,所述第一加密通道用于所述第一应用与所述物联网设备之间进行数据加密传输;
在所述第二应用与所述物联网设备完成认证绑定之后,还包括:
响应于第四操作,向所述物联网设备发送第四报文,所述第四报文中携带所述第二应用的用户标识;所述第四报文用于所述电子设备与所述物联网设备之间建立第二加密通道,所述第二加密通道用于所述第二应用与所述物联网设备之间进行数据加密传输。
3.根据权利要求1或2所述的方法,其特征在于,所述电子设备和所述物联网设备之间的通信方式为近场通信;
第一报文、第三报文中还携带所述第一应用的设备进程标识;第二报文、第四报文中还携带所述第二应用的设备进程标识;
其中,所述第一应用的设备进程标识与所述第二应用的设备进程标识不同,所述设备进程标识包括应用所在的设备标识和进程标识。
4.根据权利要求3所述的方法,其特征在于,所述第一报文和所述第四报文中还携带所述电子设备的IP地址和第一端口号,所述第二报文和所述第四报文中还携带所述电子设备的IP地址和第二端口号;
其中,所述第一端口号与所述第二端口号不同;
所述第一应用的用户标识、所述第一应用的设备进程标识和所述IP地址,用于所述物联网设备查询与所述第一应用对应的认证信息;
所述第二应用的用户标识、所述第二应用的设备进程标识和所述IP地址,用于所述物联网设备查询与所述第二应用对应的认证信息。
5.根据权利要求1或2所述的方法,其特征在于,所述电子设备和所述物联网设备之间的通信方式为远场通信;
第一报文、第三报文中还携带第一云端设备标识,第二报文、第四报文中还携带第二云端设备标识;
其中,所述第一应用的用户标识和所述第一云端设备标识,用于所述物联网设备查询与所述第一应用对应的认证信息;
所述第二应用的用户标识和所述第二云端设备标识,用于所述物联网设备查询与所述第二应用对应的认证信息。
6.根据权利要求1所述的方法,其特征在于,所述报文包括头部部分和数据部分;所述用户标识填充于所述数据部分中头部的预留字段中。
7.根据权利要求1所述的方法,其特征在于,所述第一应用和所述第二应用的信息无法共享。
8.一种通信方法,其特征在于,应用于物联网设备中,包括:
接收到电子设备发送的第一报文,所述第一报文中携带第一应用的用户标识;
根据所述第一报文,与所述电子设备中的所述第一应用进行认证绑定;
在与所述第一应用完成认证绑定之后,接收到所述电子设备发送的第二报文,所述第二报文中携带第二应用的用户标识;
根据所述第二报文,与所述电子设备中的所述第二应用进行认证绑定;
其中,所述第一应用和所述第二应用不同,所述第一应用的用户标识和所述第二应用的用户标识不同。
9.根据权利要求8所述的方法,其特征在于,在与所述第一应用完成认证绑定之后,还包括:
接收所述电子设备发送的第三报文,所述第三报文中携带所述第一应用的用户标识;
根据所述第三报文,与所述电子设备之间建立第一加密通道,所述第一加密通道用于所述第一应用与所述物联网设备之间进行数据加密传输;
在与所述第二应用完成认证绑定之后,还包括:
接收所述电子设备发送的第四报文,所述第四报文中携带所述第二应用的用户标识;
根据所述第四报文,与所述电子设备之间建立第二加密通道,所述第二加密通道用于所述第二应用与所述物联网设备之间进行数据加密传输。
10.根据权利要求8或9所述的方法,其特征在于,所述电子设备和所述物联网设备之间的通信方式为近场通信;
第一报文、第三报文中还携带所述第一应用的设备进程标识;第二报文、第四报文中还携带所述第二应用的设备进程标识;其中,所述第一应用的设备进程标识与所述第二应用的设备进程标识不同,所述设备进程标识包括应用所在的设备标识和进程标识。
11.根据权利要求10所述的方法,其特征在于,所述根据所述第一报文,与所述电子设备中的所述第一应用进行认证绑定,包括:
根据所述第一应用的设备进程标识创建与所述第一应用对应的第一节点链表,将所述第一应用的用户标识存储于所述第一节点链表中;
所述根据所述第二报文,与所述电子设备中的所述第二应用进行认证绑定,包括:
根据所述第二应用的设备进程标识创建与所述第二应用对应的第二节点链表,将所述第一应用的用户标识存储于所述第二节点链表中。
12.根据权利要求10所述的方法,其特征在于,所述第一报文和所述第三报文中还携带所述电子设备的IP地址和第一端口号,所述第二报文和所述第四报文中还携带所述电子设备的IP地址和第二端口号;
其中,所述第一端口号与所述第二端口号不同。
13.根据权利要求12所述的方法,其特征在于,所述根据所述第三报文,与所述电子设备之间建立第一加密通道时,包括:
根据所述第一应用的用户标识、所述第一应用的设备进程标识和所述IP地址,查询与所述第一应用对应的认证信息;
所述根据所述第四报文,与所述电子设备之间建立第二加密通道时,包括:
根据所述第二应用的用户标识、所述第二应用的设备进程标识和所述IP地址,查询与所述第二应用对应的认证信息。
14.根据权利要求8或9所述的方法,其特征在于,所述电子设备和所述物联网设备之间的通信方式为远场通信;
第一报文、第三报文中还携带第一云端设备标识,第二报文、第四报文中还携带第二云端设备标识;
其中,所述第一云端设备标识为与所述第一应用和所述物联网设备的通信所对应的云端设备标识;所述第二云端设备标识为与所述第二应用和所述物联网设备的通信所对应的云端设备标识。
15.根据权利要求14所述的方法,其特征在于,所述根据所述第三报文,与所述电子设备之间建立第一加密通道时,包括:
根据所述第一应用的用户标识和所述第一云端设备标识,查询与所述第一应用对应的认证信息;
所述根据所述第四报文,与所述电子设备之间建立第二加密通道时,包括:
根据所述第二应用的用户标识和所述第二云端设备标识,查询与所述第二应用对应的认证信息。
16.根据权利要求8所述的方法,其特征在于,所述第一应用和所述第二应用的信息无法共享。
17.一种电子设备,其特征在于,包括:
存储器和处理器,所述存储器与所述处理器耦合;
所述存储器存储有程序指令,当所述程序指令由所述处理器执行时,使得所述电子设备执行权利要求1-7任一项所述的通信方法。
18.一种物联网设备,其特征在于,包括:
摄像头、存储器和处理器,所述存储器与所述处理器耦合,所述摄像头与所述处理器耦合;
所述存储器存储有程序指令,当所述程序指令由所述处理器执行时,使得所述物联网设备执行权利要求8-16任一项所述的通信方法。
19.一种通信系统,其特征在于,包括:电子设备和物联网设备;其中,
所述电子设备,用于响应于第一操作,向物联网设备发送第一报文,所述第一报文中携带第一应用的用户标识;
所述物联网设备,用于根据所述第一报文,与所述电子设备中的所述第一应用进行认证绑定;
所述电子设备,还用于在所述第一应用与所述物联网设备完成认证绑定之后,响应于第二操作,向所述物联网设备发送第二报文,所述第二报文中携带第二应用的用户标识;
所述物联网设备,还用于根据所述第二报文,与所述电子设备中的所述第二应用进行认证绑定;
其中,所述第一应用和所述第二应用不同,所述第一应用的用户标识和所述第二应用的用户标识不同。
20.根据权利要求19所述的系统,其特征在于,
所述电子设备,还用于在所述第一应用与所述物联网设备完成认证绑定之后,响应于第三操作,向所述物联网设备发送第三报文,所述第三报文中携带所述第一应用的用户标识;
所述物联网设备,还用于根据所述第三报文,与所述电子设备之间建立第一加密通道,所述第一加密通道用于所述第一应用与所述物联网设备之间进行数据加密传输;
所述电子设备,还用于在所述第二应用与所述物联网设备完成认证绑定之后,响应于第四操作,向所述物联网设备发送第四报文,所述第四报文中携带所述第二应用的用户标识;
所述物联网设备,还用于根据所述第四报文,与所述电子设备之间建立第二加密通道,所述第二加密通道用于所述第二应用与所述物联网设备之间进行数据加密传输。
21.根据权利要求19所述的系统,其特征在于,所述第一应用和所述第二应用的信息无法共享。
22.根据权利要求19或20所述的系统,其特征在于,所述电子设备和所述物联网设备之间的通信方式为近场通信;
第一报文、第三报文中还携带所述第一应用的设备进程标识;第二报文、第四报文中还携带所述第二应用的设备进程标识;其中,所述第一应用的设备进程标识与所述第二应用的设备进程标识不同,所述设备进程标识包括应用所在的设备标识和进程标识。
23.根据权利要求22所述的系统,其特征在于,
所述物联网设备,还用于根据所述第一应用的设备进程标识创建与所述第一应用对应的第一节点链表,将所述第一应用的用户标识存储于所述第一节点链表中;
所述物联网设备,还用于根据所述第二应用的设备进程标识创建与所述第二应用对应的第二节点链表,将所述第一应用的用户标识存储于所述第二节点链表中。
24.根据权利要求22所述的系统,其特征在于,所述第一报文和所述第三报文中还携带所述电子设备的IP地址和第一端口号,所述第二报文和所述第四报文中还携带所述电子设备的IP地址和第二端口号;
其中,所述第一端口号与所述第二端口号不同。
25.根据权利要求24所述的系统,其特征在于,
所述物联网设备,还用于在所述根据所述第三报文,与所述电子设备之间建立第一加密通道时,根据所述第一应用的用户标识、所述第一应用的设备进程标识和所述IP地址,查询与所述第一应用对应的认证信息;
所述物联网设备,还用于在所述根据所述第四报文,与所述电子设备之间建立第二加密通道时,根据所述第二应用的用户标识、所述第二应用的设备进程标识和所述IP地址,查询与所述第二应用对应的认证信息。
26.根据权利要求19或20所述的系统,其特征在于,所述电子设备和所述物联网设备之间的通信方式为远场通信;
第一报文、第三报文中还携带第一云端设备标识,第二报文、第四报文中还携带第二云端设备标识;
其中,所述第一云端设备标识为与所述第一应用和所述物联网设备的通信所对应的云端设备标识;所述第二云端设备标识为与所述第二应用和所述物联网设备的通信所对应的云端设备标识。
27.根据权利要求26所述的系统,其特征在于,
所述物联网设备,还用于在所述根据所述第三报文,与所述电子设备之间建立第一加密通道时,根据所述第一应用的用户标识和所述第一云端设备标识,查询与所述第一应用对应的认证信息;
所述物联网设备,还用于在所述根据所述第四报文,与所述电子设备之间建立第二加密通道时,根据所述第二应用的用户标识和所述第二云端设备标识,查询与所述第二应用对应的认证信息。
28.一种计算机可读存储介质,包括计算机程序,其特征在于,当所述计算机程序在电子设备上运行时,使得所述电子设备执行权利要求1-7任一项所述的通信方法,或者使得所述电子设备执行权利要求8-16任一项所述的通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311283433.8A CN117440377A (zh) | 2022-07-21 | 2022-07-21 | 通信系统、方法及电子设备 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210872727.3A CN116056076B (zh) | 2022-07-21 | 2022-07-21 | 通信系统、方法及电子设备 |
CN202311283433.8A CN117440377A (zh) | 2022-07-21 | 2022-07-21 | 通信系统、方法及电子设备 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210872727.3A Division CN116056076B (zh) | 2022-07-21 | 2022-07-21 | 通信系统、方法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117440377A true CN117440377A (zh) | 2024-01-23 |
Family
ID=86124406
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210872727.3A Active CN116056076B (zh) | 2022-07-21 | 2022-07-21 | 通信系统、方法及电子设备 |
CN202311283433.8A Pending CN117440377A (zh) | 2022-07-21 | 2022-07-21 | 通信系统、方法及电子设备 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210872727.3A Active CN116056076B (zh) | 2022-07-21 | 2022-07-21 | 通信系统、方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN116056076B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117938553A (zh) * | 2024-03-25 | 2024-04-26 | 四川开物信息技术有限公司 | 一种通信转换系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120284702A1 (en) * | 2011-05-02 | 2012-11-08 | Microsoft Corporation | Binding applications to device capabilities |
EP2831718A4 (en) * | 2012-03-30 | 2015-12-02 | Goldman Sachs & Co | SAFE MOBILE FRAMEWORK |
CN105827683B (zh) * | 2015-09-29 | 2019-01-11 | 维沃移动通信有限公司 | 一种数据同步的方法、服务器及电子设备 |
CN109587016B (zh) * | 2018-11-20 | 2021-08-13 | 广东美的制冷设备有限公司 | 家电绑定系统、方法、移动终端、服务器、家电及介质 |
CN110365704B (zh) * | 2019-07-30 | 2021-01-22 | 广东美的制冷设备有限公司 | 设备绑定方法、装置和电子设备 |
CN113411284B (zh) * | 2020-03-16 | 2023-10-10 | 腾讯科技(深圳)有限公司 | 账号绑定方法、装置、计算机设备和存储介质 |
CN114007202A (zh) * | 2020-07-15 | 2022-02-01 | 青岛海信电子产业控股股份有限公司 | 一种绑定关系的建立方法以及相关设备 |
CN112804102B (zh) * | 2021-01-12 | 2023-05-16 | 北京嘀嘀无限科技发展有限公司 | 设备绑定方法、装置和终端 |
CN113746633B (zh) * | 2021-08-05 | 2023-10-17 | 深圳Tcl新技术有限公司 | 物联网设备绑定方法、装置、系统、云服务器和存储介质 |
CN114125139A (zh) * | 2021-11-18 | 2022-03-01 | 维沃移动通信有限公司 | 信息处理方法和电子设备 |
-
2022
- 2022-07-21 CN CN202210872727.3A patent/CN116056076B/zh active Active
- 2022-07-21 CN CN202311283433.8A patent/CN117440377A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN116056076A (zh) | 2023-05-02 |
CN116056076B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10277641B2 (en) | Proximity session mobility extension | |
EP4130963A1 (en) | Object dragging method and device | |
WO2020155014A1 (zh) | 智能家居设备分享系统、方法及电子设备 | |
EP4224981A1 (en) | Method for using cellular communication function, related apparatus, and system | |
CN106375479B (zh) | 数据共享方法及装置 | |
CN112312226B (zh) | 连麦方法、系统、装置、电子设备及存储介质 | |
CN112527174B (zh) | 一种信息处理方法及电子设备 | |
CN112398855A (zh) | 应用内容跨设备流转方法与装置、电子设备 | |
WO2022063159A1 (zh) | 一种文件传输的方法及相关设备 | |
WO2021218544A1 (zh) | 一种提供无线上网的系统、方法及电子设备 | |
CN115623457A (zh) | 通信方法及电子设备 | |
CN116056076B (zh) | 通信系统、方法及电子设备 | |
WO2022206770A1 (zh) | 一种设备间应用协同工作的方法及设备 | |
CN114217989A (zh) | 设备间的服务调用方法、装置、设备、介质及计算机程序 | |
CN115225753A (zh) | 拍摄方法、相关装置及系统 | |
CN115150213A (zh) | 一种功能迁移方法和装置 | |
CN111130985B (zh) | 关联关系建立方法、装置、终端、服务器及存储介质 | |
CN117478682A (zh) | 建立点对点通道的方法、设备及协同工作系统 | |
CN117499445A (zh) | 协同工作系统、方法及电子设备 | |
CN117499446A (zh) | 协同工作系统、方法及电子设备 | |
CN117472603A (zh) | 数据传输方法、电子设备及协同工作系统 | |
CN117478653A (zh) | 图像数据传输方法、设备及协同工作系统 | |
CN117478654A (zh) | 图像数据传输过程的异常处理方法、设备及协同工作系统 | |
CN117478656A (zh) | 图像数据传输方法、设备及协同工作系统 | |
CN116366957B (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 |