智能家居网关及其管控方法与流程

文档序号:15979324发布日期:2018-11-17 00:08阅读:229来源:国知局

本发明涉及智能家居技术领域,尤其涉及一种智能家居网关及其管控方法。

背景技术

随着物联网的发展,在家居生活的主要场所使用智能家居已渐为普及。智能家居旨在为人们提供更加舒适、便利和高效的家居环境,智能家居从技术上进入了一个相对快速的发展阶段,智能家居的控制协议以及相关技术标准亟待互通和融合。

然而,目前接入同一智能家居环境中的各智能终端,可能分别对应于不同的生产厂家,并采用了zigbee协议、z-wave协议、蓝牙或wifi等不同类型的通信协议,使得各智能终端彼此间的控制协议存在有较大的差异,导致各智能终端在同一智能家居环境中的控制兼容性较差,从而难以实现各智能终端在同一智能家居环境中的统一管控。



技术实现要素:

本发明实施例的目的在于提供一种智能家居网关及其管控方法,用于统一管控各生产厂家不同且采用了不同通信协议的智能终端。

为了实现上述目的,本发明实施例提供如下技术方案:

一种处理器侧的智能家居网关的管控方法,包括:主进程获取每个智能终端所对应的厂家信息,所述厂家信息至少包括厂家代码。主进程创建与各不同的厂家信息对应的子进程,并为每个子进程创建一个通信消息队列。主进程接收云端控制命令,从云端控制命令中识别出待控制智能终端的厂家代码和通信协议,并选定对应厂家信息中厂家代码与待控制智能终端的厂家代码相同的子进程作为目标子进程,将云端控制命令按照待控制智能终端的通信协议写入目标子进程的通信消息队列中。目标子进程从通信消息队列中提取云端控制命令,根据云端控制命令确定与待控制智能终端连接的通信接口,并通过该通信接口对待控制智能终端进行管控。

本发明实施例提供的处理器侧的智能家居网关的管控方法,利用主进程创建与不同的厂家信息相对应的子进程,可以通过每个子进程独立管控与其对应的智能终端,即在主进程从云端控制命令中识别出待控制智能终端的厂家代码和通信协议之后,通过选定对应厂家信息中厂家代码与待控制智能终端的厂家代码相同的子进程作为目标子进程、并将云端控制命令按照待控制智能终端的通信协议写入目标子进程的通信消息队列中的方式,能够使得目标子进程从通信消息队列中提取出云端控制命令,并根据该云端控制命令对待控制智能终端进行独立管控,从而方便智能家居网关对各生产厂家不同且采用不同通信协议的智能终端进行统一管控,同时将智能家居网关复杂多样的终端协议处理过程简单化。由此,本发明实施例提供的处理器侧的智能家居网关的管控方法,能够减少智能家居网关对各不同智能终端进行协议处理时的数据耦合过程,提高了智能家居网关的可扩展性,有利于在同一智能家居环境中横向扩增智能家居设备,并进行智能家居网关后期相应的功能开发及维护。

基于上述处理器侧的智能家居网关的管控方法的技术方案,本发明实施例还提供了一种终端侧的智能家居网关的管控方法;在该方法适用的智能家居网关中:至少一个智能终端与一个通信接口连接,且至少一个通信接口对应一个接口消息队列;而且,各通信接口分别与处理器的通信接口处理模块连接,通信接口处理模块中设有循环缓冲区,循环缓冲区设有与数据帧帧头对应的头指针,以及与头指针对应的尾指针,循环缓冲区的存储长度大于头指针与尾指针之间的最大存储长度。

上述终端侧的智能家居网关的管控方法,包括:智能终端上报数据;通信接口处理模块从与智能终端连接的目标通信接口读取数据,并将数据顺次添加至尾指针所指向的内存位置。当头指针和尾指针之间存储的数据大于或等于一帧数据时,通信接口处理模块从头指针所指向的内存位置开始解析数据帧,并将数据帧添加至与目标通信接口对应的接口消息队列中,以供处理器的应用处理模块从接口消息队列中提取数据。

本发明实施例提供的终端侧的智能家居网关的管控方法,通过在通信接口处理模块中设置包括头指针和尾指针的循环缓冲区,可以将智能终端上报数据的接收流程和处理流程分离开来,即利用通信接口处理模块先将智能终端上报的数据接收在循环缓冲区,并在头指针和尾指针之间存储的数据大于或等于一帧数据之后,再由通信接口处理模块解析数据帧,将解析后的数据帧添加至与目标通信接口对应的接口消息队列中,从而确保智能终端上报数据的读取帧完整,有利于提高数据的处理可靠性,进而避免出现智能终端主动上报数据并发的问题。

基于上述处理器侧和终端侧的智能家居网关的管控方法的技术方案,本发明实施例还提供了一种智能家居网关,用于实施上述实施例中智能家居网关的管控方法。所述智能家居网关包括多个通信接口以及与多个通信接口连接的处理器;其中,每个通信接口用于连接至少一个智能终端;处理器包括应用处理模块,该应用处理模块用于获取与各智能终端对应且至少包括厂家代码的厂家信息,并创建与各不同的厂家信息对应的子进程,为每个子进程创建一个通信消息队列;该应用处理模块还用于接收云端控制命令,从云端控制命令中识别出待控制智能终端的厂家代码和通信协议,选定对应厂家信息中厂家代码与待控制智能终端的厂家代码相同的子进程作为目标子进程,并将云端控制命令按照待控制智能终端的通信协议写入目标子进程的通信消息队列中,以供目标子进程从通信消息队列中提取云端控制命令,根据云端控制命令确定与待控制智能终端连接的通信接口,并通过通信接口对待控制智能终端进行管控。

基于上述处理器侧和终端侧的智能家居网关的管控方法的技术方案,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序;该计算机程序配置为被处理器执行时,能够实现上述实施例所提供的智能家居网关的管控方法的各步骤。

基于上述处理器侧和终端侧的智能家居网关的管控方法的技术方案,本发明实施例还提供了一种计算机设备,该计算机设备包括处理器、存储器、以及存储在存储器上并可在处理器上运行的计算机程序;当该处理器运行上述计算机程序时,能够实现上述实施例所提供的智能家居网关的管控方法的各步骤。

本发明实施例提供的智能家居网关、计算机可读存储介质或者计算机设备用于执行上述实施例所提供的对应的智能家居网关的管控方法,其所能达到的有益效果可参考上述实施例所对应提供的方法中的有益效果,此处不再赘述。

附图说明

此处所说明的附图用来提供对本发明实施例的进一步理解,构成本发明实施例的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明实施例提供的一种智能家居网关的结构示意图;

图2为本发明实施例提供的循环缓冲区的结构示意图;

图3为本发明实施例提供的接口消息队列的数据结构示意图;

图4为本发明实施例提供的云端控制命令的数据结构示意图;

图5为本发明实施例提供的一种智能家居网关的管控方法的流程示意图;

图6为本发明实施例提供的另一种智能家居网关的管控方法的流程示意图;

图7为本发明实施例提供的另一种智能家居网关的结构示意图。

附图标记:

1-智能终端,2-通信接口,3-处理器,

31-应用处理模块,311-主进程,312-子进程,

32-通信接口处理模块,33-循环缓冲区,331-头指针,

332-尾指针,4-存储器,41-通信消息队列,

42-接口消息队列,501-消息类型,502-消息长度,

503-消息体,601-设备类型,602-设备地址,

603-命令数据。

具体实施方式

为便于理解,下面结合说明书附图,对本发明实施例提供的智能家居网关及其管控方法进行详细描述。

