一种基于低功耗蓝牙技术的数据交互方法以及采用该方法的信标装置和信标数据交互装置的制造方法_3

文档序号:9871045阅读:来源:国知局
模块的实现也做了相应简化。
[0062]图5是根据本发明一实施例的Beacon装置中的蓝牙BLE广播模块104的LinkLayer状态机的示意图。如图5所示,在一个实施例中,可以只需要实现Standby (待机)和Advertising(广播)两个状态机即可。
[0063]由于本发明提供的Beacon装置实现方案是完全基于BLE广播模式的,包括数据交互也是通过广播模式实现,因此需要另一个基于BLE技术的Beacon数据交互装置来实现与该Beacon装置实现数据的交互。因此,本发明提供了一个基于BLE技术的Beacon数据交互装置。
[0064]图6是根据本发明一实施例的Beacon(信标)数据交互装置的结构示意图。如图6所示,该Beacon数据交互装置包括MCU模块601、存储模块602、人机交互模块603、BLE扫描模块604、可选的安全管理模块605、可选的固件升级模块606。其中,M⑶模块601和存储模块602属于嵌入式系统的基本模块,用于实现装置的基本功能;人机交互模块603则用于人机对话等操作,包括数据输入、命令控制、甚至显示功能等;BLE扫描模块604是基于BLE技术的实现,满足BLE标准规范,支持BLE扫描模式;安全管理模块605和固件升级模块606则是根据应用上的安全加密需求和固件升级的需求可选。
[0065]该Beacon数据交互装置与前述本发明的Beacon装置通过广播模式进行数据交互,大部分支持BLE技术的蓝牙主设备,例如广泛使用的手机、平板电脑等智能终端,无法直接支持,因此第三方人员基本上无法通过开发软件APP的方式实现对Beacon装置的连接以及数据修改。而现有技术中的Beacon装置实现方案由于是基于BLE连接模式进行数据交互,并且BLE的规范当中对于连接请求是强制接受的,因此第三方人员则有可能通过开发软件APP的方式,直接对Beacon装置进行数据修改,造成安全隐患,这显然这是厂商不愿意看到的。相比之下,本发明提供的方案则具有更好的安全性和更低的实现成本。此外,采用本发明的数据交互方法,在对Beacon装置进行数据交互时,不需要切换到连接模式,因此无需中断当前正常广播的工作状态,在广播模式下即可进行无缝的数据配置和更新,较现有技术对用户体验更佳。
[0066]对于本发明提出的Beacon装置的数据交互方法,以下做进一步的详细说明。本领域技术人员应了解,在BLE标准规范当中,广播模式下是不进行数据双向传输的。而本发明提供的数据交互方法使得Beacon装置的数据交互可以在BLE的广播模式下进行,不但简化了Beacon装置的软硬件设计的复杂度,减少了BLE芯片的功耗,还提高了数据安全性,因此,可以说本发明不但克服了技术偏见和技术障碍,还获得了意想不到的有益技术效果。
[0067]本发明提供的数据交互方法的关键技术是利用BLE广播模式下的SCAN_REQ扫描包传递数据。图7是蓝牙4.0标准规范当中BLE的标准SCAN_REQ扫描请求包的Payload数据的格式示意图。如图7所示,SCAN_REQ扫描包的Payload数据包含两部分,一部分是扫描设备的地址ScanA,另一部分是广播设备的地址AdvA,都是6字节(48bit)长度。对于扫描设备自身而言,前者是可以修改的,而后者对应于需要发送的目标广播设备,是不可修改的。因此,一台特定的BLE扫描设备(Beacon数据交互装置)可将需要发送的数据通过包装为48bit的设备地址数据,通过SCAN_REQ扫描包发给BLE广播设备(Beacon装置),从而实现数据的发送。BLE规范当中对设备地址的类型有两种定义:公有地址和随机地址,在实现上建议选择随机地址的方式。而对于BLE广播设备(Beacon装置),如果有需要,则可以通过SCAN_RSP扫描响应包,将数据发送给该BLE扫描设备(Beacon数据交互装置)。在BLE规范中有定义SCAN_RSP可以加入厂商自定义的数据。
[0068]具体实现时,考虑到Beacon装置和Beacon数据交互装置之间数据交互的安全性和鲁棒性,双方设备可定义一套通信协议,并采取双方约定的加密方式。
[0069]图8是本发明Beacon装置数据交互方法的一个实施例的流程图。如图所示,该实施例是对Beacon装置的广播数据进行更新的方法,包括步骤:
[0070]步骤801:86&(:011装置上电运行进入广播模式,发送40¥_1仰广播包,并监听30八1REQ扫描请求包;
[0071 ] 步骤802: Beacon数据交互装置监听所述Beacon装置的ADV_IND广播包,确定所述Beacon装置已开始运行;
[0072]步骤803: Beacon数据交互装置将需要更新的2个16bit的Beacon广播数据通过预先定义的加密方案生成32bit数据;
[0073]步骤804: Beacon数据交互装置再将上述32bit加密数据加上16bit表示数据类型以及校验用的特定标识,生成48bit的随机类型的设备地址数据;
[0074]步骤805:BeaCOn数据交互装置将上述设备地址数据生成标准的SCAN_REQ扫描请求包,发送给Beacon装置;
[0075]步骤806 = Beacon装置在接收到Beacon数据交互装置发送的SCAN_REQ扫描请求包后,取出其设备地址,并解析出其中的32bit加密数据;
[0076]步骤807:BeaCOn装置采用预先定义的解密方案对32bit加密数据进行解密,得到2个16b i t的待更新的广播数据;
[0077]步骤808:863(:011装置将上述2个1613^数据更新到40¥_1仰广播包当中,并在下一次广播事件开始时广播新的广播包;
[0078]步骤809 = Beacon装置将表示更新完成的特殊标志数据生成为SCAN_RSP扫描响应包,然后发送给Beacon数据交互装置;
[0079 ] 步骤810:至此Beacon装置与Beacon数据交互装置的数据交互过程完成。
[0080]图9是本发明Beacon装置数据交互方法的另一个实施例的流程图。如图所示,该实施例是对Beacon装置的固件进行更新的方法,包括步骤:
[0081 ] 步骤901:86&(:011装置上电运行进入广播模式,发送40¥_1仰广播包,并监听30八1REQ扫描请求包;
[0082]步骤902: Beacon数据交互装置监听所述Beacon装置的ADV_IND广播包,确定所述Beacon装置已开始运行;
[0083]步骤903:由于固件的数据量较大,因此需要改变广播间隔提高数据传输的效率。Beacon数据交互装置将需要更新的16bit广播间隔参数通过预先定义的加密方案生成32b it数据;
[0084]步骤904: Beacon数据交互装置再将上述32bit加密数据加上16bit表示数据类型以及校验用的特定标识,生成48bit的随机类型的设备地址数据;
[0085]步骤905:BeaCOn数据交互装置将上述设备地址数据生成标准的SCAN_REQ扫描请求包,发送给Beacon装置;
[0086]步骤906 = Beacon装置在接收到Beacon数据交互装置发送的SCAN_REQ扫描请求包后,取出其设备地址,并解析出其中的32bit加密数据;
[0087]步骤907 = Beacon装置采用预先定义的解密方案对32bit加密数据进行解密,得到16 b i t的待更新的广
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1