CN104660474A - 基于智能家居控制系统的网络通讯方法 - Google Patents
基于智能家居控制系统的网络通讯方法 Download PDFInfo
- Publication number
- CN104660474A CN104660474A CN201510080441.1A CN201510080441A CN104660474A CN 104660474 A CN104660474 A CN 104660474A CN 201510080441 A CN201510080441 A CN 201510080441A CN 104660474 A CN104660474 A CN 104660474A
- Authority
- CN
- China
- Prior art keywords
- server
- equipment
- information
- client
- communication method
- 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
Abstract
本发明提供了一种基于智能家居控制系统的网络通讯方法,包括以下步骤:步骤一,客户端向服务器发送一个心跳包,用于检测网络连接情况;服务器收到心跳包后,依次返回各个已连接设备状态信息;步骤二,刷新客户端的设备的状态信息;步骤三,客户端向服务器发送控制指令;服务器收到控制指令后进行判断并回复客户端设备状态信息,控制设备运行;步骤四,用户请求设备运行时的详细电能信息时,向服务器发送请求指令;服务器收到请求指令后,返回该设备实时的电能数据。本发明通讯速度快、效率高,通讯格式简洁明了,可拓展性强。
Description
技术领域
本发明涉及一种网络通讯方法,具体地,涉及一种基于智能家居控制系统的网络通讯方法。
背景技术
对于智能家居远程控制系统来说,网络通讯是不可或缺的一部分。应用程序的网络通讯一般是通过Socket(套接字)来实现的,即手机客户端APP通过Socket通信连接服务器,并进行信息的有效交换,实现远程控制的功能。
然而Socket通信有不同的通讯协议,而且实现功能的多样化常常会导致通讯格式非常复杂,且不易实现设备的可拓展性,严重影响系统的运行效率。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于智能家居控制系统的网络通讯方法,其通讯速度快、效率高,通讯格式简洁明了,可拓展性强。
根据本发明的一个方面,提供一种基于智能家居控制系统的网络通讯方法,其特征在于,包括以下步骤:
步骤一,客户端向服务器发送一个心跳包,用于检测网络连接情况;服务器收到心跳包后,依次返回各个已连接设备的状态信息;客户端一直未收到服务器返回的设备状态信息,则需一直向服务器发送心跳包;如果客户端收到服务器返回的设备状态信息,则执行步骤二、步骤三、步骤四;
步骤二,刷新客户端的设备状态信息;
步骤三,客户端向服务器发送控制指令;服务器收到控制指令后进行判断并回复客户端设备状态信息,控制设备运行;
步骤四,用户请求设备运行时的详细电能信息时,向服务器发送请求指令;服务器收到请求指令后,返回该设备实时的电能数据。
优选地,所述设备状态信息的通讯格式形式包括三段:第一段是固定的头部;第二段是信息类型,用数字字符表示;第三段是设备的身份标识号码,由数字字符组成。
优选地,所述客户端是通过Socket通信向服务器发送一个心跳包。
优选地,所述客户端是通过Socket通信向服务器发送查询详细电能信息的请求指令。
与现有技术相比,本发明具有如下的有益效果:一,选择UDP通讯协议,通讯效率高;二,通讯格式简洁明了,客户端可以有效远程控制设备,并查询设备实时电能数据,实现功能多样化;三,可拓展性强,增加设备时只需要在服务端程序处增加设备的ID,添加设备相关代码。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明基于智能家居控制系统的网络通讯方法的流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
Socket通信分为UDP和TCP两种。TCP(传输控制协议)是一种面向连接的协议,能保证写入流的数据按顺序被读出来,可靠性高,效率低。UDP(用户数据报协议)是一种无连接的协议,不保证报文到达的先后顺序,不保证是否有报文丢失,效率高,可靠性低。由于智能家居控制系统需要通过网络传输的是设备状态以及控制信息,不需要保证报文的先后顺序,且TCP通信过程较为复杂,影响系统的简单易用性,因此本发明选择UDP协议。
如图1所示,本发明基于智能家居控制系统的网络通讯方法包括以下步骤:
步骤一,客户端(比如手机客户端)启动的头2秒内,每半秒通过Socket通信向服务器发送一个心跳包(心跳包的格式如下:“SH\n 2”),用于检测网络连接情况;服务器收到心跳包后,依次返回各个已连接设备状态信息(状态信息的通讯格式如下:SH\n1\n唯一ID\n类型\n名称\n房间\n其他数据)。之所以在头2秒内多次发送心跳包,是因为经验表明头几个UDP包的丢包率略高。客户端收到服务器返回的信息,首先判断信息开头是否是“SH”,若不是,则此信息为无用信息,弃置;若是,则读取第一个换行符之后的数据“1”,判断为服务器发送的设备信息指令,则需依次读取各个换行符之后的ID、类型、名称、房间和其他数据信息,并显示在客户端上。若在两秒的时间内客户端一直未收到服务器返回的设备状态信息,则需一直向服务器发送心跳包,并显示错误提示信息,提示用户检查客户端与服务器的网络连接情况;如果客户端收到服务器返回的设备状态信息,则执行步骤二、步骤三、步骤四。
其中,设备状态信息的通讯格式形式具体说明如下:每条信息会被\n(换行符)分割为不定长的多段,其中第一段是固定的头部,内容为2个字符——SH。第二段是信息类型,用数字字符表示,1表示这是个包含设备状态的信息。2表示这是个心跳包,3表示这是个包含电能数据的信息,4表示这是个控制指令,5表示这是个请求电能数据的信息。具体而言,当表示设备信息时,格式为“SH\n 1\n唯一ID\n类型\n名称\n房间\n其他数据”,其中唯一的ID为设备在服务器端编程使用的ID,由数字字符组成,范围为0到2147483648;类型包括开关、日光灯等,可以在服务器端进行添加,通常也用数字字符来表示;名称为设备名称,房间为设备所在房间名;其他数据主要包含设备的某些特定信息,对于智能家居控制系统而言,绝大多数设备最重要的状态信息就是设备的开关状态,因此这里可以设置1表示打开,0表示关闭,通讯格式则大大简化。当表示心跳包时,格式只需设置为“SH\n 2”,因为它不包含任何信息,只是为了检测网络连接状况。当表示电能数据时,格式为“SH\n3\n ID\n有功功率\n电流\n电压\n频率”,其中第三段是设备的身份标识号码(ID),由数字字符组成,指明这条信息所指的设备,而有功功率、电流、电压、频率都由数字字符组成。一个设备的功率信息的长度最好不要超过1400个字符,因为大部分网络设备的MTU的大小在1400到1500之间。超过MTU大小的数据包会被拆成多个小于MTU的包发送。其中任何一个包丢包都会导致整个数据包无法被接收。当表示控制信息时,格式为“SH\n4\n ID\n控制信息”,其中第三段为设备ID,第四段为控制信息,如对日光灯而言,打开为1,关闭为0。当表示请求设备电能数据的信息时,格式为“SH\n5\n ID”,其中ID为所请求的设备ID。以上通讯格式的可拓展性主要来自于两点:不定长的分段以及由设备类来定义其他数据段的格式,理论上能支持2147483648种设备类型,在将来很长的一段时间内都不会出现类型编号不够用的情况。
经过此步骤,手机客户端上已经收到了设备中各个连接设备的初始状态,并向用户显示出来,用户可以根据显示信息清晰地看到连接设备的数量与连接时的初始状态。
步骤二,刷新客户端的设备状态信息,客户端收到各个设备的初始状态信息之后,每5秒通过Socket通信向服务器发送一个心跳包。服务器收到心跳包后,依次返回各个已连接设备的状态信息,这里的通讯格式与步骤一中完全相同。这样做的目的,一方面是为了刷新手机客户端的设备状态信息,及时纠正通信过程中偶尔出现的丢包现象引起的设备状态错误,另一方面是由于系统在正常运行的过程中可能会增加或减少设备的数量,定期刷新设备信息有助于及时更新设备信息,保证客户端设备信息的正确性。
步骤三,用户在远程控制系统中进行控制操作时,客户端向服务器发送控制指令(“SH\n4\n ID\n控制信息”);服务器收到控制指令后进行判断并回复客户端设备状态信息,从而控制设备运行。例如对于最常见的开关控制而言,控制信息部分“1”表示开启,“0”表示关闭,若手机客户端向服务器通过Socket通信发送某一ID设备的控制信息为“1”的指令,服务器收到该指令,首先判断指令内容开头是否为“SH”,若不是,则该信息为无效信息,将其弃置;若是,则读取第一个换行符之后的数据“4”,判断为客户端控制指令,于是服务器需进一步读取该指令第二个换行符之后的设备ID和第三个换行符之后的控制信息“1”。根据读取到的设备ID,服务器需要先读取此时该ID代表的设备的开关信息,若设备原来的状态为开启状态,则接收到控制信息“1”后不需要进行动作;若设备原来的状态为关闭状态,则接收到控制信息“1”后发送指令控制该设备转变为开启状态。最后,服务器返回状态变化后的各个设备的运行状态(SH\n 1\n唯一ID\n类型\n名称\n房间\n其他数据),客户端接收后进行刷新。
步骤四,用户请求设备运行时的详细电能信息时,向服务器发送请求指令(“SH\n5\nID”);服务器收到请求指令后,返回该设备实时的电能数据(“SH\n3\n ID\n有功功率\n电流\n电压\n频率\n计时值”)。例如若客户端向某一ID的设备通过Socket通信向服务器发送查询详细电能信息的请求指令,服务器收到该请求指令,首先判断指令内容开头是否为“SH”,若不是,则该信息为无效信息,将其弃置;若是,则读取第一个换行符之后的数据“5”,判断为客户端查询设备电能信息的指令,于是服务器需要进一步读取该指令第二个换行符之后的设备ID。根据读取到的设备ID,服务器需要先读取此时该ID代表的设备的电能信息,包括电压、电流、有功功率和频率,并形成电能信息指令(“SH\n3\n ID\n有功功率\n电流\n电压\n频率”)通过Socket通信发送至客户端。客户端收到服务器返回的信息,首先判断信息开头是否是“SH”,若不是,则此信息为无用信息,弃置;若是,则读取第一个换行符之后的数据“3”,判断为服务器发送的电能信息指令,则需依次读取各个换行符之后的ID、有功功率、电压、电流和频率数值,并显示在客户端的对应设备内。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
Claims (4)
1.一种基于智能家居控制系统的网络通讯方法,其特征在于,包括以下步骤:
步骤一,客户端向服务器发送一个心跳包,用于检测网络连接情况;服务器收到心跳包后,依次返回各个已连接设备的状态信息;客户端一直未收到服务器返回的设备状态信息,则需一直向服务器发送心跳包;如果客户端收到服务器返回的设备状态信息,则执行步骤二、步骤三、步骤四;
步骤二,刷新客户端的设备状态信息;
步骤三,客户端向服务器发送控制指令;服务器收到控制指令后进行判断并回复客户端设备状态信息,控制设备运行;
步骤四,用户请求设备运行时的详细电能信息时,向服务器发送请求指令;服务器收到请求指令后,返回该设备实时的电能数据。
2.根据权利要求1所述的基于智能家居控制系统的网络通讯方法,其特征在于,所述设备状态信息的通讯格式形式包括三段:第一段是固定的头部;第二段是信息类型,用数字字符表示;第三段是设备的身份标识号码,由数字字符组成。
3.根据权利要求1所述的基于智能家居控制系统的网络通讯方法,其特征在于,所述客户端是通过Socket通信向服务器发送一个心跳包。
4.根据权利要求1所述的基于智能家居控制系统的网络通讯方法,其特征在于,所述客户端是通过Socket通信向服务器发送查询详细电能信息的请求指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510080441.1A CN104660474A (zh) | 2015-02-13 | 2015-02-13 | 基于智能家居控制系统的网络通讯方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510080441.1A CN104660474A (zh) | 2015-02-13 | 2015-02-13 | 基于智能家居控制系统的网络通讯方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104660474A true CN104660474A (zh) | 2015-05-27 |
Family
ID=53251203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510080441.1A Pending CN104660474A (zh) | 2015-02-13 | 2015-02-13 | 基于智能家居控制系统的网络通讯方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104660474A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108075947A (zh) * | 2017-07-31 | 2018-05-25 | 北京微应软件科技有限公司 | 存储设备、pc端、通信连接连通性的维护方法及系统 |
CN109005073A (zh) * | 2018-09-12 | 2018-12-14 | 北京威泰视信科技有限公司 | 设备管理系统 |
CN111314372A (zh) * | 2020-03-04 | 2020-06-19 | 海信视像科技股份有限公司 | 一种显示设备唤醒的方法、控制终端、服务器及显示设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2005266943A1 (en) * | 2004-07-23 | 2006-02-02 | Citrix Systems, Inc. | Systems and methods for optimizing communications between network nodes |
CN102264152A (zh) * | 2010-05-24 | 2011-11-30 | 珠海格力电器股份有限公司 | 传输数据的方法、gprs终端以及服务器 |
CN103236960A (zh) * | 2013-04-18 | 2013-08-07 | 重庆邮电大学 | 一种家庭服务器和多终端之间进行数据交互的方法及系统 |
CN104181913A (zh) * | 2014-08-14 | 2014-12-03 | 重庆泰凯科技有限公司 | 用于智能家居系统的测试系统 |
CN104252136A (zh) * | 2014-10-10 | 2014-12-31 | 中国联合网络通信集团有限公司 | 智能家居控制方法和系统 |
CN104348567A (zh) * | 2014-10-16 | 2015-02-11 | 杨林 | 一种带故障检测的公共广播系统 |
-
2015
- 2015-02-13 CN CN201510080441.1A patent/CN104660474A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2005266943A1 (en) * | 2004-07-23 | 2006-02-02 | Citrix Systems, Inc. | Systems and methods for optimizing communications between network nodes |
CN102264152A (zh) * | 2010-05-24 | 2011-11-30 | 珠海格力电器股份有限公司 | 传输数据的方法、gprs终端以及服务器 |
CN103236960A (zh) * | 2013-04-18 | 2013-08-07 | 重庆邮电大学 | 一种家庭服务器和多终端之间进行数据交互的方法及系统 |
CN104181913A (zh) * | 2014-08-14 | 2014-12-03 | 重庆泰凯科技有限公司 | 用于智能家居系统的测试系统 |
CN104252136A (zh) * | 2014-10-10 | 2014-12-31 | 中国联合网络通信集团有限公司 | 智能家居控制方法和系统 |
CN104348567A (zh) * | 2014-10-16 | 2015-02-11 | 杨林 | 一种带故障检测的公共广播系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108075947A (zh) * | 2017-07-31 | 2018-05-25 | 北京微应软件科技有限公司 | 存储设备、pc端、通信连接连通性的维护方法及系统 |
CN108075947B (zh) * | 2017-07-31 | 2024-02-27 | 北京微应软件科技有限公司 | 存储设备、pc端、通信连接连通性的维护方法及系统 |
CN109005073A (zh) * | 2018-09-12 | 2018-12-14 | 北京威泰视信科技有限公司 | 设备管理系统 |
CN111314372A (zh) * | 2020-03-04 | 2020-06-19 | 海信视像科技股份有限公司 | 一种显示设备唤醒的方法、控制终端、服务器及显示设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100596759B1 (ko) | 홈 네트워크 시스템 | |
CN102790776B (zh) | 心跳连接归一处理方法、终端、服务器及通信系统 | |
CN109218261B (zh) | 一种数据处理方法及数据处理装置 | |
CN109391500A (zh) | 一种配置管理方法、装置及设备 | |
CN108322437B (zh) | 用于多规约设备之间的自适应通讯方法和装置 | |
CN109819498A (zh) | 一种智能设备、智能设备自动配网方法及系统 | |
CN112995133B (zh) | 基于modbus协议的解析方法、装置及系统 | |
EP1770906B1 (en) | A method for realizing terminals management in the network device | |
US10592316B2 (en) | Message processing method, apparatus, and system | |
CN103532784A (zh) | 一种发送心跳消息的方法、系统、终端及网络设备 | |
CN104660474A (zh) | 基于智能家居控制系统的网络通讯方法 | |
CN110290092B (zh) | 一种基于可编程交换机的sdn网络配置管理方法 | |
CN103312708A (zh) | 一种基于租约文件的ip设定方法及系统 | |
CN107800597A (zh) | 家电设备的数据传输方法、装置和计算机可读存储介质 | |
CN111726414A (zh) | 一种车辆上报数据的处理方法和车辆数据上报系统 | |
CN107579920B (zh) | 数据流的传输方法、装置、存储介质及处理器 | |
CN107070719B (zh) | 一种设备管理方法和装置 | |
CN114500633B (zh) | 数据转发方法、相关装置、程序产品及数据传输系统 | |
CN108810936A (zh) | 一种LoRa终端的配置方法及装置 | |
CN113824594B (zh) | 一种报文发送方法及设备 | |
CN104125321A (zh) | 一种联系信息更新方法、装置和系统 | |
CN100499495C (zh) | 一种基于snmp协议的远程登录实现方法 | |
CN110888329A (zh) | 设备厂家开放式接入的智能家居平台及其数据处理方法 | |
CN102256241B (zh) | 终端独立承载协议信息获取方法、服务器及智能卡 | |
CN113704647A (zh) | 跳转多种类型页面的方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150527 |