相关技术在使用智能家居网关对各生产厂家不同且采用了不同通信协议的智能终端进行统一管控时,通常会利用智能家居网关,将智能家居中最常用的智能终端按照其功能在设备管理控制层重新分类,并按照分类的类别将对应类别中各智能终端的设备类型及其控制方式在设备抽象层进行抽象整合;然后,再将抽象整合后对应的设备数据及控制数据在通信协议层统一封装,以便应用层根据封装后的设备数据及控制数据对各智能终端进行统一管控。

但是,相关技术通过上述纵向分层整合的方式,即在设备管理控制层、设备抽象层以及通信协议层等分别进行数据处理,需要进行大量的数据耦合,容易导致智能家居网关的工作量过大,从而不利于进一步扩展智能终端,以及对扩展的智能终端的控制应用进行程序开发及维护。

为了避免在统一管控各生产厂家不同且采用了不同通信协议的智能终端时出现上述问题,请参阅图1和图2,本发明实施例提供了一种智能家居网关,包括多个通信接口2以及与多个通信接口2连接的处理器3,每个通信接口2连接至少一个智能终端1;其中,处理器3包括与各通信接口2连接的通信接口处理模块32,以及与通信接口处理模块32连接的应用处理模块31。

上述智能终端1为智能家居环境中所使用的智能家居设备,可以是家电、照明开关、插座、门窗或安防监控设备中的各类传感器等。各智能终端1可以采用zigbee协议、z-wave协议、蓝牙、红外或wifi等不同类型的通信协议。

上述通信接口2作为智能家居网关的外围通信接口,可以采用通用串行总线(universalserialbus,简称usb)接口、串行通信接口、串行外设接口(serialperipheralinterface,简称spi)或集成电路总线接口(inter-integratedcircuit,简称iic)等。本实施例提供的智能家居网关可以搭载linux系统,并依据各通信接口2的类型构建出字符设备。

上述应用处理模块31中设有主进程311,通过主进程311可以获取与各智能终端1对应且至少包括厂家代码的厂家信息,并创建与各不同的厂家信息对应的子进程312,以及为每个子进程312创建一个通信消息队列41。当然,上述应用处理模块31通过主进程311还可以接收云端控制命令,从云端控制命令中识别出待控制智能终端的厂家代码和通信协议,选定对应厂家信息中厂家代码与待控制智能终端的厂家代码相同的子进程作为目标子进程,并将云端控制命令按照待控制智能终端的通信协议写入目标子进程的通信消息队列41中,从而供目标子进程从通信消息队列中提取云端控制命令,根据云端控制命令确定与待控制智能终端连接的通信接口,并通过通信接口对待控制智能终端进行管控。

上述一个通信接口2连接至少一个智能终端1,一般可与至少一种通信协议对应。上述应用处理模块31还可以根据各通信接口2以及各厂家信息中的通信协议创建协议配置文件,以便于通信接口处理模块32根据该协议配置文件创建与各通信接口2对应的接口消息队列42。此外,为了确保智能终端1上报的数据能可靠处理,本实施例提供的智能家居网关优选在通信接口处理模块32中设置循环缓冲区33,该循环缓冲区33中设有与数据帧帧头对应的头指针331,以及与头指针331对应的尾指针332;此外,循环缓冲区33的存储长度应大于头指针331与尾指针332之间的最大存储长度。可选的,通信接口处理模块32为通信帧处理模块。

需要补充的是,通信消息队列41和接口消息队列42一般可以存储在处理器3内部的存储空间,或者存储在与通信接口处理模块32及应用处理模块31分别连接的存储器4中。

基于上述实施例提供的智能家居网关,请参阅图1和图5,本发明实施例提供了一种智能家居网关的管控方法,该方法包括:

步骤s1,主进程311获取每个智能终端1所对应的厂家信息,所述厂家信息至少包括厂家代码。

步骤s2,主进程311创建与各不同的厂家信息对应的子进程312,并为每个子进程312创建一个通信消息队列41。

主进程311所获取的各厂家信息分别与各智能终端1对应,通常为不同的厂家信息;当然,也可能出现部分厂家信息相同的情况。主进程311根据各不同的厂家信息创建子进程312,可以确保每个子进程312对应一种厂家信息,且每两个子进程312的厂家信息不同。主进程311为每个子进程312创建一个通信消息队列41,可以通过各通信消息队列41实现对应子进程312与主进程之间的独立通信。

步骤s3,主进程311接收云端控制命令,从云端控制命令中识别出待控制智能终端的厂家代码和通信协议,并选定对应厂家信息中厂家代码与待控制智能终端的厂家代码相同的子进程312作为目标子进程,将云端控制命令按照待控制智能终端的通信协议写入目标子进程的通信消息队列41中。

步骤s4,目标子进程从通信消息队列41中提取云端控制命令,根据云端控制命令确定与待控制智能终端连接的通信接口,并通过该通信接口对待控制智能终端进行管控。

本发明实施例提供的处理器侧的智能家居网关的管控方法,利用主进程311创建与不同的厂家信息相对应的子进程312,可以通过每个子进程312独立管控与其对应的智能终端1,即在主进程311从云端控制命令中识别出待控制智能终端的厂家代码和通信协议之后,通过选定对应厂家信息中厂家代码与待控制智能终端的厂家代码相同的子进程312作为目标子进程、并将云端控制命令按照待控制智能终端的通信协议写入目标子进程的通信消息队列41中的方式,能够使得目标子进程从通信消息队列41中提取出云端控制命令,并根据该云端控制命令对待控制智能终端进行独立管控,从而方便智能家居网关对各生产厂家不同且采用不同通信协议的智能终端进行统一管控,同时将智能家居网关复杂多样的终端协议处理过程简单化。由此,本发明实施例提供的处理器侧的智能家居网关的管控方法,能够减少智能家居网关对各不同智能终端进行协议处理时的数据耦合过程,提高了智能家居网关的可扩展性,有利于在同一智能家居环境中横向扩增智能家居设备,并进行智能家居网关后期相应的功能开发及维护。

可以理解的是,上述主进程311获取的厂家信息中,通常还包括有对应智能终端1所使用的通信协议。主进程311在根据厂家信息创建子进程312时,具体可以通过如下两种方式中的一种进行。第一种,主进程311根据厂家代码创建多个子进程312,各子进程312与各不同的厂家代码一一对应;第二种,主进程311根据厂家代码和通信协议创建多个子进程312,每个子进程312对应一种厂家代码及一种通信协议,且每两个子进程312的厂家代码和/或通信协议不同,这也就是说,不存在厂家代码和通信协议均相同的至少两个子进程312。

当子进程312由主进程311根据厂家代码和通信协议创建时,上述步骤s3中,主进程311选定对应厂家信息中厂家代码与待控制智能终端的厂家代码相同的子进程312作为目标子进程的步骤,还包括:

主进程311选定对应厂家信息中厂家代码与待控制智能终端的厂家代码相同,且对应厂家信息中通信协议与待控制智能终端的通信协议相同的子进程312作为目标子进程。

上述实施例中,云端控制命令的数据结构可以根据实际需要自行设定。本实施例中,可选的,云端控制命令采用如图4所示的数据结构,其包括有设备类型601、设备地址602以及命令数据603;其中,设备类型601中可包含待控智能终端的厂家代码及通信协议,主进程311根据该设备类型601可以识别出待控制智能终端的厂家代码和通信协议,并选定目标子进程,以将设备地址602和命令数据603按照待控制智能终端的通信协议写入目标子进程的通信消息队列41中。

值得一提的是,上述步骤s4中,目标子进程在根据云端控制命令确定与待控制智能终端连接的通信接口2时,可按照如下方式实施:目标子进程根据云端控制命令所包含的待控制智能终端的通信协议的信息,从各通信接口2中选定与待控制智能终端的通信协议对应的通信接口2,并按照待控制智能终端的通信协议将云端控制命令发送至选定的通信接口2。

可选的,目标子进程在按照待控制智能终端的通信协议将云端控制命令发送至选定的通信接口时,目标子进程可以将与选定的通信接口2对应的接口消息队列42作为目标消息队列,并将云端控制命令按照待控制智能终端的通信协议写入目标消息队列中,以确保通信接口处理模块32能够从该目标消息队列中解析云端控制命令至选定的通信接口2。

值得一提的是,上述云端控制命令通常包括有至少两种功能性指令,比如添加指令、删除指令、控制指令中的至少两种;该功能性指令一般通过云端控制命令的命令数据603进行表达。上述步骤s4中,目标子进程从通信消息队列41中提取云端控制命令的过程,对应表现为:目标子进程解码云端控制命令,将云端控制命令中的各功能性指令按照优先级从高到低的顺序分离至优先级队列,并按照优先级队列处理各功能性指令。可选的,添加指令的优先级高于删除指令的优先级,删除指令的优先级高于控制指令的优先级。

本发明实施例提供的智能家居网关的管控方法,利用目标子进程将云端控制命令中的各功能性指令按照优先级从高到低的顺序分离列队,并按照各功能性指令列队后的优先级队列进行处理,能够确保云端控制命令中的各功能性指令被有序执行,从而实现智能家居网关对各智能终端1有序可靠的管控。

基于上述实施例所提供的智能家居网关,请参阅图1、图2和图6,本发明实施例还提供了另一种智能家居网关的管控方法,该方法包括:

步骤s1’,智能终端1上报数据。

各智能终端1可以根据其实际的使用状况主动上报数据,也可以按照其接收的云端控制命令中的数据请求上报数据。

步骤s2’,通信接口处理模块32从与智能终端1连接的目标通信接口读取数据,并将数据顺次添加至尾指针332所指向的内存位置。当头指针331和尾指针332之间存储的数据大于或等于一帧数据时,通信接口处理模块32从头指针331所指向的内存位置开始解析数据帧,并将该数据帧添加至与目标通信接口对应的接口消息队列42中,以供处理器3的应用处理模块31从接口消息队列42中提取数据。

此外,上述通信接口处理模块32在解析处理头指针331和尾指针332之间存储的数据帧之后,可以动态更新头指针331和尾指针332在循环缓冲区33的位置,以便通信接口处理模块32继续根据更新位置后的头指针331解析处理下一个数据帧。

本发明实施例提供的终端侧的智能家居网关的管控方法,通过在通信接口处理模块32中设置包括头指针331和尾指针332的循环缓冲区33,可以将智能终端1上报数据的接收流程和处理流程分离开来,即利用通信接口处理模块32先将智能终端1上报的数据接收在循环缓冲区33,并在头指针331和尾指针332之间存储的数据大于或等于一帧数据之后,再由通信接口处理模块32解析数据帧,将解析后的数据帧添加至与目标通信接口对应的接口消息队列42中,从而确保智能终端1上报数据的读取帧完整,有利于提高数据的处理可靠性,进而避免出现智能终端1主动上报数据并发的问题。

需要补充的是,上述实施例中,接口消息队列42中消息的数据结构可以根据实际需要自行设定。本实施例中,可选的,接口消息队列42中的消息采用如图3所示的数据结构,其包括有消息类型501、消息长度502以及消息体503,消息体503又包括有上报数据的地址、命令及数据。接口消息队列42中的消息可以由对应的子进程312进行提取并处理。对于连接同一个通信接口2且厂家信息不同的各智能终端1,其上报的数据可以根据消息类型501进行识别区分。

为了更清楚地说明上述实施例所提供的智能家居网关的管控方法,下面列举了一种智能家居网关的具体应用以详细说明。

请参阅图7,现有a、b、c三个厂家的五种智能终端,分别如下所示:

第一种智能终端,a厂家的zigbee开关。

第二种智能终端,a厂家的zigbee温湿度传感器。

第三种智能终端,b厂家的rs485开关。

第四种智能终端,c厂家的rs485-pm2.5传感器。

第五种智能终端,c厂家的zigbee调光开关。

