打印
[原创]

CC254x蓝牙4.0BLE协议栈开发(连载)

[复制链接]
楼主: zzq宁静致远
手机看帖
扫描二维码
随时随地手机跟帖
41
zzq宁静致远|  楼主 | 2014-7-31 19:06 | 只看该作者 |只看大图 回帖奖励 |倒序浏览
第二十五节  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盘中即可。

使用特权

评论回复
42
pwdzsj| | 2014-8-1 12:47 | 只看该作者
不错,向无私奉献者致敬!

使用特权

评论回复
43
雨下枫| | 2014-8-1 16:57 | 只看该作者
标记,很好的学习资料

使用特权

评论回复
44
zzq宁静致远|  楼主 | 2014-8-2 10:54 | 只看该作者
第二十六节  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.  升级完成



使用特权

评论回复
45
zzq宁静致远|  楼主 | 2014-8-4 11:06 | 只看该作者
第二十七节  在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步骤,是用户在升级过程中会遇到的两种情况,用户只要执行了其中一种就可以完全升级成功。

使用特权

评论回复
46
m52ni1314w| | 2014-8-4 23:09 | 只看该作者
这个是个好东西!

使用特权

评论回复
47
dwdsp| | 2014-8-5 09:25 | 只看该作者
没有办法,唯有强大!

使用特权

评论回复
48
zhy066| | 2014-8-5 17:41 | 只看该作者
好东西啊!谢谢分享@

使用特权

评论回复
49
smilingangel| | 2014-8-6 19:30 | 只看该作者
标准蓝牙技术是一种“面向连接”的无线技术,具有固定的连接时间间隔,因此是移动电话连接无线耳机等高活动连接的理想之选。相反,蓝牙低能耗技术采用可变连接时间间隔,这个间隔根据具体应用可以设置为几毫秒到几秒不等。

使用特权

评论回复
50
zzq宁静致远|  楼主 | 2014-8-6 19:51 | 只看该作者
本帖最后由 zzq宁静致远 于 2014-8-6 19:55 编辑

第二十八节  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

使用特权

评论回复
51
wjjsky03| | 2014-8-7 11:04 | 只看该作者
111111111111111111111111111111111111111111111

使用特权

评论回复
52
飞言走笔| | 2014-8-7 13:42 | 只看该作者
好东西啊

使用特权

评论回复
53
凡心未泯| | 2014-8-7 15:14 | 只看该作者
绝对的好资料,赞一个,楼主辛苦了

使用特权

评论回复
54
hbtm_wangjin| | 2014-8-8 08:15 | 只看该作者
!谢谢分享!

使用特权

评论回复
55
yzqok| | 2014-8-8 16:19 | 只看该作者
不错不错,收益不小,正好在开发这方面的人更是有参考价。也算是做了点奉献。。。

使用特权

评论回复
56
chungcountryman| | 2014-8-8 16:28 | 只看该作者
收藏 以后有时间看

使用特权

评论回复
57
make

使用特权

评论回复
58
zzq宁静致远|  楼主 | 2014-8-10 10:00 | 只看该作者
第二十九节  如何使用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”,然后发送。





使用特权

评论回复
59
2010coffee| | 2014-8-10 23:45 | 只看该作者
顶一个

使用特权

评论回复
60
msggood| | 2014-8-11 19:16 | 只看该作者
牛B啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则