一种基于半双工总线的按键事件扫描方法、网关和终端技术

技术编号:38872644 阅读:10 留言:0更新日期:2023-09-22 14:08
本发明专利技术提供了一种基于半双工总线的按键事件扫描方法、网关和终端,涉及物联网技术领域。在该按键事件扫描方法中,采用了报数的思想,由网关向多个终端发送报数指令,各终端响应于报数指令依次向网关发送包括指示终端是否发生了按键事件的类型值的第一响应信息,网关根据第一响应信息确定并记录发生了按键事件的终端为待查询终端后,再依次向各待查询终端查询按键事件数据。与传统的网关直接扫描各终端的按键信息或直接将按键集成到设备上相比,本发明专利技术的方法可以简化按键扫描的开发,提高按键扫描效率和可靠性。高按键扫描效率和可靠性。高按键扫描效率和可靠性。

【技术实现步骤摘要】
一种基于半双工总线的按键事件扫描方法、网关和终端


[0001]本专利技术涉及物联网
,特别是一种基于半双工总线的按键事件扫描方法、网关和终端。

技术介绍

[0002]随着物联网、智能家居等不断发展,越来越多的设备需要互联,其中按键终端与控制设备互联的应用必不可少。
[0003]目前比较成熟的按键终端与控制设备互联的方案是将按键终端和按键网关用458总线进行连接,然后按键网关逐个扫描按键终端,获取当前按键的控制信息。但是,逐个扫描按键终端效率低下,当按键终端个数较多时,延时比较严重。
[0004]此外,传统的方法是直接将按键集成到设备上面,直接进行控制,而基于通信的按键往往要么协议复杂、开发难度大,要么效率低下。

技术实现思路

[0005]鉴于上述问题,本专利技术提供了一种克服上述问题或者至少部分地解决上述问题的基于半双工总线的按键事件扫描方法、网关和终端。
[0006]本专利技术的一个目的是简化按键扫描的开发,提高按键扫描效率和可靠性。
[0007]本专利技术一个进一步的目的是提高报数效率。
[0008]本专利技术另一个进一步的目的是节省终端的报数应答时间。
[0009]本专利技术又一个进一步的目的是提高按键事件查询的可靠性。
[0010]特别地,根据本专利技术的一方面,提供了一种基于半双工总线的按键事件扫描方法,应用于网关,包括:
[0011]向多个终端发送报数指令,所述多个终端与所述网关通过所述半双工总线通信连接;
[0012]接收所述多个终端依次发送的关于所述报数指令的第一响应信息,各所述终端的所述第一响应信息包括指示该终端是否发生了按键事件的类型值;
[0013]根据所述第一响应信息中的类型值,将发生了按键事件的终端记录为待查询终端;
[0014]依次向各所述待查询终端发送查询指令;
[0015]接收各所述待查询终端关于所述查询指令的第二响应信息,各所述待查询终端的所述第二响应信息包括该待查询终端的按键事件数据;
[0016]从各所述第二响应信息中获取各所述待查询终端的按键事件数据。
[0017]可选地,各所述终端的地址为指定数值范围内的任意值且各不相同,各所述终端按照地址从小到大的顺序依次发送所述第一响应信息;
[0018]在接收所述多个终端依次发送的关于所述报数指令的第一响应信息的过程中,所述方法还包括:
[0019]在发送所述报数指令后和在每一次接收到一个所述终端的所述第一响应信息后,判断是否已经收到所有所述终端的所述第一响应信息或是否超过预定时间未接收到下一个所述终端的所述第一响应信息;
[0020]若是,则结束接收所述第一响应信息的操作。
[0021]可选地,每顺序相邻的两个所述终端的地址的数值差为1;
[0022]在发送所述报数指令和在每一次接收到一个所述终端的所述第一响应信息后,判断是否超过预定时间未接收到下一个所述终端的所述第一响应信息的步骤包括:
[0023]在发送所述报数指令后和在每一次接收到一个所述终端的所述第一响应信息后开始计时,并计算相应的所述预定时间;
[0024]若计时时间超过计算出的所述预定时间时仍未接收到下一个所述终端的所述第一响应信息,则判断超过预定时间未接收到下一个所述终端的所述第一响应信息;
[0025]其中,在发送所述报数指令后的相应的所述预定时间按照下式(1)进行计算:
[0026]T
pre = T2 + T1 * max_addr *2
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0027]在每一次接收到一个所述终端的所述第一响应信息后的相应的所述预定时间按照下式(2)进行计算:
[0028]T
pre = T2 + T1 * (max_addr
ꢀ‑ꢀ
last_addr)*2
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0029]式(1)和式(2)中,T
pre
表示所述预定时间,max_addr为最大的终端地址,last_addr为当前接收到的第一响应信息对应的终端的地址,T1为所述终端发送响应信息的字节耗时,T2为所述半双工总线由一个所述终端占用切换到另一个所述终端占用所需的总线切换时间,T2<T1。
[0030]可选地,所述查询指令包括第一校验和,所述第二响应信息包括第二校验和;
[0031]在接收到各所述第二响应信息后,所述方法还包括:
[0032]根据所述第二校验和对接收的各所述第二响应信息进行校验,若未通过校验,则丢弃所述第二响应信息。
[0033]根据本专利技术的另一方面,还提供了一种基于半双工总线的按键事件扫描方法,应用于各终端,包括:
[0034]接收网关发送的报数指令,各所述终端与所述网关通过所述半双工总线通信连接;
[0035]响应于所述报数指令,依照预定次序向所述网关发送第一响应信息,所述第一响应信息包括指示该终端是否发生了按键事件的类型值,以便所述网关根据所述响应信息中的类型值,将发生了按键事件的终端记录为待查询终端;
[0036]在接收到所述网关依次向各所述待查询终端发送的查询指令的情况下,响应于所述查询指令,向所述网关发送第二响应信息,所述第二响应信息包括该终端的按键事件数据。
[0037]可选地,各所述终端的地址为指定数值范围内的任意值且各不相同;
[0038]响应于所述报数指令,依照预定次序向所述网关发送第一响应信息的步骤包括:
[0039]响应于所述报数指令,按照自身地址在所有终端的地址从小到大的排列中的顺序位置发送所述第一响应信息。
[0040]可选地,每顺序相邻的两个所述终端的地址的数值差为1;
[0041]响应于所述报数指令,按照自身地址在所有终端的地址从小到大的排列中的顺序位置发送所述第一响应信息的步骤包括:
[0042]在接收到所述报数指令后进行计时,并按照下式(3)计算延时时间作为目标延时时间:
[0043]T
del = T2 + T1 * (addr2
ꢀ‑ꢀ
1)*2
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3);
[0044]在计时时间到达所述目标延时时间时,发送所述第一响应信息;
[0045]其中,T
del
表示延时时间,addr2为所述终端的自身地址,T1为所述终端发送响应信息的字节耗时,T2为所述半双工总线由一个所述终端占用切换到另一个所述终端占用所需的总线切换时间,T2<T1。
[0046]可选地,响应于所述报数指令,按照自身地址在所有终端的地址从小到大的排列中的顺序位置发送所述第一响应信息的步骤还包括:
[0047]在每一次接收到地址比自身地址小的其他终端发送的所述第一响应信息时,重新计时,并按照下式(4)更新所述延时时间,并以更新的所述延时时间作为所述本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于半双工总线的按键事件扫描方法,应用于网关,包括:向多个终端发送报数指令,所述多个终端与所述网关通过所述半双工总线通信连接;接收所述多个终端依次发送的关于所述报数指令的第一响应信息,各所述终端的所述第一响应信息包括指示该终端是否发生了按键事件的类型值;根据所述第一响应信息中的类型值,将发生了按键事件的终端记录为待查询终端;依次向各所述待查询终端发送查询指令;接收各所述待查询终端关于所述查询指令的第二响应信息,各所述待查询终端的所述第二响应信息包括该待查询终端的按键事件数据;从各所述第二响应信息中获取各所述待查询终端的按键事件数据。2.根据权利要求1所述的按键事件扫描方法,其中,各所述终端的地址为指定数值范围内的任意值且各不相同,各所述终端按照地址从小到大的顺序依次发送所述第一响应信息;在接收所述多个终端依次发送的关于所述报数指令的第一响应信息的过程中,所述方法还包括:在发送所述报数指令后和在每一次接收到一个所述终端的所述第一响应信息后,判断是否已经收到所有所述终端的所述第一响应信息或是否超过预定时间未接收到下一个所述终端的所述第一响应信息;若是,则结束接收所述第一响应信息的操作。3.根据权利要求2所述的按键事件扫描方法,其中,每顺序相邻的两个所述终端的地址的数值差为1;在发送所述报数指令和在每一次接收到一个所述终端的所述第一响应信息后,判断是否超过预定时间未接收到下一个所述终端的所述第一响应信息的步骤包括:在发送所述报数指令后和在每一次接收到一个所述终端的所述第一响应信息后开始计时,并计算相应的所述预定时间;若计时时间超过计算出的所述预定时间时仍未接收到下一个所述终端的所述第一响应信息,则判断超过预定时间未接收到下一个所述终端的所述第一响应信息;其中,在发送所述报数指令后的相应的所述预定时间按照下式(1)进行计算:T
pre = T2 + T1 * max_addr *2
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)在每一次接收到一个所述终端的所述第一响应信息后的相应的所述预定时间按照下式(2)进行计算:T
pre = T2 + T1 * (max_addr
ꢀ‑ꢀ
last_addr)*2
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)式(1)和式(2)中,T
pre
表示所述预定时间,max_addr为最大的终端地址,last_addr为当前接收到的第一响应信息对应的终端的地址,T1为所述终端发送响应信息的字节耗时,T2为所述半双工总线由一个所述终端占用切换到另一个所述终端占用所需的总线切换时间,T2<T1。4.根据权利要求1所述的按键事件扫描方法,其中,所述查询指令包括第一校验和,所述第二响应信息包括第二校验和;在接收到各所述第二响应信息后,还包括:根据所述第二校验和对接收的各所述第二响应信息进行校验,若未通过校验,则丢弃
所述第二响应信息。5.一种基于半双工总线的按键事件扫描方法,应用于各终端,包括:接收网关发送的报数指令,各所述终端与所述网关通过所述半双工总线通...

【专利技术属性】
技术研发人员:杨士瑞武晓阳马俊杰赵佳明张浩董长远
申请(专利权)人:北京和欣运达科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1