基于无线通信模块的云接入系统和方法

文档序号:10515638阅读:620来源:国知局
基于无线通信模块的云接入系统和方法
【专利摘要】本发明提出一种基于无线通信模块的云接入系统和方法,该基于无线通信模块的云接入系统包括无线通信模块、通过无线通信模块相互通信的云服务器和家用电器,其中,无线通信模块中包括:串口数据收发线程,用于与家用电器进行通信;网络数据收发线程,用于与云服务器进行通信;业务逻辑线程,用于与串口数据收发线程、网络数据收发线程进行消息交换,以对串口数据收发线程和网络数据收发线程收发的消息进行控制;以及主线程,主线程用于对串口数据收发线程、网络数据收发线程和业务逻辑线程进行控制。通过本发明能够实现多个线程的协作运行,有效提升云服务器接入过程中的线程调度效果,便于后期无线通信模块硬件系统的功能扩展。
【专利说明】
基于无线通信模块的云接入系统和方法
技术领域
[0001]本发明涉及通信技术领域,尤其涉及一种基于无线通信模块的云接入系统和方法。
【背景技术】
[0002]云服务器作为近年来的一种热门技术和发展趋势,其根本原理就是通过资源共享以达到降低成本的同时,提高IT基础平台弹性扩展的效率。目前云服务器的建设旨在为广大用户按需提供服务。云服务器承载了大量重要的业务系统及数据,同时不同的家用电器需要接入云服务器以给用户提供相关业务,因此云服务器接入存在着诸多需求和挑战。
[0003]相关技术在基于无线通信模块的云接入系统中,当接入多个云服务器与多个家用电器时,业务逻辑和数据处理过程耦合性高,云服务器接入体验差。

【发明内容】

