基于RS-485协议的物理设备驱动对接方法与流程

文档序号:23418264发布日期:2020-12-25 11:38阅读:501来源:国知局
基于RS-485协议的物理设备驱动对接方法与流程

本发明涉及通信控制方法的技术,尤其涉及一种基于rs-485协议的物理设备驱动对接方法,属于智能设备制造技术领域。



背景技术:

智能家居近年来发展日趋激烈,市场上各类智能设备生产商也都希望通过自身产品在驱动上的个性化标准,打造属于自己的智能家居生态圈。不同于较老的knx总线已有业界统一的规范标准,485物理设备在各厂家、各设备、甚至同一设备的不同型号,都有个性化的驱动标准。

常见的智能设备,如海尔空调、松下空调等都有自己的485驱动。区别于modbus物理设备按字节表示某属性的特性,485物理设备的各个属性不仅可以像modbus物理设备一样分配在不同字节,也可以在同一字节中通过不同二进制数据位包含多个属性信息,要求对接过程中控制粒度细微到一字节包含多属性,难度更大。



技术实现要素:

本发明提供一种新的基于rs-485协议的物理设备驱动对接方法,通其中中控设备通过地址区分同一总线上的rs-485协议设备(例如不同品牌空调、地暖、新风等),向不同地址发送报文实现不同的rs-485协议设备驱动,进而实现对不同rs-485协议智能设备的控制,以解决现有技术中不能通过一个中控设备控制多个不同设备的技术问题。

本发明实施例的基于rs-485协议的物理设备驱动对接方法,用于通过中控主机控制多台物理设备,本发明包括以下步骤;

步骤一、将物理设备的地址、属性、属性设定值、驱动报文格式以配置形式预存入中控主机,以使中控主机在收到外部对设备的控制命令后,解析受控物理设备地址、属性、设定值,代入对应的驱动报文格式并生成控制驱动报文;

步骤二、中控主机将控制驱动报文发送到485物理总线上,物理设备收到控制驱动报文后,解析控制驱动报文内容并执行相应的设备操作,从而实现物理设备的控制流程;

步骤三、物理设备在状态改变后,通过485总线发送自身的状态改变数据;中控主机通过解析该状态改变数据,以提取其中部分或全部内容,从而在中控主机上更新该内容对应的物理设备的属性。

如上所述的基于rs-485协议的物理设备驱动对接方法,其中,所述中控主机内设置有用于存储物理设备地址、属性、属性设定值、驱动报文格式的存储器;

所述中控主机内设置用于处理相关数据的处理器,该存储器与所述处理器相连。

如上所述的基于rs-485协议的物理设备驱动对接方法,其中,每个所述物理设备的地址、属性、属性设定值、驱动报文格式以配置形式预存入存储器,以生成该物理设备的配置信息;

所述处理器可获取该配置信息,并修改或复制该配置信息至其它物理设备。

如上所述的基于rs-485协议的物理设备驱动对接方法,其中,所述属性设定值包括:转速、亮度、流量、电压、电流、位置、网络地址、角度、温度、湿度、时间、预设阈值以及空白信息中的一种或多种。

如上所述的基于rs-485协议的物理设备驱动对接方法,其中,所述物理设备的地址为rs-485协议中的网络地址。

如上所述的基于rs-485协议的物理设备驱动对接方法,其中,所述物理设备包括:电灯、插座、路由器、无线网关、空调、热水器、饮水机、净水器、洗衣机、风扇、电动窗帘、电源开关、新风机组、净化器、地暖加热器、门窗传感器、智能门锁、冰箱、扫地机器人以及手机中的一种或多种。

如上所述的基于rs-485协议的物理设备驱动对接方法,其中,所述中控设备包括:手机、电脑、路由器;所述中控设备具有存储器,该存储器为逻辑存储器或者物理存储器。

如上所述的基于rs-485协议的物理设备驱动对接方法,其中,所述中控设备与多个所述物理设备相连,所述中控设备和所述物理设备上均设置有可通过rs-485协议进行通信的通信装置。

本发明实施例的优势在于:可以在不改变中控内部逻辑的前提下,通过简单配置实现控制任何类型的rs-485协议设备,并识别任何类型的rs-485协议设备发送的信息内容;同时,由于配置内容公式化,易于理解。

