CN115225687A - 一种嵌入式设备rpc组件通讯系统、方法 - Google Patents
一种嵌入式设备rpc组件通讯系统、方法 Download PDFInfo
- Publication number
- CN115225687A CN115225687A CN202210839029.3A CN202210839029A CN115225687A CN 115225687 A CN115225687 A CN 115225687A CN 202210839029 A CN202210839029 A CN 202210839029A CN 115225687 A CN115225687 A CN 115225687A
- Authority
- CN
- China
- Prior art keywords
- rpc
- module
- communication
- data
- frame
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种嵌入式设备RPC组件通讯系统,包括应用软件、RPC模块、MCF模块、通信模块,其中应用软件与RPC模块、MCF模块、通信模块依次连接,可以基于多种通信协议,不仅仅局限于TCP协议等,通过将RPC模块与通信模块、通信设备分割开,通过函数指针的方式可以将任何底层通信设备注册到RPC所提供的接口上,通过上述方法可以将本发明不限制底层通信设备,即通信模块,实现轻量级高性能RPC通信系统。
Description
技术领域
本发明涉及嵌入式设备领域,具体涉及一种嵌入式设备RPC组件通讯系统、方法。
背景技术
随着物联网技术的发展,设备与是设备之间的通信越来越频繁。其中以服务之间的通信和调用最为重要,RPC技术便是其中一种解决方法。
目前支持跨语言跨平台并且相对比较成熟RPC中间件,如Google的GRPC、Zeroc公司的ice等,这些成熟的RPC技术存在如下不足;占用资源多,此类RPC技术,实现技术往往比较复杂,不适用与一些资源极其受限的嵌入式设备;底层协议固定。此类RPC技术,底层协议一般会使用HTTP、TCP,用户需要关注底层实现细节,且局限性大;服务端只能被动响应客户端的请求;技术复杂;占用资源空间大;不支持动态注册服务。
发明内容
为解决上述技术问题,本发明提供了一种嵌入式设备RPC组件通讯系统、方法,实现了一个资源占用低,支持动态注册服务,使用跨平台、高性能的编程语言实现了一种新型RPC技术。
本发明通过以下技术方案得以实现。
本发明提供的一种嵌入式设备RPC组件通讯系统,包括应用软件、RPC模块、MCF模块、通信模块,所述应用软件与RPC模块、MCF模块、通信模块依次连接。
进一步地,应用软件设置在客户端中,通过电信号与RPC模块连接。
进一步地,RPC模块包括uRPC软件包、接口,所述uRPC软件包与RPC应用软件、接口分别连接。
进一步地,MCF模块包含若干主机、从机,所述主机输入端与RPC模块连接,主机输出端与从机输入端连接,从机输出端与通信模块连接。
进一步地,通信模块分别与MCF模块、客户端连接。
上述一种嵌入式设备RPC组件通讯方法,包括下述步骤:
S100、设置通信模块通信方式;
S101、注册服务端;
S102、客户端发起服务调用请求;
S103、客户端将调用请求与参数通过MCF序列化;
S104、客户端通过通信模块将数据发出;
S105、服务端将数据反序列化;
S106、服务端识别数据帧中的请求与参数,调用对应的请求;
S107、服务端将执行后的结果返回客户端。
进一步地,设置通信模块通信方式的方法是:
通过函数指针的方式,将底层通信设备注册到RPC提供的接口上。
进一步地,注册服务端的方法是:
将服务指令注册到服务列表中,且服务指令注册支持动态注册与静态注册。
进一步地,客户端将数据通过MCF序列化的方法包括:
设置帧头,用于识别数据帧起始;
设置帧数据长度,用户接收指定长度帧数据;
设置帧ID,用于区分不同的帧;
设置包格式,用于区分数据的处理方式;
设置数据,要传输的数据;
设置帧检验,用于检测帧数据传输是否正确;
设置帧尾,用于识别数据帧结尾。
进一步地,服务端将数据反序列化包括:
识别数据包的开始、结束标志,确保当前数据帧接收完整;
识别设备ID;数据校验。
本发明通过上述技术手段实现了以下有益效果:
1、不局限底层通讯协议。支持所有的底层通讯协议,用户可方便,快速的部署到现有环境;
2、可以使用json或者blob格式进行序列化和反序列化,实现跨平台,跨语言调用功能;
3、支持并发服务请求和响应,提升系统执行效率;
4、所有代码使用C语言实现,资源占用低,适用于资源环境受限场景。
附图说明
图1是本发明的通信系统连接关系示意图;
图2是本发明的通信方法示意图;
图3是本发明实施例的连接关系示意图;
图4是本发明通信方法说明图;
图5是本发明通信关系示意图。
具体实施方式
下面进一步描述本发明的技术方案,但要求保护的范围并不局限于所述。
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
实施例:
本发明所述的嵌入式设备RPC组件通讯系统包括应用软件、RPC模块、MCF模块、通信模块,其中应用软件与RPC模块、MCF模块、通信模块依次连接。
在本实施例中,应用软件设置在手机端301中,通过电信号与RPC模块通信;RPC模块包括uRPC软件包、接口,uRPC软件包与应用软件、接口分别连接,uRPC软件包是轻量级远程过程调用协议软件包,用于远程服务调用,且可以实现请求端无感知功能调用,支持并发服务请求与响应功能,可以提供简单的自定义服务添加方式,同时支持静态、动态注册方式,且资源占用低,适用于资源环境受限场景。
uPRC软件包可以与多种应用软件对接,如常见的BSD Socket API、HTTP、MQTT等,将这些功能和特性以注册服务的方式添加支持,用于远程调用功能;
uRPC软件包通过接口与MCF(多机通讯协议)模块连接,通过MCF可以同时支持多种数据通讯方式,如UART、API、CAN等,可灵活应用于多种多机通讯场景。
上述MCF模块包含若干主机、从机,其中主机输入端与uRPC软件包连接,主机输出端与从机输入端连接,从机输出端与通信模块连接。
本实施例中通信模块包括各种串口,不限于串口、蓝牙、以太网、字符设备等,主要用于连接MCF与用户端。
根据上述通讯方法,本实施例的具体通信方法如下:
如图3、图5所示,设置通信模块的通信方式为蓝牙模式;在服务端200进行注册,服务端200需要将服务注册到服务列表中,支持动态注册和静态注册,手机端301发起服务调用请求,如手机端301需要向手表端302发送音频文件,手机端301作为请求端调用音频文件安装接口,包括安装/协议音频文件、将音频数据序列化为json/blob,通过选择的通信方式,用蓝牙设备向手表端302发送请求,手表端302中蓝牙设备收到请求后,对手机端301发送的音频数据进行反序列化后存储到文件系统中,通过设置在手表端302中的应用软件进行解析、运行,并将结果返回给手机端301。
本实施例仅作为举例,用户仅需要将自己的用户端设备中通信设备注册到本发明所提供的读写接口上,就可以使用RPC服务,同时本发明可以基于多种通信协议,不仅仅局限于TCP协议等,通过将RPC模块与通信模块、通信设备分割开,通过函数指针的方式可以将任何底层通信设备注册到RPC所提供的接口上,通过上述方法可以将本发明不限制底层通信设备,即通信模块,实现轻量级高性能RPC通信系统。
Claims (10)
1.一种嵌入式设备RPC组件通讯系统,其特征在于:包括应用软件、RPC模块、MCF模块、通信模块,所述应用软件与RPC模块、MCF模块、通信模块依次连接。
2.如权利要求1所述的一种嵌入式设备RPC组件通讯系统,其特征在于:所述应用软件设置在客户端中,通过电信号与RPC模块连接。
3.如权利要求1所述的一种嵌入式设备RPC组件通讯系统,其特征在于:所述RPC模块包括uRPC软件包、接口,所述uRPC软件包与RPC应用软件、接口分别连接。
4.如权利要求1所述的一种嵌入式设备RPC组件通讯系统,其特征在于:所述MCF模块包含若干主机、从机,所述主机输入端与RPC模块连接,主机输出端与从机输入端连接,从机输出端与通信模块连接。
5.如权利要求1所述的一种嵌入式设备RPC组件通讯系统,其特征在于:所述通信模块分别与MCF模块、客户端连接。
6.一种嵌入式设备RPC组件通讯方法,其特征在于:包括
设置通信模块通信方式;
注册服务端;
客户端发起服务调用请求;
客户端将调用请求与参数通过MCF序列化;
客户端通过通信模块将数据发出;
服务端将数据反序列化;
服务端识别数据帧中的请求与参数,调用对应的请求;
服务端将执行后的结果返回客户端。
7.如权利要求6所述的一种嵌入式设备RPC组件通讯方法,所述设置通信模块通信方式的方法是:
通过函数指针的方式,将底层通信设备注册到RPC提供的接口上。
8.如权利要求6所述的一种嵌入式设备RPC组件通讯方法,所述注册服务端的方法是:
将服务指令注册到服务列表中,且服务指令注册支持动态注册与静态注册。
9.如权利要求6所述的一种嵌入式设备RPC组件通讯方法,所述客户端将数据通过MCF序列化的方法包括:
设置帧头,用于识别数据帧起始;
设置帧数据长度,用户接收指定长度帧数据;
设置帧ID,用于区分不同的帧;
设置包格式,用于区分数据的处理方式;
设置数据,要传输的数据;
设置帧检验,用于检测帧数据传输是否正确;
设置帧尾,用于识别数据帧结尾。
10.如权利要求1、6或9所述的一种嵌入式设备RPC组件通讯方法,所述服务端将数据反序列化包括:
识别数据包的开始、结束标志,确保当前数据帧接收完整;
识别设备ID;
数据校验。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210839029.3A CN115225687A (zh) | 2022-07-18 | 2022-07-18 | 一种嵌入式设备rpc组件通讯系统、方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210839029.3A CN115225687A (zh) | 2022-07-18 | 2022-07-18 | 一种嵌入式设备rpc组件通讯系统、方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115225687A true CN115225687A (zh) | 2022-10-21 |
Family
ID=83610979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210839029.3A Pending CN115225687A (zh) | 2022-07-18 | 2022-07-18 | 一种嵌入式设备rpc组件通讯系统、方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115225687A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100303100A1 (en) * | 2007-10-23 | 2010-12-02 | Koninklijke Kpn N.V. | Method and System for Synchronizing a Group of End-Terminals |
CN105007329A (zh) * | 2015-07-31 | 2015-10-28 | 中国航空无线电电子研究所 | 一种基于PCIe的网络共享存储系统及其存储方法 |
CN107438060A (zh) * | 2016-05-28 | 2017-12-05 | 华为技术有限公司 | 一种网络设备中的远程过程调用方法及网络设备 |
CN110677611A (zh) * | 2019-08-16 | 2020-01-10 | 厦门亿联网络技术股份有限公司 | 一种多设备录音同步方法、系统及会议系统 |
CN113535431A (zh) * | 2021-07-19 | 2021-10-22 | 深圳市广通远驰科技有限公司 | 一种服务调用方法及系统 |
CN113704002A (zh) * | 2021-08-30 | 2021-11-26 | 成都长城开发科技有限公司 | 一种基于私有协议的rpc组件的实现方法及rpc组件 |
-
2022
- 2022-07-18 CN CN202210839029.3A patent/CN115225687A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100303100A1 (en) * | 2007-10-23 | 2010-12-02 | Koninklijke Kpn N.V. | Method and System for Synchronizing a Group of End-Terminals |
CN105007329A (zh) * | 2015-07-31 | 2015-10-28 | 中国航空无线电电子研究所 | 一种基于PCIe的网络共享存储系统及其存储方法 |
CN107438060A (zh) * | 2016-05-28 | 2017-12-05 | 华为技术有限公司 | 一种网络设备中的远程过程调用方法及网络设备 |
CN110677611A (zh) * | 2019-08-16 | 2020-01-10 | 厦门亿联网络技术股份有限公司 | 一种多设备录音同步方法、系统及会议系统 |
CN113535431A (zh) * | 2021-07-19 | 2021-10-22 | 深圳市广通远驰科技有限公司 | 一种服务调用方法及系统 |
CN113704002A (zh) * | 2021-08-30 | 2021-11-26 | 成都长城开发科技有限公司 | 一种基于私有协议的rpc组件的实现方法及rpc组件 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10693969B2 (en) | Electronic device using logical channels for communication | |
US20120142332A1 (en) | Data download method and terminal | |
CN105721473A (zh) | 一种web端远程调用优化的方法及系统 | |
US11903062B2 (en) | Method for operating application requiring communication with external device, and electronic device therefor | |
KR20200062793A (ko) | 베어러를 관리하는 전자 장치 및 그 동작 방법 | |
CN112256246A (zh) | 一种用于电力系统中支持跨语言调用的微服务集成架构 | |
WO2021179990A1 (zh) | 一种应用服务器的访问方法及终端 | |
CN111479336A (zh) | Wi-fi芯片组的软件框架和开发平台 | |
Yau et al. | A context-sensitive middleware for dynamic integration of mobile devices with network infrastructures | |
CN111615694B (zh) | 一种服务器节点的选择方法和终端设备 | |
US6847819B1 (en) | Adaptive transport TCP/IP phone management | |
US11294738B2 (en) | Efficient operations of components in a wireless communications device | |
CN115225687A (zh) | 一种嵌入式设备rpc组件通讯系统、方法 | |
CN114616899A (zh) | 终端控制设备和方法 | |
CN113825123A (zh) | 通信方法、装置、电子设备及计算机存储介质 | |
CN111866144A (zh) | 一种服务请求响应方法、装置、fpga设备及存储介质 | |
EP2819375A1 (en) | Method and device for data access | |
CN114745412B (zh) | 双向远程过程调用方法、装置、设备及存储介质 | |
CN112367362B (zh) | 一种数据处理方法、装置、设备及计算机存储介质 | |
CN109890016B (zh) | 一种支持多应用访问蓝牙设备的方法和装置 | |
EP3904970A1 (en) | Methods for acquiring and sending time information, terminal and network device | |
US20240314858A1 (en) | Electronic device using network slice, and operating method | |
CN112187698B (zh) | 通信方法、业务系统、电子设备及其具有的主mcu | |
CN107172640B (zh) | 一种模拟Modem上报消息的方法、存储介质及终端 | |
CN117319554A (zh) | 一种电话号码确定方法、装置、设备及网络侧设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |