×
家电数码 > 手机 > 详情

由浅入深,蓝牙4.0/BLE协议栈开发攻略大全(6)

发布时间:2020-05-25 发布时间:
|

  

 

  本系列教程将结合TI推出的CC254x SoC 系列,讲解从环境的搭建到蓝牙4.0协议栈的开发来深入学习蓝牙4.0的开发过程。教程共分为六部分,本文为第六部分:

  第六部分知识点:

  第二十六节 UBL-USB升级

  第二十七节 MT-iBeacon基站使用iPhone空中升级

  第二十八节 MT-iBeacon基站在PC端实现OAD空中升级

  第二十九节 MT-iBeacon基站关于LightBlue软件的使用

  第三十节 如何使用MT-USBDongle的透传功能
 

  有关TI 的CC254x芯片介绍,可点击下面链接查看:

  主流蓝牙BLE控制芯片详解(1):TI CC2540
 

 

  同系列资料推荐:

  由浅入深,蓝牙4.0/BLE协议栈开发攻略大全(1)

  由浅入深,蓝牙4.0/BLE协议栈开发攻略大全(2)

  由浅入深,蓝牙4.0/BLE协议栈开发攻略大全(3)

  由浅入深,蓝牙4.0/BLE协议栈开发攻略大全(4)

  由浅入深,蓝牙4.0/BLE协议栈开发攻略大全(5)

  有关本文的工具下载,大家可以到以下这个地址:

  朱兆祺ForARM

 

  第二十六节 UBL-USB升级

  UBL升级是使用USB功能来进行升级的,它的配置也是一样的步骤。

  配置UBL

  (1) 打开IAR,打开BLE-CC254x-1.4.0下的工程C:\Texas Instruments\BLE-CC254x-1.4.0\Projects\ble\util\UBL\soc_8051\usb_msd\iar \ubl.eww,选择CC2540-Nano。

  

  (2) 这里有点改动,因为TI提供的UBL是使用P2.0上拉D+的,而我们的开发板是使用P0.4经过三极管上拉的,所以这里还需要修改上拉的引脚。

  

  (3) 编译下载,将开发板的用MiniUSB连接到电脑,就可以看到有一个U盘插入了。这里有一点要注意,在Win8的系统上好像识别这个U盘有问题,需要Win7一下的才支持。

  配置升级固件

  升级固件的配置和SBL几乎是一样的,主要有两处不一样的地方需要更改。

  (1) 添加宏

  OAD_KEEP_NV_PAGES

  FEATURE_UBL_MSD

  

  (2) 配置Config

  

  (3) Build选项

  

  (4) 编译后可以看到

  

  (5) 固件升级

  升级的方法很简单,只需要将生成的Bin文件拷贝到U盘中即可。

  第二十七节 MT-iBeacon基站使用iPhone空中升级

  在iPhone端实现固件更新

  为了使用iPhone或者iPad对iBeacon进行固件更新,首先要确认手机为iPhone4S及以上,系统为IOS7及以上,在AppStore里搜索下载Multitool,这个APP是TI免费提供的,可以直接下载安装。安装好这个APP后,PC上需要使用iTunes将固件拷贝到手机。

  iTunes操作

  

  这里我们将需要更新的固件A和B都拷贝到手机。

  iPhone操作

  1. 打开Multitool,搜索设备

  

  2. 连接iBeacon

  这步要确保iBeacon没有进行部署,否则无法连接上设备,如果已经进行了临时部署,可以将电池卸下重新安装后才可以连接。连接后可以看到如下界面,选择Update FW。

  

  3. 选择升级模式

  选择高速模式,并且进入固件选择。

  

  4. 选择Shared File

  进入固件选择界面,这里注意,我们可以看到选择运行的固件为A固件,所以我们需要选择B固件进行更新(如果运行的是B固件,则需要选择A固件进行更新),我们选择Shared File。

  

  5. 固件选择

  选择B固件,进行升级。

  

  6. 正在升级

  

  7. 升级完成

  

  第二十八节 在PC端实现OAD空中升级

  1. 通过PC进行OAD无线升级需要MT-USBDongle,结合TI提供的BLE Device Monitor软件。用户可以到馒头科技淘宝旗舰店购买到MT-USBDongle,然后根据馒头团队撰写的《MT-USBDongle-用户手册》中“PC端调试开发功能”章节安装好BLE Device Monitor。

  2. 在馒头科技百度网盘中下载到馒头科技提供的升级固件,A和B都要下载。

  

  3. 打开BLE Device Monitor软件,自动扫描当前正在广播的设备。

  

  4. 成功扫描到一个MT-iBeacon基站设备,MAC地址为:7C:66:9D:9F:63:84。信号强度为-73。点击Connect按钮,向此设备发起连接。

  

  5. 连接上后,事件日志文本框中会提示,OAD support detected,说明此设备支持OAD无线升级。

  

  6. 在菜单栏Options——》GAP Settings设置选项中,按下图给出的值设置好。

  

  7. 在菜单栏File中点击Program(OAD),进行OAD升级过程。这时可以在弹出来的窗口看到Target Image中显示“Type: B Version: 1”,那么需要选择iBeaconA-V2.0.bin作为升级固件。反之亦然。

  

  8. 在File Image中选择刚才下载的iBeaconA-V2.0.bin固件,然后点击Start开始升级。升级完成后MT-iBeacon设备会自动重启,BLE Device Monitor会失去与之的连接,这时可以单击左下角的Reset按钮,复位软件重新扫描当前的iBeacon设备,或者适用手机设备搜索该设备。如果能够搜索到则说明升级成功,可以发送AT指令查看固件版本号是否更新。

  

  9. (重复7、8步骤会出现的另外一种情况)在菜单栏File中点击Program(OAD),进行OAD升级过程。这时可以在弹出来的窗口看到Target Image中显示“Type: A Version: 1”,那么需要选择iBeaconB-V2.0.bin作为升级固件。

  

  10. 在File Image中选择刚才下载的iBeaconB-V2.0.bin固件,然后点击Start开始升级。升级完成后MT-iBeacon设备会自动重启,BLE Device Monitor会失去与之的连接,这时可以单击左下角的Reset按钮,复位软件重新扫描当前的iBeacon设备,或者适用手机设备搜索该设备。如果能够搜索到则说明升级成功,可以发送AT指令查看固件版本号是否更新。

  

  11. 注意:7-8步骤和9-10步骤,是用户在升级过程中会遇到的两种情况,用户只要执行了其中一种就可以完全升级成功。

  第二十九节 MT-iBeacon基站使用LightBlue软件发送AT指令设置

  在苹果商店APP Store中输入LightBlue,可查找到LightBlue软件,如下图所示:

  

  下载LightBlue软件。下载完成之后,打开LightBlue软件,如图所示:

  

  点击进入搜索到的馒头科技MT-iBeacon基站,如图所示。

  

  

  这五个通道的详细说明参考《MT-iBeacon-用户手册》。前四个通道是设置UUID、Major、Minor、Measured的值,最后一个通道是通过AT指令设置馒头科技iBeacon基站的参数。点击ATCmd进入,如图所示。

  

  

  点击上图左边界面的右上角的Hex,选择UTF-8字符串输入。这样我们才能进行输入AT指令。选择完成之后,回到ATCmd界面,设置回应AT指令,如所示。

  

  

  点击Listen for notifications,变成上图所示。接着点击Write new value,进行AT指令的设置。如所示。

  

  

  更加详尽的指令参考《MT-iBeacon-AT指令手册》。

  MT-iBeacon基站的设置下载网盘:

  http://pan.baidu.com/share/link?shareid=3562495290&uk=3996269986#dir/path=%2F%E6%9C%B1%E5%85%86%E7%A5%BAForARM%2F%E9%A6%92%E5%A4%B4%E7%A7%91%E6%8A%80%E8%93%9D%E7%89%994.0%E7%B3%BB%E5%88%97%2FMT-iBeacon%E5%9F%BA%E7%AB%99

  第三十节 如何使用MT-USBDongle的透传功能

  工具

  1. 请用户先确认是从馒头科技购买的具有透传功能的MT-USBDongle,或者用户自己更换成了具有透传功能的固件,若不确定请联系客服。

  2. 从馒头科技百度网盘中馒头科技蓝牙4.0系列——》MT-USBDongle——》透传测试软件文件夹中下载馒头科技官方提供的串口助手软件(无需安装可直接使用),以及Android端测试app。

  

  3. 在此,只说明MT-USBDongle与Android设备之间的数据透传,如果用户要和其他设备进行透传,可以参考《MT254xCoreSTest-用户手册》。

  与Android端透传

  1. 将USBDongle插入电脑USB接口,可以在设备管理器中发现多了一个串口设备。

  

  2. 打开串口助手软件,将参数设置为115200/NONE/8/1,打开串口。

  

  3. 打开Android设备上的app——TruthBlue,自动搜索附近的广播设备。如下图,可以看到搜索到了1个MT-USBDongle设备和2个MT-iBeacon基站设备。

  

  4. 点击第1行,向USBDongle设备发起连接,窗口转入下图的界面。查看user服务下面有两个通道,Communication是透传通道,Contrl是远控通道。点击第二行,进入透传通道。

  

  5. 软件进入此界面后,用户就可以发送数据给USBDongle了。

  

  6. 在下方的文本框中输入“mantoukeji”,然后点击“发送”。可以在串口助手中看到,透传过来的一模一样的数据。

  

  

  7. 反过来从串口助手给Android端发送数据。在串口助手下方的文本框中输入“0123456789”,然后发送。

  

  


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
美国陆军通信带宽需求及能力分析