技术新讯 > 计算推算,计数设备的制造及其应用技术 > 嵌入式设备的部署方法、分布式板件的通讯方法及座椅与流程  >  正文

嵌入式设备的部署方法、分布式板件的通讯方法及座椅与流程

  • 国知局
  • 2024-08-22 15:11:29

本技术涉及嵌入式通讯,尤其涉及一种嵌入式设备的部署方法、分布式板件的通讯方法及座椅。

背景技术:

1、随着智能化的快速发展,一些人体工学椅中增加了智能化配置,例如腰托的电动调节、基于重量感应的久坐提醒、提供按摩功能等,这些智能化配置的实现都需要相应的驱动板和驱动程序实现,通过在人体工学椅中设置主控板,控制驱动板执行相应的功能,并且主控板也可以向驱动板发送请求来获取数据。

2、在互联网通讯领域,rpc(remote procedure call,远程过程调用)协议能够提供尽可能透明的调用机制和完善的容错机制,降低开发者开发难度,使开发者不需要直接面对底层通信和数据交换的复杂性。在嵌入式领域,多个嵌入式设备之间通常通过定制化的轻量级协议进行通信,但是采用rpc协议需要面对rpc协议占用资源多的问题,并且由于要实现rpc协议的跨平台能力,需要使用特定领域语言来编写远程服务接口,导致开发者需要学习相关的编程语言才能使用,显然不适用于人体工学椅的这类包含资源非常受限的、没有跨平台需求的嵌入式设备。

技术实现思路

1、以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。

2、本技术实施例提供了一种嵌入式设备的部署方法、分布式板件的通讯方法及座椅,能够简化rpc框架,适用于资源非常受限的、没有跨平台需求的嵌入式设备。

3、第一方面,本技术实施例提供了一种人体工学椅的自动调整方法,应用于人体工学椅的嵌入式设备,所述嵌入式设备包括作为服务端的驱动板和作为客户端的主控板;所述部署方法包括:

4、在所述驱动板的程序开发过程中,接收开发者输入的服务函数,所述服务函数包括自定义的函数名;

5、调用rpc协议组件的注册接口,将所述服务函数作为用户远程函数,注册到所述rpc协议组件内部的用户远程函数列表;

6、在所述主控板的程序编译过程中,调用所述rpc协议组件中的代理函数生成脚本,通过所述代理函数生成脚本在所述主控板的程序中生成与所述服务函数同名的代理函数,所述代理函数用于在所述主控板发送请求报文时,在所述请求报文中添加所述代理函数对应的用户远程函数的编号。

7、在一些实施例中,所述部署方法还包括:

8、确定所述服务函数的头文件和函数实现文件;

9、在所述驱动板的程序编译过程中,将所述服务函数的函数实现文件加入编译;

10、通过所述rpc协议组件中的代理函数脚本生成与所述服务函数的头文件对应的代理函数实现文件,所述代理函数实现文件用于在所述主控板的程序编译过程加入编译。

11、在一些实施例中,通过以下方式将所述服务函数作为用户远程函数注册到所述rpc协议组件内部的用户远程函数列表:

12、所述rpc协议组件检查所述用户远程函数列表,将待注册的用户远程函数名与已注册的用户远程函数名比较;

13、若存在相同函数名,所述rpc协议组件返回已注册同名函数的提示消息;

14、若不存在相同函数名,所述rpc协议组件在所述用户远程函数列表中新增一行写入待注册的用户远程函数名,并为待注册的用户远程函数分配对应的编号。

15、在一些实施例中,所述服务函数还包括返回码和参数列表,所述服务函数的格式为:

16、返回码 函数名(输入参数缓冲区地址,输入参数缓冲区有效长度,输出参数缓冲区地址,输出参数缓冲区有效长度)。

17、在一些实施例中,所述rpc协议组件对应的rpc协议定义所述驱动板和所述主控板之间交互的报文的报文格式,其中:

18、请求报文的报文格式中的字段依次为:序列号、请求标识、用户远程函数的编号、调用参数的长度、调用参数的值;

19、响应报文的报名格式中的字段依次为:序列号、响应标识、用户远程函数的编号、返回码、返回参数值的长度、返回参数值。

20、第二方面,本技术实施例提供了一种分布式板件的通讯方法,应用于通过第一方面所述的部署方法部署完成的人体工学椅的嵌入式设备;所述通讯方法包括:

21、所述主控板通过所述代理函数生成请求报文,所述请求报文包括所述代理函数对应的用户远程函数的编号;

22、所述主控板将所述请求报文序列化,并将序列化后的所述请求报文发送到所述驱动板;

23、所述驱动板通过rpc协议组件的通讯接口接收所述请求报文,将接收到的所述请求报文反序列化并解析得到所述用户远程函数的编号;

24、所述驱动板根据所述用户远程函数的编号查找所述rpc协议组件内部的用户远程函数列表,确定与用户远程函数的编号对应的服务函数;

25、所述驱动板等待所述服务函数返回执行结果后生成响应报文,所述响应报文包括所述服务函数的对应的用户远程函数的编号和所述执行结果;

26、所述驱动板将所述响应报文序列化,并将序列化后的所述响应报文发送到所述主控板;

27、所述主控板将接收到的所述响应报文反序列化并解析得到所述执行结果。

28、在一些实施例中,所述主控板通过所述代理函数生成请求报文,包括:

29、所述主控板确定当前发起的请求对应的代理函数;

30、所述主控板根据所述代理函数确定对应的用户远程函数的编号;

31、所述主控板在报文中添加序列号、请求标识、所述代理函数对应的用户远程函数的编号、调用参数的长度和调用参数的值,生成请求报文。

32、在一些实施例中,所述驱动板将接收到的所述请求报文反序列化并解析得到所述用户远程函数的编号,包括:

33、所述驱动板调用所述rpc协议组件的序列化接口,将接收到的所述请求报文反序列化;

34、所述驱动板解析反序列化后的所述请求报文的序列号,根据接收到的至少一个所述请求报文的序列号确定所述主控板的请求报文完整,进而确定所述请求报文中位于请求标识字段后的用户远程函数的编号。

35、在一些实施例中,所述驱动板等待所述服务函数返回执行结果后生成响应报文,包括:

36、所述驱动板加载并执行所述服务函数,并等待所述服务函数返回执行结果;

37、所述驱动板接收到所述执行结果后,确定所述执行结果中的返回参数值的长度和返回参数值;

38、所述驱动板在报文中添加返回码、所述服务函数确定对应的用户远程函数的编号、所述返回参数值的长度和所述返回参数值,生成响应报文。

39、在一些实施例中,所述驱动板在报文中添加返回码、所述服务函数确定对应的用户远程函数的编号、所述返回参数值的长度和所述返回参数值,生成响应报文,包括:

40、所述驱动板确定发送所述执行结果所需的响应报文的数量,生成对应数量序列的序列号;

41、按照所述序列号的顺序在每个所述响应报文中填充对应顺序的所述序列号,并在最后一个所述响应报文中设置所述返回码为第一数值,在其他所述响应报文中设置所述返回码为第二数值;

42、将所述服务函数确定对应的用户远程函数的编号、所述返回参数值的长度和所述返回参数值按照所述响应报文的顺序填充所述响应报文。

43、在一些实施例中,所述主控板解析经过反序列化后的所述响应报文得到所述执行结果,包括:

44、所述主控板将经过反序列化后的所述响应报文中的所述返回参数值的长度和所述返回参数值填充到输出参数缓冲区;

45、所述主控板根据所述返回码判断发起的请求是否被执行成功;

46、若确定发起的请求被执行成功且所述返回码包含所述第一数值,从所述输出参数缓冲区中读取所述返回参数值。

47、在一些实施例中,所述若确定发起的请求被执行成功且所述返回码包含所述第一数值,从所述输出参数缓冲区中读取所述返回参数值,包括:

48、发起请求的所述主控板的应用程序确定所述返回码的值等于所述第一数值,则确定发起的请求被执行成功且接收到最后一个序列号的响应报文;

49、检查所述响应报文中的序列号确定全部所述响应报文接收完成,根据所述返回参数值的长度从所述输出参数缓冲区中读取所述返回参数值。

50、本技术实施例提供的嵌入式设备的部署方法、分布式板件的通讯方法及座椅,至少具有如下有益效果:在驱动板的程序开发过程中,开发者定义服务函数并将服务函数作为用户远程函数注册到rpc协议组件内部的用户远程函数列表,然后在主控板的程序编译过程中调用rpc协议组件内部的用户远程函数列表来生成与服务函数同名的代理函数,这样主控板在发起请求的时候可以调用同一名字的服务函数,实现透明调用,由于通过用户远程函数列表部署代理函数,且驱动板和主控板属于同平台交互,因此本技术驱动板和主控板之间交互过程中,不需要采用传统rpc协议组件中的接口描述语言来编写远程服务接口,因此本技术的rpc协议组件具备体积小、占用资源低的优点,尤其适用于人体工学椅这类资源受限的、无需跨平台的嵌入式设备也能使用类似rpc框架的开发模式,能够提高开发效率。

51、本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

本文地址:https://www.jishuxx.com/zhuanli/20240822/281565.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。