一种无线通讯装置和无线通讯方法_2

文档序号:9398989阅读:来源:国知局
f编 解码,相对于XML编码和自定义结构体编码方式,相同大小的数据包能传输更多有效信息, 反序列化效率更高。protobuf中加入上下位机同步的参数,有效防止中间人攻击,提高传输 安全性。
[0040] 无线通讯装置的工作过程如下:
[0041] 无线通讯装置上电后,电源电路先把工作电压进行滤波降噪处理,再输送到蓝牙 芯片的电源输入端。蓝牙芯片获得正常范围内的工作电压后,就启动时钟电路,时钟电路会 输出32MHz固定频率波形来供给蓝牙主芯片,提供时钟信号。蓝牙主芯片进入启动状态,先 内部自动复位一次,然后正式开始运行内部存储的程序,包括配置芯片外部设备的工作参 数、初始化射频模块、通讯接口模块等等。初始化完成后,开始运行蓝牙协议栈、protobuf编 解码和应用程序,接着就进入正式工作状态,可以与移动终端进行连接和数据交换。
[0042] 无线通讯方法中,蓝牙数据采用protobuf编解码方法进行处理,经经过移植过 程,配置关键代码、数据格式、匹配数据、宏定义数据、重新编译等等,将protobuf成功应用 到蓝牙数据上进行编解码处理。protobuf序列化出来的数据量少再加上以K-V的方式来 存储数据,对消息的版本兼容性非常强,还支持多语言平台。protobuf是用于结构化数据 串行化的灵活、高效、自动的方法,对比XML等编解码方法,protobuf更小、更快、也更简单。 本发明的无线通讯方法通过protobuf定义自己的数据结构,然后使用代码生成器生成的 代码来读写这个数据结构,甚至可以在无需重新部署程序的情况下更新数据结构。
[0043] 以扫地机器人为例,本发明采用protobuf的移植处理过程如下:
[0044] (1)根据需要传输的数据定义proto文件。数据传输的数据包括时间、数据类型 (同步序列号or控制指令)、控制指令、序列号。指定的proto文件如下:
[0045] enum rasg type{ NLGOTICATE_SEQ_NUM = Θ; CONTROL = I; .enum cmd-type { MOVE FRONT = 0; MOVE BACK = I; MOvF I.F.FT = 2, MOVE RKiIIT = 3, MOVE STOP = 4,: Al;T0 CLEAN = 5, BMl JMARGE 二 6; } message MessageHeiader { required int32 time = I; required msg_lype msgtype - 2; required cmd-type cmdtype: = 3; required seq - 4;
[0046] (2)使用nanopb工具将proto文件转换成源文件,方便程序调用。(nanopb是嵌 入式版本的protobuf编码和解码程序代码)
[0047] (3)将nanopb的程序文件和步骤2中生成的文件放到蓝牙模块原始工程文件中。
[0048] (4)在蓝牙发送接收数据回调接口中调用nanopb的编解码接口。
[0049] 至此,完成protobuf的移植工作。此后,对于发送和接收的数据,可按照protobuf 协议进行编解码,并通过蓝牙通讯方式传输。
[0050] 优选实施例中,在上下位机的数据传输过程中,根据所定义的proto文件,蓝牙模 块传输的数据都包含有当前传输时间和序列号数据。采用protobuf压缩编码方式,待序列 化的数据发生任何变动,就算是Ibit的改变,序列化以后得到的数据差别会很大。传输数 据中加入传输时间参数,接收方通过验证传输时间参数来决定是否响应接收到的数据包, 如果传输时间参数与预定好的传输时间不一致,接收方不响应该数据包。由于传输数据中 加入传输时间参数,导致每次的数据包都不一样。因此即使第三方通过其他手段拦截到传 输的数据包,也很难逆向推算出改动的数据,达到加强安全性的目的。由于传输数据中加入 序列号数据,在两个设备第一次通讯的时候同步一次起始序列号,以后每传输一个数据包 双方把保存在本地的序列号加一。发送方发送数据包时将发送方本地的序列号填充到发送 数据中,接收方收到数据包以后比对数据包中的序列号与本地保存的序列号是否一致,相 差太大则判断为无效数据。假如第三方拦截了其中传输过程中的一个数据包,重新将数据 包发送给接收方,企图欺骗接收方,因为序列号的递增机制,拦截到的数据包序列号和接收 方本地的序列号不符合,接收方不响应伪造的数据包。同样,即使序列号改变以后,序列化 得到的数据包内容变化很大,因此很难根据拦截到的数据包修改序列号来伪造数据。因此, 上述方法能够非常有效防止第三方伪造数据,增强数据安全性。
[0051 ] 如上,本发明的底层对外通讯协议是设计为可以根据客户需求进行定制的。通过 硬件上的串行数据通讯口,对外发送和接收下位机的串行数据,这些串行数据的协议允许 客户根据需求自由定制,包括串行数据的格式、字节长度、字节类型、校验方法、编码方式、 解码方式等等。
[0052] 本发明采用了 protobuf编解码,实现数据信息更好地加密。使用蓝牙4. 0通讯标 准,本身数据就使用AES-128加密方式,保密性已经很强。在此基础上,蓝牙通讯数据采用 protobuf编解码,相对于XML编码和自定义结构体编码方式,相同大小的数据包能传输更 多有效信息,反序列化效率更高。protobuf中加入上下位机同步的参数,有效防止中间人攻 击,提高传输安全性。
[0053] 综上,由于本发明将protobuf移植到蓝牙通讯中,蓝牙数据采用protobuf编解码 方法进行处理,相同大小的数据包能传输更多有效信息,反序列化效率更高。protobuf中加 入上下位机同步的参数,有效防止中间人攻击,提高传输安全性。另外,本发明还支持通讯 底层客户协议定制,配套相关软件服务,包括移动终端的APP软件开发,模块与下位机的通 讯协议定制,硬件定制适配等等。可以方便地把通用蓝牙4. 0技术快速接入到各种电器电 子产品、工业控制系统设备、遥控系统等系列产品中,实现数据的共享、控制和收集统计,使 得传统的产品可以扩展更多的实用功能,大大提升了产品的实用价值和产品竞争力。改善 了现有同类产品技术接入而产生的开发繁琐、开发成本高、软硬件定制困难等等问题。
[0054] 以上内容是结合具体/优选的实施方式对本发明所作的进一步详细说明,不能认 定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说, 在不脱离本发明构思的前提下,其还可以对这些已描述的实施方式做出若干替代或变型, 而这些替代或变型方式都应当视为属于本发明的保护范围。
【主权项】
1. 一种无线通讯装置,其特征在于,包括主控单元、天线、射频匹配电路、电源电路、时 钟电路以及通讯接口电路,所述射频匹配电路、所述电源电路、所述时钟电路和所述通讯接 口电路分别连接所述主控单元,所述天线连接所述射频匹配电路,所述主控单元采用蓝牙 芯片,基于蓝牙技术实现无线通讯控制,其中蓝牙通讯数据采用protobuf编解码方法进行 处理。2. 如权利要求1所述的无线通讯装置,其特征在于,所述蓝牙芯片具有连接滤波电容 的模拟电源管脚和数字电源管脚,所述蓝牙芯片包括片内稳压器,所述片内稳压器连接去 耦电容。3. 如权利要求1所述的无线通讯装置,其特征在于,所述时钟电路包括工作频率为千 赫级的第一石英晶振和工作频率为兆赫级的第二石英晶振,所述第一石英晶振和所述第二 石英晶振各自配置有电容。4. 如权利要求1至3任一项所述的无线通讯装置,其特征在于,所述射频匹配电路具 有采用一对差分输入输出的偶极信号端口,所述天线为倒F型的不平衡单极子天线,并在 所述偶极信号端口与所述不平衡单极子天线之间设置有一个巴伦匹配电路来实现射频收 发信号的匹配。5. 如权利要求1至3任一项所述的无线通讯装置,其特征在于,所述通讯接口电路为 UART、SPI、IIC、GPIO 中任一种接口 电路。6. -种使用如权利要求1至5任一项所述的无线通讯装置的无线通讯方法,其特征在 于,包括如下步骤: (1) 根据需要传输的数据,定义基于protobuf的proto文件,所述proto文件中的数据 信息包括传输时间、数据类型、控制指令、序列号; (2) 将proto文件转换成源文件; (3) 将protobuf编解码程序文件和步骤2中生成的源文件载入到蓝牙模块原始工程文 件中; (4) 将蓝牙模块原始工程文件中的蓝牙发送接收数据回调接口设置成调用protobuf 编解码程序的接口; (5) 所述无线通讯装置在接收到按照步骤(1)的方式定义过的蓝牙数据时,利用步骤 (4)的protobuf编解码程序的接口接收蓝牙数据,并通过protobuf编解码程序对所述蓝牙 数据进行解码。7. 如权利要求6所述的无线通讯方法,其特征在于,步骤(5)中的所述蓝牙数据由移 动终端发送。8. 如权利要求7所述的无线通讯方法,其特征在于,所述移动终端为手机或平板电脑。9. 如权利要求7所述的无线通讯方法,其特征在于,所述无线通讯装置安装在受所述 移动终端无线控制的机器人上。10. 如权利要求6至9所述的无线通讯方法,其特征在于,上下位机设备传输数据时, 通过步骤(1)中的proto文件中的数据信息进行上下位机同步,其中,传输数据中加入传输 时间参数,接收方通过验证传输时间参数来决定是否响应接收到的数据包,如果传输时间 参数与预定好的传输时间不一致,接收方不响应该数据包;传输数据中还加入序列号数据, 在两个设备第一次通讯的时候同步一次起始序列号,以后每传输一个数据包双方将保存在 本地的序列号加一,发送方发送数据包时将发送方本地的序列号填充到发送数据中,接收 方收到数据包以后比对数据包中的序列号与本地保存的序列号是否一致,相差超过预定程 度时判断为无效数据,接收方不响应该数据包。
【专利摘要】本发明公开了一种无线通讯装置和无线通讯方法,无线通讯装置包括主控单元、天线、射频匹配电路、电源电路、时钟电路以及通讯接口电路,所述射频匹配电路、所述电源电路、所述时钟电路和所述通讯接口电路分别连接所述主控单元,所述天线连接所述射频匹配电路,所述主控单元采用蓝牙芯片,基于蓝牙技术实现无线通讯控制,其中蓝牙通讯数据采用protobuf编解码方法进行处理。本发明具有标准蓝牙协议、方便接入移动设备、开发成本低、开发便利、功耗低、体积小、底层客户协议可定制等优点,优选地,定义的protobuf文件中加入上下位机同步的参数,传输数据时有效防止中间人攻击,提高传输安全性。
【IPC分类】H04B5/02, H04B1/40
【公开号】CN105119623
【申请号】CN201510591423
【发明人】黄本立, 唐清泉
【申请人】深圳市愚公科技有限公司
【公开日】2015年12月2日
【申请日】2015年9月16日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1