本发明针对一些复杂的rs-485协议驱动,配置支持自定义变量代替字节,最细粒度生成驱动内容,因此支持的rs-485协议设备非常广泛。

本发明同样灵活地支持rs-485协议设备反向发送到中控设备的信息解析(反馈报文解析)。

本发明最终实现的形态为,将底层物理设备的驱动能力向上层抽离,使得非嵌入式专业人员可以在中控主机上层使用web页面配置设备控制完成对接,以配置/去除代码化的方式解决了设备对接时的技术门槛问题。同时,保有原有对接方式的通用性优点,一旦完成同类别设备的对接配置,可以复制中控主机中的配置文件并导入到其它中控主机生成相同配置。最后一点,本发明的方法不需要更新中控主机内部逻辑程序,因此减少对接步骤,加快了对接速度、降低了错误发生率。

附图说明

图1为本发明实施例的基于rs-485协议的物理设备驱动对接方法的流程图;

图2为本发明实施例的基于rs-485协议的物理设备驱动对接方法的系统示意图。

具体实施方式

本发明所述的基于rs-485协议的物理设备驱动对接方法所依存的系统可以采用以下设备制成,且不限于如下设备,例如:手机、无线局域网、无线网关、具有485通信功能的家用电器等。

如图1所示为本发明实施例的基于rs-485协议的物理设备驱动对接方法的流程图;并结合图2。

本方法用于通过中控主机控制多台物理设备。本发明实施例包括以下步骤:

步骤1、将物理设备的地址、属性、属性设定值、驱动报文格式以配置形式预存入中控主机,以使中控主机在收到外部对设备的控制命令后,解析受控物理设备地址、属性、设定值,代入对应的驱动报文格式并生成控制驱动报文;

步骤2、中控主机将控制驱动报文发送到485物理总线上,物理设备收到控制驱动报文后,解析控制驱动报文内容并执行相应的设备操作,从而实现物理设备的控制流程;

步骤3、物理设备在状态改变后,通过485总线发送自身的状态改变数据;中控主机通过解析该状态改变数据,以提取其中部分或全部内容,从而在中控主机上更新该内容对应的物理设备的属性。

一般情况下,所述中控主机内设置有用于存储物理设备地址、属性、属性设定值、驱动报文格式的存储器;

所述中控主机内设置用于处理相关数据的处理器,该存储器与所述处理器相连。

优选的,每个所述物理设备的地址、属性、属性设定值、驱动报文格式以配置形式预存入存储器,以生成该物理设备的配置信息;

所述处理器可获取该配置信息,并修改或复制该配置信息至其它物理设备。

如图2,本发明设计的系统中的物理设备和中控主机均独立供电。中控设备通过rs-485协议总线发送控制信号给物理设备,并接收物理设备返回的状态信息。

当中控主机在485总线上收到物理报文时,先根据报文来源物理地址分辨物理设备并找到对应的解析报文配置,解析报文配置会根据反馈报文长度、功能码判断出反馈报文对应的设备属性,进一步找到反馈报文中属性对应的数据字节(属性值),将属性值与步骤1中定义的对应属性的设定值比较,最后解析出设备反馈的属性和属性值。

本发明实施例还可进行配置复制流程操作,具体如下:

将上述步骤1、2定义为某一物理设备的驱动收发完成配置,则

1)在一条物理总线上存在多台同型号物理设备时,中控主机可以通过“克隆”功能复制已有的物理设备驱动配置,克隆时,主机将从本地h2数据库中查询出该设备配置信息,并修改信息中的设备id并写入一条新数据配置对应复制后的新设备,从而实现快速复制物理设备配置。

2)在多条物理总线上存在相同数量、设备型号的情况下,可以操作其中一台已完成配置中控主机进行“配置导出”,并在其它物理总线上的中控主机中“导入配置“,快速复制物理总线配置。导出配置时,主机将从本地h2数据库查询出所有设备配置信息,并根据信息生成一份配置文件,导入时,主机根据这份配置文件解析出设备信息,再写入本地h2数据库。配置复制可以使同户型、同设备配备的房型配置设备时,可节省人工手动重复配置过程提高效率,同时大幅度降低了配置过程中的误操作。