上述五种智能终端分别对应两个通信接口,以及四种通信协议。各通信协议如下所示:

第一种,协议编号0001。

第二种,协议编号0002。

第三种,协议编号0003。

第四种,协议编号0004。

本实施例提供的智能家居网关的管控方法具体实施如下:

主进程311根据各智能终端的厂家代码分别创建三个子进程,并对应标注为进程a、进程b和进程c,以利用进程a处理a厂家智能终端的数据,进程b处理b厂家智能终端的数据,进程c处理c厂家智能终端的数据。比如,进程a用于监听消息队列1中消息类型为a的消息,进程b用于监听消息队列2中消息类型为b的消息,进程c用于监听消息队列1和消息队列2中消息类型为c的消息。

主进程311创建消息队列a、消息队列b和消息队列c,分别用于其与对应的进程a、进程b、进程c之间的通信。

主进程311根据各智能终端对应的通信接口以及对应厂家信息中的通信协议创建协议配置文件。通信接口处理模块32根据上述协议配置文件创建两个接口消息队列,并对应标注为消息队列1和消息队列2;其中,消息队列1用于处理zigbee接口21的数据,消息队列2用于处理rs485接口22的数据。

假设目前进程c正在监听消息队列1和消息队列2中消息类型为c的消息,即正在监听c厂家的智能终端,此时若c厂家rs485-pm2.5传感器通过rs485接口上报数据,通信接口处理模块32根据对应的通信协议对接收到的数据进行解析,可以将c厂家rs485-pm2.5传感器的上报数据以如下数据结构写入消息队列2中。

由于编号为0002和编号为0003的通信协议均使用rs485接口,通信接口处理模块32在根据对应的通信协议对c厂家rs485-pm2.5传感器的上报数据进行解析时,一般会根据编号为0002和编号为0003的两个通信协议规则同时对其接收到的数据进行解析,但由于编号为0002的通信协议和编号为0003的通信协议之间存在差异,c厂家rs485-pm2.5传感器的上报数据只能被编号为0003的通信协议解析识别,而不能被编号为0002的通信协议解析识别。

进程c监听到消息队列2中出现了消息类型为c的消息,便可以将该消息即c厂家rs485-pm2.5传感器的上报数据提取出来,并以如下数据结构写入至消息队列c中。

主进程311接收到消息队列c中的消息,通过其消息类型中所标明的类型id,即可知道其所接收的消息为c厂家rs485-pm2.5传感器的上报数据,即pm2.5的数值。主进程311提取该数据后可以通过json或其它相关方式上传至云端服务器。

可以理解的是,本发明实施例能够根据上述智能家居网关的管控方法,示例性的对上述智能家居网关进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能模块集成在一个单元中。上述集成的单元既可以采用硬件形式实现,也可以采用软件形式实现。需要说明的是,本发明实施例中对功能模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

上述智能家居网关为了实现上述智能家居网关的管控方法,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及步骤,本发明实施例能够以硬件或硬件和计算机软件结合的形式来实现,其中某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。

本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序;该计算机程序配置为被处理器执行时,能够实现上述实施例所提供的智能家居网关的管控方法的各步骤。

本发明实施例提供的计算机可读存储介质用于执行上述实施例所提供的对应的智能家居网关的管控方法,其所能达到的有益效果可参考上述实施例所提供的对应的方法中的有益效果,此处不再赘述。

在本发明实施例所提供的一些实施例中,应该理解到,其所揭露的智能家居网关及其管控方法,可以通过其它的方式实现。例如,以上所描述的智能家居网关的实施例仅仅是示意性的,例如,所述功能模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个功能模块可以结合或者可以集成到另一个单元,或一些特征可以忽略,或不执行。

另外,在本发明实施例的各个实施例中,各个功能模块可以集成在一个单元中,也可以是各个模块单独的物理存在,也可以两个或两个以上功能模块集成在一个单元中。上述集成的单元既可以采用硬件形式实现,也可以采用软件形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1