[0004]本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
[0005]为此,本发明的一个目的在于提出一种基于无线通信模块的云接入系统,能够实现多个线程的协作运行,有效提升云服务器接入过程中的线程调度效果,便于后期无线通信模块硬件系统的功能扩展。
[0006]本发明的另一个目的在于提出一种基于无线通信模块的云接入方法。
[0007]本发明的另一个目的在于提出一种无线通信模块。
[0008]为达到上述目的,本发明第一方面实施例提出的基于无线通信模块的云接入系统,包括:无线通信模块、通过所述无线通信模块相互通信的云服务器和家用电器,其中,所述无线通信模块中包括:串口数据收发线程,用于与所述家用电器进行通信;网络数据收发线程,用于与所述云服务器进行通信;业务逻辑线程,用于与所述串口数据收发线程、所述网络数据收发线程进行消息交换,以对所述串口数据收发线程和所述网络数据收发线程收发的消息进行控制;以及主线程,所述主线程用于对所述串口数据收发线程、网络数据收发线程和业务逻辑线程进行控制。
[0009]本发明第一方面实施例提出的基于无线通信模块的云接入系统,通过业务逻辑线程与串口数据收发线程、网络数据收发线程进行消息交换,以对串口数据收发线程和网络数据收发线程收发的消息进行控制,主线程对串口数据收发线程、网络数据收发线程和业务逻辑线程进行控制,能够实现多个线程的协作运行,有效提升云服务器接入过程中的线程调度效果,便于后期无线通信模块硬件系统的功能扩展。
[0010]为达到上述目的,本发明第二方面实施例提出的基于无线通信模块的云接入方法,包括:业务逻辑线程与串口数据收发线程、网络数据收发线程进行消息交换,以对所述串口数据收发线程和所述网络数据收发线程收发的消息进行控制;主线程对所述串口数据收发线程、所述网络数据收发线程和所述业务逻辑线程进行控制。
[0011]本发明第二方面实施例提出的基于无线通信模块的云接入方法,通过业务逻辑线程与串口数据收发线程、网络数据收发线程进行消息交换,以对串口数据收发线程和网络数据收发线程收发的消息进行控制,主线程对串口数据收发线程、网络数据收发线程和业务逻辑线程进行控制,能够实现多个线程的协作运行,有效提升云服务器接入过程中的线程调度效果,便于后期无线通信模块硬件系统的功能扩展。
[0012]为达到上述目的,本发明第三方面实施例提出的无线通信模块,包括:串口数据收发线程,用于与所述家用电器进行通信;网络数据收发线程,用于与所述云服务器进行通信;业务逻辑线程,用于与所述串口数据收发线程、所述网络数据收发线程进行消息交换,以对所述串口数据收发线程和所述网络数据收发线程收发的消息进行控制;以及主线程,所述主线程用于对所述串口数据收发线程、网络数据收发线程和业务逻辑线程进行控制;应用事件回调子模块,所述主线程通过所述应用事件回调子模块控制所述业务逻辑线程;以及应用事件消息队列,用于接收事件消息,并供所述主线程读取,其中,所述事件消息包括应用事件消息和WIFI回调事件消息;状态机事件分发处理子模块,用于根据所述事件消息的模式属性将所述事件消息分发至对应的状态机,其中,所述模式属性为AP-Mode、STA-Mo de,或者Sy s t em中的任一种,读取所述应用事件消息队列中的所述应用事件消息和WIFI回调事件消息,配置所述无线通信模块的状态转换机制;状态机,用于根据所述事件消息和状态转换机制控制所述无线通信模块的状态进行切换。
[0013]本发明第三方面实施例提出的无线通信模块,通过业务逻辑线程与串口数据收发线程、网络数据收发线程进行消息交换,以对串口数据收发线程和网络数据收发线程收发的消息进行控制,主线程对串口数据收发线程、网络数据收发线程和业务逻辑线程进行控制,能够实现多个线程的协作运行,有效提升云服务器接入过程中的线程调度效果,通过根据事件消息的模式属性将事件消息分发至对应的状态机,其中,模式属性为AP-Mode、STA-Mode , 或者 System 中的任一种 ,并根据事件消息和对应的状态机的状态转换机制控制无线通信模块的状态进行切换,能够实现无线通信模块中三种状态机的协作运行,有效提升无线通信模块的状态管理效果。
[0014]本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
【附图说明】
[0015]本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0016]图1是本发明一实施例提出的基于无线通信模块的云接入系统的结构示意图;
[0017]图2是本发明实施例中无线通信模块的硬件结构示意图;
[0018]图3是本发明实施例中无线通信模块消息交换流程示意图;
[0019]图4是本发明另一实施例提出的主线程对无线通信模块的状态机进行管理的方法的流程示意图;
[0020]图5是本发明另一实施例提出的主线程对无线通信模块的状态机进行管理的方法的流程示意图;
[0021 ]图6是本发明实施例中无线通信模块状态切换示意图;
[0022]图7是本发明另一实施例提出的基于无线通信模块的云接入方法的流程示意图。
【具体实施方式】
[0023]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
[0024]图1是本发明一实施例提出的基于无线通信模块的云接入系统的结构示意图,该基于无线通信模块的云接入系统包括无线通信模块101、通过无线通信模块101相互通信的云服务器102和家用电器103,其中,无线通信模块101中包括:串口数据收发线程,用于与家用电器103进行通信;网络数据收发线程,用于与云服务器102进行通信;业务逻辑线程,用于与串口数据收发线程、网络数据收发线程进行消息交换,以对串口数据收发线程和网络数据收发线程收发的消息进行控制;以及主线程,主线程用于对串口数据收发线程、网络数据收发线程和业务逻辑线程进行控制。
[0025]云服务器102作为近年来的一种热门技术和发展趋势,其原理就是通过资源共享以达到降低成本的同时,提高IT基础平台弹性扩展的效率。目前云服务器102的建设旨在为广大用户按需提供服务。云服务器102承载了大量重要的业务系统及数据,同时不同的家用电器103需要接入云服务器102以给用户提供相关业务,因此云服务器102接入存在着诸多需求和挑战。
[0026]在本发明的一个实施例中,该基于无线通信模块的云接入系统包括无线通信模块101。
[0027]在本发明的实施例中,无线通信模块101具体为无线WIFI通信模块。
[0028]其中,无线WIFI通信模块支持W1-Fi技术,用于家用电器103。
[0029]家用电器103例如空调器、冰箱,以及热水器等。
[0030]例如,用户家里的非对称数字用户线路(Asymmetric Digital SubscriberLine,ADSL)、小区宽带等,可以通过使用家用W1-Fi技术连接无线通信模块101以实现移动终端的无线上网。
[0031]进一步,例如在本发明的实施例中,用户也可以通过使用无线通信模块101将家用电器103与对应的云服务器102互联,以实现家用电器103与云服务器102的资源共享。
[0032]图2是本发明实施例中无线通信模块101的硬件结构示意图,图2以云服务器102为美的云和小米云示例。
[0033]图2中包括Μ-Smart软件开发工具包(SoftwareDevelopment Kit,SDK)21、小米SDK22、厂商底层SDK23、美的云24,以及小米云25。其中,M-Smart SDK21用于实现基于M-Smart系统的业务逻辑线程的处理逻辑,小米SDK22用于实现小米云25的协议转换文件xm_prof i le.c中的协议,厂商底层SDK23用于实现无线通信模块101的底层硬件逻辑,美的云24和小米云25用于提供云服务资源。
[0034]在本发明的一个实施例中,该基于无线通信模块的云接入系统还包括通过无线通信模块101相互通信的云服务器102和家用电器103。
[0035]其中,云服务器102是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务。云服务器102用于给各类互联网用户提供综合业务能力的服务。云服务器102例如美的云、京东云、阿里云,或者小米云。
[0036]云服务器102具有智能云接入、智能云存储,以及智能信息推送的功能。当用户通过使用无线通信模块101将家用电器103与对应的云服务器102互联后,云服务器102可以将资源推送至家用电器103,用户可以通过移动终端中家用电器103的应用程序对家用电器103进行控制。
[0037]例如,美的微波炉的使用功能有新开发的烹饪菜谱资源,微波炉厂商将该新开发的烹饪菜谱资源存储在美的云的智能云存储中,当用户通过使用无线通信模块101将美的微波炉与美的云互联后,美的云会将该新开发的烹饪菜谱资源推送至美的微波炉,以使用户可以通过移动终端中美的微波炉的应用程序控制美的微波炉执行新开发的烹饪菜谱资源。
[0038]家用电器103指在家庭及类似场所中使用的各种电气和电子器具。家用电器103例如电视机、电冰箱,或者空调器等。
[0039]随着智能家居技术的不断进步和用户生活水平的提高,越来越多的家用电器103能够实现智能化运转,用户可以在移动终端中安装家用电器103的应用程序,通过应用程序控制家用电器103进行工作,用户也可以通过使用无线通信模块101将家用电器103与对应的云服务器102互联。
[0040]具体地,用户可以将需要获取云服务器102中的业务系统和数据的家用电器103通过无线通信模块101接入对应的云服务器102,以实现云服务器102中资源的共享。
[0041]例如,需要获取云服务器102中的业务系统和数据的家用电器103为美的空调器,美的空调器需要从美的云服务器102中共享协议匹配的资源,因此,将美的空调器通过无线通信模块101接入美的云,以实现美的空调器与美的云中资源的共享,或者,也可以将美的空调器通过无线通信模块101接入小米云,以实现美的空调器与小米云中资源的共享。
[0042]在本发明的一个实施例中,无线通信模块101包括串口数据收发线程,用于与家用电器103进行通信。
[0043]串口即串行接口,是采用串行通信方式的扩展接口。其中,串行通信方式是指一条信息的各位数据被逐位按顺序传送的通讯方式。
[0044]线程是程序执行流的最小单元,一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。线程适用于服务器中的文件管理或者通信控制。
[0045]例如,当无线通信模块101接收到家用电器103发送的报文时,对该报文以串行通信方式进行处理,以将处理后的报文上报至云服务器102。
[0046]在本发明的一个实施例中,无线通信模块101还包括网络数据收发线程,用于与云服务器102进行通信。
[0047]例如,当无线通信模块101通过网络数据收发线程接收到云服务器102发送的报文时,对该报文进行处理,以将处理后的报文下发至家用电器103。
[0048]在本发明的一个实施例中,无线通信模块101还包括业务逻辑线程,用于与串口数据收发线程、网络数据收发线程进行消息交换,以对串口数据收发线程和网络数据收发线程收发的消息进行控制。
[0049]其中,本发明实施例中的业务逻辑线程为基于M-Smart系统的业务逻辑线程。M-Smart系统开放具体提供的服务内容,M-Smart系统针对使用第三方云、使用美的内建云、没有云的三种互联网合作者开放对接形式。
[0050]具体地,业务逻辑线程通过M-Smart协议与串口数据收发线程、网络数据收发线程进行消息交换。
[0051]可选地,业务逻辑线程通过网络数据收发线程获取云服务器102发送至家用电器103的第一类型报文;业务逻辑线程获取云服务器102的类型信息,并根据类型信息将第一类型报文转换为第二类型报文;业务逻辑线程通过串口数据收发线程将第二类型报文发送至家用电器103。
[0052]其中,报文是网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的完整的数据信息,其长短不一致,长度不限且长度可变。通过不断地将数据封装成分组、包、帧来传输。
[0053]在本发明的实施例中,云服务器102的类型信息可以例如云ID,不同的云ID标识不同的云服务器102,该云ID可以设置在第一类型报文的报文头中,可以是报文头中的预留字段,也可以设置在其它字段,本发明实施例对此不进行具体限制。
[0054]可选地,获取云服务器102的类型信息,具体包括:无线通信模块101获取与云服务器102相连接的Socket连接信息;以及无线通信模块101根据Socket连接信息确定类型信息。
[0055]具体地,如图3所示,为本发明实施例中无线通信模块101消息交换流程示意图。包括:串口数据收发线程31、基于M-Smart系统的业务逻辑线程32、网络数据收发线程33、串口数据收发缓冲器34、网络数据收发缓冲器35、基于M-Smart系统的转换协议36、云服务器102,以及家用电器103。
[0056]下发消息交换流程例如,无线通信模块101中的网络数据收发线程33获取到云服务器102发送至家用电器103的第一类型报文后,网络数据收发线程33创建网络收发数据包消息队列,并将第一类型报文添加至网络收发数据包消息队列,无线通信模块101中的基于M-Smart系统的业务逻辑线程32通过云服务器102SDK中协议转换文件的函数接口从网络收发数据包消息队列对应的网络数据收发缓冲器35中获取第一类型报文,根据第一类型报文的报文头中的云ID,对第一类型报文进行协议转换,得到第二类型报文,将第二类型报文存储在云接入系统分配的串口数据收发缓冲器34中,并触发应用事件回调子模块控制基于M-Smart系统的业务逻辑线程32将第二类型报文通过串口数据收发线程31下发至家用电器103。其中,云服务器102SDK中的协议转换文件例如,阿里云al i_sdk.c的协议转换文件al i_卩1'0;1^16.0、京东云」(1_8(11^.0的协议转换文件」(1_。1'0;1^16.0、小米云1111_8(11^.0的协议转换文件xm_prof ile.c,以及美的云md_sdk.c的协议转换文件md_prof ile.C。
[0057]可选地,无线通信模块101接收家用电器103发送的第二类型报文,并获取第二类型报文对应的目的地址,以及根据目标地址确定对应云服务器102的类型信息;无线通信模块101根据云服务器102的类型信息调用对应的转换协议;以及无线通信模块101根据转换协议将第二类型报文转换为第一类型报文,并将第一类型报文发送至对应的云服务器102。
[0058]在本发明的实施例中,第二类型报文对应的目的地址标识云服务器102,该目的地址可以设置在第二类型报文的报文头中,可以是报文头中的预留字段,也可以设置在其它字段,本发明实施例对此不进行具体限制。
[0059]具体地,如图3所示,上报消息交换流程例如,无线通信模块101中的串口数据收发线程31接收家用电器103发送的第二类型报文后,串口数据收发线程31创建串口收发数据包消息队列,并将第二类型报文添加至串口收发数据包消息队列中,无线通信模块101中的基于M-Smart系统的业务逻辑线程32通过云服务器102SDK中协议转换文件的函数接口从串口收发数据包消息队列对应的串口数据收发缓冲器34中获取第二类型报文,根据第二类型报文的报文头中目的地址对应的云服务器102的类型信息,对第二类型报文进行协议转换,得到第一类型报文,将第一类型报文存储在云接入系统分配的网络数据收发缓冲器35中,并触发应用事件回调子模块控制基于M-Smart系统的业务逻辑线程32将第一类型报文通过网络数据收发线程33上报至云服务器102。
[0060]在本发明的一个实施例中,无线通信模块101还包括主线程,主线程用于对串口数据收发线程、网络数据收发线程和业务逻辑线程进行控制。
[0061]可选地,主线程用于对无线通信模块101的状态机进行管理。
[0062]主线程用于对无线通信模块101的状态机进行管理,具体包括:无线通信模块101接收事件消息;根据事件消息的模式属性将事件消息分发至对应的状态机,其中,模式属性为AP-Mode、STA-Mode,或者System中的任一种;根据事件消息和对应的状态机的状态转换机制控制无线通信模块101的状态进行切换。
[0063]可选地,主线程对无线通信模块101的状态机进行管理的流程实施例详见图4和图5实施例。
[0064]在本发明的一个实施例中,无线通信模块101还包括转换协议数据库,用于存储云服务器102对应的转换协议。
[0065]在本发明的实施例中,转换协议数据库中具体包括基于M-Smart系统的转换协议。[ΟΟ??] 例如,阿里云ali_sdk.c的协议转换文件ali_prof ile.c中的协议、京东云jd_sdk.c的协议转换文件jd_prof ile.c中的协议、小米云xm_sdk.c的协议转换文件xm_prof i I e.c中的协议,以及美的云md_sdk.c的协议转换文件md_prof i I e.c中的协议。
[0067]本实施例中,通过业务逻辑线程与串口数据收发线程、网络数据收发线程进行消息交换,以对串口数据收发线程和网络数据收发线程收发的消息进行控制,主线程对串口数据收发线程、网络数据收发线程和业务逻辑线程进行控制,能够实现多个线程的协作运行,有效提升云服务器接入过程中的线程调度效果,便于后期无线通信模块硬件系统的功能扩展。
[0068]图4是本发明另一实施例提出的主线程对无线通信模块的状态机进行管理的方法的流程示意图,该主线程对无线通信模块的状态机进行管理的方法包括:
[0069]S401:无线通信模块接收事件消息。
[0070]无线通信模块具体为无线WIFI通信模块。
[0071]其中,无线WIFI通信模块支持W1-Fi技术,用于家用电器。
[0072]例如,用户家里的非对称数字用户线路(Asymmetric Digital Subscriber Line,ADSL)、小区宽带等,可以通过使用家用W1-Fi技术连接无线通信模块以实现移动终端的无线上网。进一步,用户也可以通过使用无线通信模块将家用电器与对应的云服务器互联,以实现家用电器与云服务器的资源共享。
[0073]目前的家用电器中的无线通信模块通常是作为接收端使用,即须依赖另一网络提供装置(例如,有线网络)来提供网络连接给家用电器。然而,使用者可能会想利用无线通信模块增加网络信号涵盖的范围;或者,也可能想同时使无线通信模块将有线网络转变成无线网络;或者,也可能想使无线通信模块作为无线基站(AP),来使电子装置互相连接。相关技术中的家用电器中的无线通信模块通常只能提供其中一种网络形态或功能。
[0074]可选地,事件消息包括应用事件消息和WIFI回调事件消息,无线通信模块接收事件消息,包括:应用事件消息队列接收业务逻辑线程生成的应用事件消息;WIFI事件回调子模块接收WIFI回调事件消息,并在接收到WIFI回调事件消息之后,将WIFI回调事件消息添加至应用事件消息队列。
[0075]其中,应用事件消息由无线通信模块中的主线程通过应用事件回调子模块控制业务逻辑线程生成,WIFI回调事件消息由应用程序产生。
[0076]具体地,应用事件消息可以为无线通信模块的上层应用主动产生的事件,例如,无线通信模块取消AP模式,则会产生AF_EVT_AP_ST0P的应用事件消息。
[0077]WIFI回调事件消息可以为无线通信模块的WIFI底层反馈的事件,例如,无线通信模块的AP模式开启成功,则会产生AF_EVT_AP_STARTED_SUCCESS的WIFI回调事件消息。
[0078]可选地,无线通信模块接收事件消息之前,还包括:配置无线通信模块的状态转换机制。
[0079]S402:根据事件消息的模式属性将事件消息分发至对应的状态机,其中,模式属性为 AP-Mode、STA-Mode,或者 System 中的任一种。
[0080]具体地,由状态机事件分发处理子模块根据事件消息的模式属性将事件消息分发至对应的状态机,其中,模式属性为AP-Mode、STA-Mode,或者System中的任一种。
[0081 ] 无线通信模块支持热点(Access Point,AP)工作模式AP-Mode,AP_Mode应用在无线局域网成员设备(即客户端)的加入,即网络下行,提供以无线方式组建无线局域网WLAN,相当WLAN的中心设备。无线通信模块也可以支持工作站模式STA-Mode,也可以理解为某个网格中的一个工作站即客户端。当一个无线通信模块的WIFI芯片提供STA-Mode功能时,无线通信模块就可以连到另外的一个网络当中。AP-Mode提供给移动终端等连接,STA-Mode用于提供网络的数据上行服务。另外,无线通信模块所在系统的系统网络状态,即无线通信模块在所在系统中与网络使用者的网络连接状态,可以由系统状态属性进行描述,对应由System状态机进行系统状态间的切换管理。
[0082]其中,状态机包括AP-Mode状态机、STA-Mode状态机,以及System状态机,模式属性AP-Mode对应AP-Mode状态机、模式属性STA-Mode对应STA-Mode状态机,以及模式属性System对应System状态机。
[0083]S403:根据事件消息和对应的状态机的状态转换机制控制无线通信模块的状态进行切换。
[0084]其中,无线通信模块的状态包括AP-Mode状态机中的建立AP中、AP运行中、以及空闲三种状态,STA-Mode状态机中的连接中、已连接、以及空闲三种状态;System状态机中的网络未建立、网络已建立、以及初始化三种状态。
[0085 ]可选地,根据事件消息和对应的状态机的状态转换机制控制无线通信模块的状态进行切换,包括:如果事件消息的模式属性为AP-Mode,则AP-Mode状态机根据事件消息和AP-Mode状态机的状态转换机制控制无线通信模块的状态在建立AP中、AP运行中、以及空闲三种状态之间进行切换;如果事件消息的模式属性为STA-Mode,则STA-Mode状态机根据事件消息和STA-Mode状态机的状态转换机制控制无线通信模块的状态在连接中、已连接、以及空闲三种状态之间进行切换;如果事件消息的模式属性为System,则System状态机根据事件消息和System状态机的状态转换机制控制无线通信模块的状态在网络未建立、网络已建立、以及初始化三种状态之间进行切换。
[0086]本实施例中,通过根据事件消息的模式属性将事件消息分发至对应的状态机,其中,模式属性为AP-Mode、STA-Mode,或者System中的任一种,并根据事件消息和对应的状态机的状态转换机制控制无线通信模块的状态进行切换,能够实现无线通信模块中三种状态机的协作运行,有效提升无线通信模块的状态管理效果。
[0087]图5是本发明另一实施例提出的主线程对无线通信模块的状态机进行管理的方法的流程示意图,该主线程对无线通信模块的状态机进行管理的方法包括:
[0088]S501:配置无线通信模块的状态转换机制。
[0089]具体地,通过状态机事件分发处理子模块将AP-Mode状态机、STA-Mode状态机,以及System状态机的状态属性叠加,以配置无线通信模块的状态转换机制。
[0090]其中,状态机的状态属性用于标识无线通信模块的状态。
[0091]通过本步骤,可以使无线通信模块中的内置程序调用配置好的状态属性,使无线通信模块能在不同的状态间进行切换,实现无线通信模块中三种状态机的协作运行。
[0092]S502:应用事件消息队列接收业务逻辑线程生成的应用事件消息。
[0093]其中,应用事件消息由无线通信模块中的主线程通过应用事件回调子模块控制业务逻辑线程生成。
[0094]具体地,应用事件消息可以为无线通信模块的上层应用主动产生的事件,例如,无线通信模块取消AP模式,则会产生AF_EVT_AP_ST0P的应用事件消息。
[0095]S503: WIFI事件回调子模块接收WIFI回调事件消息,并在接收到WIFI回调事件消息之后,将WIFI回调事件消息添加至应用事件消息队列。
[0096]WIFI回调事件消息可以为无线通信模块的WIFI底层反馈的事件,例如,无线通信模块的AP模式开启成功,则会产生AF_EVT_AP_STARTED_SUCCESS的WIFI回调事件消息。
[0097]S504:读取应用事件消息队列中的应用事件消息和WIFI回调事件消息。
[0098]具体地,由无线通信模块中的主线程通过状态机事件分发处理子模块读取应用事件消息队列中的应用事件消息和WIFI回调事件消息。
[0099]S505:根据事件消息的模式属性将事件消息分发至对应的状态机,其中,模式属性为 AP-Mode、STA-Mode,或者 System 中的任一种。
[0100]具体地,由状态机事件分发处理子模块根据事件消息的模式属性将事件消息分发至对应的状态机,其中,模式属性为AP-Mode、STA-Mode,或者System中的任一种。
[0101]无线通信模块支持热点(Access Point,AP)工作模式AP-Mode,AP_Mode应用在无线局域网成员设备(即客户端)的加入,即网络下行,提供以无线方式组建无线局域网WLAN,相当WLAN的中心设备。无线通信模块也可以支持工作站模式STA-Mode,也可以理解为某个网格中的一个工作站即客户端。当一个无线通信模块的WIFI芯片提供STA-Mode功能时,无线通信模块就可以连到另外的一个网络当中。AP-Mode提供给移动终端等连接,STA-Mode用于提供网络的数据上行服务。另外,无线通信模块所在系统的系统网络状态,即无线通信模块在所在系统中与网络使用者的网络连接状态,可以由系统状态属性进行描述,对应由System状态机进行系统状态间的切换管理。
[0102]其中,状态机包括AP-Mode状态机、STA-Mode状态机,以及System状态机,模式属性AP-Mode对应AP-Mode状态机、模式属性STA-Mode对应STA-Mode状态机,以及模式属性System对应System状态机。
[0103]通过将事件消息分发至对应的状态机分别进行状态管理,在无线通信模块底层硬件实现方面可以增强代码结构的逻辑性,降低代码开发的复杂性,便于后期无线通信模块硬件系统的功能扩展。
[0104]S506:根据事件消息和状态转换机制控制无线通信模块的状态进行切换。
[0105]具体地,如图6所示,为本发明实施例中无线通信模块状态切换示意图,其中,包括:AP-Mode状态机6 l、STA-Mode状态机62、System状态机63、状态机事件分发处理子模块64、应用事件消息队列65、AP-Mode状态机状态切换流程66、STA-Mode状态机状态切换流程67,以及System状态机状态切换流程68ο
[0106]可以根据事件消息的内容和对应的状态机的状态转换机制控制无线通信模块的状态进行切换。
[0107]例如,如图6所示,无线通信模块取消AP模式,则会产生AF_EVT_AP_STOP应用事件消息,该AF_EVT_AP_STOP应用事件消息的内容为取消AP模式,当无线通信模块处在AP运行中的状态,且无线通信模块的主线程读取到该AF_EVT_AP_STOP应用事件消息时,AP-Mode状态机控制无线通信模块由AP运行中的状态切换至空闲的状态。
[0108]本实施例中,通过配置无线通信模块的状态转换机制,可以使无线通信模块中的内置程序调用配置好的状态属性,使无线通信模块能在不同的状态间进行切换,通过根据事件消息的模式属性将事件消息分发至对应的状态机,其中,模式属性为AP-Mode、STA-Mode,或者System中的任一种,并根据事件消息和对应的状态机的状态转换机制控制无线通信模块的状态进行切换,能够实现无线通信模块中三种状态机的协作运行,有效提升无线通信模块的状态管理效果。通过将事件消息分发至对应的状态机分别进行状态管理,在无线通信模块底层硬件实现方面可以增强代码结构的逻辑性,降低代码开发的复杂性,便于后期无线通信模块硬件系统的功能扩展。
[0109]图7是本发明另一实施例提出的基于无线通信模块的云接入方法的流程示意图,该基于无线通信模块的云接入方法包括:
[0110]S701:业务逻辑线程与串口数据收发线程、网络数据收发线程进行消息交换,以对串口数据收发线程和网络数据收发线程收发的消息进行控制。
[0111]其中,本发明实施例中的业务逻辑线程为基于M-Smart系统的业务逻辑线程。M-Smart系统开放具体提供的服务内容,M-Smart系统针对使用第三方云、使用美的内建云、没有云的三种互联网合作者开放对接形式。
[0112]具体地,业务逻辑线程通过M-Smart协议与串口数据收发线程、网络数据收发线程进行消息交换。
[0113]S702:主线程对串口数据收发线程、网络数据收发线程和业务逻辑线程进行控制。
[0114]可选地,主线程用于对无线通信模块的状态机进行管理。
[0115]主线程用于对无线通信模块的状态机进行管理,具体包括:无线通信模块接收事件消息;根据事件消息的模式属性将事件消息分发至对应的状态机,其中,模式属性为AP-Mode、 STA-Mode, 或者 System 中的任一种; 根据事件消息和对应的状态机的状态转换机制控制无线通信模块的状态进行切换。
[0116]可选地,主线程对无线通信模块的状态机进行管理的流程实施例详见图4和图5实施例。
[0117]可选地,该基于无线通信模块的云接入方法还包括:业务逻辑线程通过网络数据收发线程获取云服务器发送至家用电器的第一类型报文;业务逻辑线程获取云服务器的类型信息,并根据类型信息将第一类型报文转换为第二类型报文;业务逻辑线程通过串口数据收发线程将第二类型报文发送至家用电器。
[0118]其中,报文是网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的完整的数据信息,其长短不一致,长度不限且长度可变。通过不断地将数据封装成分组、包、帧来传输。
[0119]在本发明的实施例中,云服务器的类型信息可以例如云ID,不同的云ID标识不同的云服务器,该云ID可以设置在第一类型报文的报文头中,可以是报文头中的预留字段,也可以设置在其它字段,本发明实施例对此不进行具体限制。
[0120]可选地,获取云服务器的类型信息,具体包括:无线通信模块获取与云服务器相连接的Socket连接信息;以及无线通信模块根据Socket连接信息确定类型信息。
[0121]具体地,如图3所示,为本发明实施例中无线通信模块消息交换流程示意图。包括:串口数据收发线程31、基于M-Smart系统的业务逻辑线程32、网络数据收发线程33、串口数据收发缓冲器34、网络数据收发缓冲器35、基于M-Smart系统的转换协议36、云服务器102,以及家用电器103。
[0122]下发消息交换流程例如,无线通信模块中的网络数据收发线程获取到云服务器发送至家用电器的第一类型报文后,网络数据收发线程创建网络收发数据包消息队列,并将第一类型报文添加至网络收发数据包消息队列,无线通信模块中的基于M-Smart系统的业务逻辑线程通过云服务器SDK中协议转换文件的函数接口从网络收发数据包消息队列对应的网络数据收发缓冲器中获取第一类型报文,根据第一类型报文的报文头中的云ID,对第一类型报文进行协议转换,得到第二类型报文,将第二类型报文存储在云接入系统分配的串口数据收发缓冲器中,并触发应用事件回调子模块控制基于M-Smart系统的业务逻辑线程将第二类型报文通过串口数据收发线程下发至家用电器。其中,云服务器SDK中的协议转换文件例如,阿里云ali_sdk.c的协议转换文件ali_prof ile.C、京东云jd_sdk.c的协议转换文件jd_prof ile.C、小米云xm_sdk.c的协议转换文件xm_prof ile.c,以及美的云md_sdk.c的协议转换文件md_prof ile.C。
[0123]可选地,该基于无线通信模块的云接入方法还包括:无线通信模块接收家用电器发送的第二类型报文,并获取第二类型报文对应的目的地址,以及根据目标地址确定对应云服务器的类型信息;无线通信模块根据云服务器的类型信息调用对应的转换协议;以及无线通信模块根据转换协议将第二类型报文转换为第一类型报文,并将第一类型报文发送至对应的云服务器。
[0124]在本发明的实施例中,第二类型报文对应的目的地址标识云服务器,该目的地址可以设置在第二类型报文的报文头中,可以是报文头中的预留字段,也可以设置在其它字段,本发明实施例对此不进行具体限制。
[0125]具体地,如图3所示,上报消息交换流程例如,无线通信模块中的串口数据收发线程接收家用电器发送的第二类型报文后,串口数据收发线程创建串口收发数据包消息队列,并将第二类型报文添加至串口收发数据包消息队列中,无线通信模块中的基于M-Smart系统的业务逻辑线程通过云服务器SDK中协议转换文件的函数接口从串口收发数据包消息队列对应的串口数据收发缓冲器中获取第二类型报文,根据第二类型报文的报文头中目的地址对应的云服务器的类型信息,对第二类型报文进行协议转换,得到第一类型报文,将第一类型报文存储在云接入系统分配的网络数据收发缓冲器中,并触发应用事件回调子模块控制基于M-Smart系统的业务逻辑线程将第一类型报文通过网络数据收发线程上报至云服务器。
[0126]本实施例中,通过业务逻辑线程与串口数据收发线程、网络数据收发线程进行消息交换,以对串口数据收发线程和网络数据收发线程收发的消息进行控制,主线程对串口数据收发线程、网络数据收发线程和业务逻辑线程进行控制,能够实现多个线程的协作运行,有效提升云服务器接入过程中的线程调度效果,便于后期无线通信模块硬件系统的功能扩展。
[0127]需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
[0128]流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
[0129]应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0130]本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0131 ]此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0132]上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0133]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0134]尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
【主权项】
1.一种基于无线通信模块的云接入系统,其特征在于,包括无线通信模块、通过所述无线通信模块相互通信的云服务器和家用电器,其中,所述无线通信模块中包括: 串口数据收发线程,用于与所述家用电器进行通信; 网络数据收发线程,用于与所述云服务器进行通信; 业务逻辑线程,用于与所述串口数据收发线程、所述网络数据收发线程进行消息交换,以对所述串口数据收发线程和所述网络数据收发线程收发的消息进行控制;以及 主线程,所述主线程用于对所述串口数据收发线程、网络数据收发线程和业务逻辑线程进行控制。2.如权利要求1所述的基于无线通信模块的云接入系统,其特征在于,还包括: 转换协议数据库,用于存储所述云服务器对应的转换协议。3.如权利要求2所述的基于无线通信模块的云接入系统,其特征在于,还包括: 所述业务逻辑线程通过所述网络数据收发线程获取所述云服务器发送至所述家用电器的第一类型报文; 所述业务逻辑线程获取所述云服务器的类型信息,并根据所述类型信息将所述第一类型报文转换为第二类型报文; 所述业务逻辑线程通过所述串口数据收发线程将所述第二类型报文发送至所述家用电器。4.如权利要求2所述的基于无线通信模块的云接入系统,其特征在于,还包括: 所述无线通信模块接收家用电器发送的第二类型报文,并获取所述第二类型报文对应的目的地址,以及根据所述目标地址确定对应云服务器的类型信息; 所述无线通信模块根据所述云服务器的类型信息调用对应的转换协议;以及所述无线通信模块根据所述转换协议将所述第二类型报文转换为第一类型报文,并将所述第一类型报文发送至对应的云服务器。5.如权利要求1所述的基于无线通信模块的云接入系统,其特征在于,所述主线程用于对所述无线通信模块的状态机进行管理。6.如权利要求1所述的基于无线通信模块的云接入系统,其特征在于,所述主线程用于对所述无线通信模块的状态机进行管理。7.如权利要求6所述的基于无线通信模块的云接入系统,其特征在于,所述主线程用于对所述无线通信模块的状态机进行管理,具体包括: 所述无线通信模块接收事件消息; 根据所述事件消息的模式属性将所述事件消息分发至对应的状态机,其中,所述模式属性为AP-Mode、STA-Mode,或者System中的任一种; 根据所述事件消息和所述对应的状态机的状态转换机制控制所述无线通信模块的状态进行切换。8.如权利要求7所述的基于无线通信模块的云接入系统,其特征在于,所述无线通信模块接收事件消息之前,还包括: 配置所述无线通信模块的状态转换机制。9.如权利要求8所述的基于无线通信模块的云接入系统,其特征在于,所述状态机包括AP-Mode状态机、STA-Mode状态机,以及System状态机,所述模式属性AP-Mode对应AP-Mode状态机、所述模式属性STA-Mode对应STA-Mode状态机,以及所述模式属性System对应System状态机。10.如权利要求8所述的基于无线通信模块的云接入系统,其特征在于,所述配置所述无线通信模块的状态转换机制,包括: 将所述AP-Mode状态机、所述STA-Mode状态机,以及所述Sy stem状态机的状态属性叠加,以配置所述无线通信模块的状态转换机制。11.如权利要求7所述的基于无线通信模块的云接入系统,其特征在于,所述无线通信模块的状态包括AP-Mode状态机中的建立AP中、AP运行中、以及空闲三种状态,STA-Mode状态机中的连接中、已连接、以及空闲三种状态;System状态机中的网络未建立、网络已建立、以及初始化三种状态。12.如权利要求11所述的基于无线通信模块的云接入系统,其特征在于,所述根据所述事件消息和所述对应的状态机的状态转换机制控制所述无线通信模块的状态进行切换,包括: 如果所述事件消息的模式属性为AP-Mode,则AP-Mode状态机根据所述事件消息和所述AP-Mode状态机的状态转换机制控制所述无线通信模块的状态在建立AP中、AP运行中、以及空闲三种状态之间进行切换; 如果所述事件消息的模式属性为STA-Mode,则STA-Mode状态机根据所述事件消息和所述STA-Mode状态机的状态转换机制控制所述无线通信模块的状态在连接中、已连接、以及空闲三种状态之间进行切换; 如果所述事件消息的模式属性为Sy s t em,则Sy s t em状态机根据所述事件消息和所述System状态机的状态转换机制控制所述无线通信模块的状态在网络未建立、网络已建立、以及初始化三种状态之间进行切换。13.如权利要求7所述的基于无线通信模块的云接入系统,其特征在于,所述事件消息包括应用事件消息和WIFI回调事件消息,所述无线通信模块接收事件消息,包括: 所述应用事件消息队列接收所述业务逻辑线程生成的应用事件消息; WIFI事件回调子模块接收所述WIFI回调事件消息,并在接收到所述WIFI回调事件消息之后,将所述WIFI回调事件消息添加至所述应用事件消息队列。14.如权利要求13所述的基于无线通信模块的云接入系统,其特征在于,还包括: 读取所述应用事件消息队列中的所述应用事件消息和所述WIFI回调事件消息。15.—种基于无线通信模块的云接入方法,其特征在于,包括以下步骤: 业务逻辑线程与串口数据收发线程、网络数据收发线程进行消息交换,以对所述串口数据收发线程和所述网络数据收发线程收发的消息进行控制; 主线程对所述串口数据收发线程、所述网络数据收发线程和所述业务逻辑线程进行控制。16.如权利要求15所述的基于无线通信模块的云接入方法,其特征在于,还包括: 所述业务逻辑线程通过所述网络数据收发线程获取所述云服务器发送至所述家用电器的第一类型报文; 所述业务逻辑线程获取所述云服务器的类型信息,并根据所述类型信息将所述第一类型报文转换为第二类型报文; 所述业务逻辑线程通过所述串口数据收发线程将所述第二类型报文发送至所述家用电器。17.如权利要求16所述的基于无线通信模块的云接入方法,其特征在于,所述获取所述云服务器的类型信息,具体包括: 所述无线通信模块获取与所述云服务器相连接的Socket连接信息;以及 所述无线通信模块根据所述Socket连接信息确定所述类型信息。18.如权利要求16所述的基于无线通信模块的云接入方法,其特征在于,还包括: 无线通信模块接收家用电器发送的第二类型报文,并获取所述第二类型报文对应的目的地址,以及根据所述目标地址确定对应云服务器的类型信息; 所述无线通信模块根据所述云服务器的类型信息调用对应的转换协议;以及所述无线通信模块根据所述转换协议将所述第二类型报文转换为第一类型报文,并将所述第一类型报文发送至对应的云服务器。19.一种无线通信模块,其特征在于,包括: 串口数据收发线程,用于与所述家用电器进行通信; 网络数据收发线程,用于与所述云服务器进行通信; 业务逻辑线程,用于与所述串口数据收发线程、所述网络数据收发线程进行消息交换,以对所述串口数据收发线程和所述网络数据收发线程收发的消息进行控制;以及 主线程,所述主线程用于对所述串口数据收发线程、网络数据收发线程和业务逻辑线程进行控制; 应用事件回调子模块,所述主线程通过所述应用事件回调子模块控制所述业务逻辑线程;以及 应用事件消息队列,用于接收事件消息,并供所述主线程读取,其中,所述事件消息包括应用事件消息和WIFI回调事件消息; 状态机事件分发处理子模块,用于根据所述事件消息的模式属性将所述事件消息分发至对应的状态机,其中,所述模式属性为AP-Mode、STA-Mode,或者System中的任一种,读取所述应用事件消息队列中的所述应用事件消息和WIFI回调事件消息,配置所述无线通信模块的状态转换机制; 状态机,用于根据所述事件消息和状态转换机制控制所述无线通信模块的状态进行切换。20.如权利要求19所述的无线通信模块,其特征在于,所述状态机事件分发处理子模块还用于: 将所述AP-Mode状态机、所述STA-Mode状态机,以及所述Sy stem状态机的状态属性叠加,以配置所述无线通信模块的状态转换机制。21.如权利要求20所述的无线通信模块,其特征在于,所述状态机还用于: 如果所述事件消息的模式属性为AP-Mode,则AP-Mode状态机根据所述事件消息和所述AP-Mode状态机的状态转换机制控制所述无线通信模块的状态在建立AP中、AP运行中、以及空闲三种状态之间进行切换; 如果所述事件消息的模式属性为STA-Mode,则STA-Mode状态机根据所述事件消息和所述STA-Mode状态机的状态转换机制控制所述无线通信模块的状态在连接中、已连接、以及空闲三种状态之间进行切换; 如果所述事件消息的模式属性为Sy S t em,则Sy S t em状态机根据所述事件消息和所述System状态机的状态转换机制控制所述无线通信模块的状态在网络未建立、网络已建立、以及初始化三种状态之间进行切换。22.如权利要求21所述的无线通信模块,其特征在于,还包括: WIFI事件回调子模块,用于接收WIFI回调事件消息,并在接收到所述WIFI回调事件消息之后,将所述WIFI回调事件消息添加至所述应用事件消息队列。23.如权利要求19所述的无线通信模块,其特征在于,所述应用事件消息队列接收事件消息,包括: 应用事件消息队列接收业务逻辑线程生成的应用事件消息;以及 接收所述WIFI事件回调子模块添加的所述WIFI回调事件消息。
【文档编号】H04L29/08GK105871991SQ201510932057
【公开日】2016年8月17日
【申请日】2015年12月14日
【发明人】邹伟, 杨俊 , 刘复鑫, 周子航, 吴晓东
【申请人】美的集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1