具体信息的配置如下详解。

海尔rs-485协议空调具体配置实例,为简化驱动协议文档,可根据《海尔空调报文发送协议(简化版)》参考驱动协议要求。

1、开关控制

根据《海尔空调报文发送协议(简化版)》要求,开关报文分别为:

开:f4f50600ff00xx31xxfb

关:f4f50600ff00xx31xxfb

根据上述关于驱动报文组成构成的说明,可以看出,开关报文的第一个变量应该填写设备地址,第二个变量应该填写校验位。由于设备地址在具体的应用场景中是固定的,因此配置中一定是固定值。

而当报文中所有字节都是固定值时,校验位也一定是固定值,因此开关报文在地址确定后,报文一定是固定的。假设设备地址为81,则可以通过校验方式(该海尔空调校验方式为求和校验),得到校验位,最终报文配置如下所示。

开:f4f50600ff008131b7fb

关:f4f50600ff008131b6fb

2、自定义变量

根据《海尔空调报文发送协议(简化版)》中对模式控制、温度控制的要求,可以看到第9、第10字节为组合码字节,分别为模式+温度组合字节、风速+摆风组合字节。为避免在模式、温度和风速、摆风属性中反复写第9、第10字节造成阅读困难,因此可以预先将第9、第10字节设为自定义变量,在相关属性的控制中引用这两个字节,如下所示。

其中第9字节定义为

sum(multiply(sum(divide(mode,10),8),10),minus(temp,10))-hex

即(模式值/16+8)*16+(温度值-16)-dec

第10字节定义为

speed

而speed属性本身值为00-05,因此不包含高位,及高位的摆风属性默认设为停止。

校验位自定义变量byte_check定义为

sublow(sum(189,byte9,byte10),2)

即189+byte9+byte10的结果取最后一个字节,其中189为除byte9、byte10外的所有数据字节的累加和,三者之和超过一个字节,由于校验位要求为一个字节,因此用sublow取低2位(2位一字节)。

3、温度控制、模式控制、风速控制

根据《海尔空调报文发送协议(简化版)》对温度的控制要求,可以看出温度控制本身就是组合码控制,其中byte9、byte10已经在2中完成定义,因此涉及到温度、模式、风速的控制统一使用包含了这些属性的组合码直接控制即可。模式、风速属性与温度相同,都在byte9、byte10中,因此公式相同。

另外,当仅控制一个属性时,如温度属性,则byte10的值,由当前的风速决定。若当前没有风速属性,则设为第一个风速(本例中为自动)作为默认风速计算byte10。同理,仅控制风速时,使用当前温度、模式计算byte9的值,若当前主机内存中缺少温度/模式的属性状态,则使用温度中位数/第一个模式值作为默认值计算byte9。

★温度报文:

★模式报文:

★风速报文:

4、轮询报文

通过发送状态查询报文,可以让设备发送当前状态报文。轮询报文即每隔一段时间,主机向rs-485协议设备询问当前状态的报文。该报文中变量只有设备地址,因此在现场配置过程中确认设备地址后,该报文一般都是常值形式,如例图2所示。

若某些设备查询不同属性有多种报文时,可通过下方添加功能设置多条查询报文。

★轮询报文:

5、状态解析规则-报文格式定义

状态反馈总字节数:指明状态反馈报文的总长度,用于向底层c程序描述状态解析规则。根据《海尔空调报文发送协议(简化版)》,反馈报文总长度为14字节,即hex进制0e。

控制应答总字节数:同1,用于向底层c程序描述状态解析规则,指去除帧头、帧尾、校验位后剩余数据长度,根据1,该值为10,及hex进制0a。

反馈帧头:同1,用于向底层c程序描述反馈报文的帧头形式,进而判断rs-485协议总线上收到的数据是否属于某设备。

起始检验字节序号:同1,用于向底层c程序描述反馈报文的数据位形式,c程序将跳过该值设定的数据字节长度,并判定剩余报文为数据开始,实际作用即去掉帧头。

不检验个数:同1,用于向底层c程序描述除有效数据位外的字节总数。

检验算法号:rs-485协议校验位校验类型选择,根据常见的rs-485协议校验位,提供累加算法、累加算法+1两种校验方式,分别为数据累加取低位一字节、数据累加再+1后取低位1字节。

反馈报文格式定义,如下所示。

6、状态解析规则-状态属性解析

根据5,若收到格式、地址均相符的状态反馈报文,则会进一步根据状态属性解析配置来解析上报的设备状态。如开关、模式、温度、风速等,非空调类设备,也会有对应的属性,反馈属性类型不支持自定义设置,与设备类型相关,例如下所示。

7、状态解析规则-内置变量

6中所阐述的,状态解析的属性变量为主机上层java程序的内置变量,不支持自定义设置,内置变量根据当前主机支持的设备类型,分为:

开关-所有设备均有

亮度-调光灯

模式-空调

风速-空调

温度-空调、地暖

室温-空调、地暖

由于状态反馈也涉及到数据解析,因此在反馈部分也支持数据解析的公式设置。其中,feedback为内置变量,该变量在任何属性的状态解析规则中,代表反馈中”字节位置”上的字节与”bit序列号”相与的结果。将feedback属性带入解析公式后,计算出反馈的属性结果。主机java程序将会把反馈的属性结果与发送的属性值寻找匹配关系,若匹配则认为反馈了对应属性的对应值。

8、反馈解析流程示例

如反馈时,模式的原始反馈为

xxxxxxxxxxxxxx1axxxxxx

则根据模式反馈解析规则,将提取出第08个字节——1a

将1a与bit序列号70做与运算,即:

根据上述发送值可见,解析后的模式反馈值为10,与模式制冷的发送值相同,因此该反馈代表空调的制冷模式反馈。

本发明的基于rs-485协议的物理设备驱动对接方法,其中,所述属性设定值包括:转速、亮度、流量、电压、电流、位置、网络地址、角度、温度、湿度、时间、预设阈值以及空白信息中的一种或多种。

本发明的基于rs-485协议的物理设备驱动对接方法,其中,所述物理设备的地址为rs-485协议中的网络地址。

本发明的基于rs-485协议的物理设备驱动对接方法,其中,所述物理设备包括:电灯、插座、路由器、无线网关、空调、热水器、饮水机、净水器、洗衣机、风扇、电动窗帘、电源开关、新风机组、净化器、地暖加热器、门窗传感器、智能门锁、冰箱、扫地机器人以及手机中的一种或多种。

本发明的基于rs-485协议的物理设备驱动对接方法,其中,所述中控设备包括:手机、电脑、路由器;所述中控设备具有存储器,该存储器为逻辑存储器或者物理存储器。

本发明的基于rs-485协议的物理设备驱动对接方法,其中,所述中控设备与多个所述物理设备相连,所述中控设备和所述物理设备上均设置有可通过rs-485协议进行通信的通信装置。

本发明实施例的优势在于:可以在不改变中控内部逻辑的前提下,通过简单配置实现控制任何类型的rs-485协议设备,并识别任何类型的rs-485协议设备发送的信息内容;同时,由于配置内容公式化,易于理解。

本发明针对一些复杂的rs-485协议驱动,配置支持自定义变量代替字节,最细粒度生成驱动内容,因此支持的rs-485协议设备非常广泛。

本发明同样灵活地支持rs-485协议设备反向发送到中控设备的信息解析(反馈报文解析)。

本发明最终实现的形态为,将底层物理设备的驱动能力向上层抽离,使得非嵌入式专业人员可以在中控主机上层使用web页面配置设备控制完成对接,以配置/去除代码化的方式解决了设备对接时的技术门槛问题。同时,保有原有对接方式的通用性优点,一旦完成同类别设备的对接配置,可以复制中控主机中的配置文件并导入到其它中控主机生成相同配置。最后一点,本发明的方法不需要更新中控主机内部逻辑程序,因此减少对接步骤,加快了对接速度、降低了错误发生率。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助一些变形加必需的通用技术叠加的方式来实现;当然也可以通过简化上位一些重要技术特征来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分为:整体的作用和方法,并配合本发明各个实施例所述的结构。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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