如何修改TI SensorTag固件以无限期地进行广告宣传?

时间:2014-02-28 09:21:02

标签: c bluetooth-lowenergy

按下TI SensorTag的侧面按钮时,可以与设备配对。 2-3分钟。如何修改SensorTag的固件,使其永久广告,每次都不需要按侧键?

如何使用iOS设备上传固件,所以不使用CC-debugger?

3 个答案:

答案 0 :(得分:23)

我是如何做到的,在Chris Innanen的帮助下(谢谢!!)

如果在Mac上执行此操作,则需要Windows虚拟机。

  1. 下载IAR Embedded Workbench for 8051(http://supp.iar.com/Download/SW/?item=EW8051-EVAL)。确保采用30天的评估版,而不是4k限制版。

  2. 从德州仪器(http://www.ti.com/tool/ble-stack)下载BLE-STACK并将其安装在Windows(虚拟)机器上。默认情况下,安装程序将在此处安装:“C:\ Texas Instruments \ BLE-CC254x-1.4.0 \ Projects \ ble \ SensorTag \ CC2541DB \ SensorTag.eww”。

  3. 使用IAR Embedded Workbench打开此SensorTag.eww文件。

  4. 在左侧“工作区”部分的下拉菜单中选择“CK2541DK-Sensor-OAD-ImgA”

  5. 为防止以后出现编译错误:转到Project - >选项...并将“虚拟寄存器数量”的值从16更改为8.

  6. 在左侧工作区部分的filetree中找到“SensorTag.c”:“SensorTag - CK2541DK-Sensor-OAD-ImgA / APP / SensorTag.c”

  7. 搜索GAP_ADTYPE_FLAGS_LIMITED并将其更改为GAP_ADTYPE_FLAGS_GENERAL以启用不确定广告

  8. 使用Project进行构建 - >使。等到它完成

  9. 默认情况下,新固件映像(.bin文件)现在位于“C:\ Texas Instruments \ BLE-CC254x-1.4.0 \ Projects \ ble \ SensorTag \ CC2541DB \ CC2541DK-Sensor-OAD- ImgA \ Exe“(确保将其放置在稍后可以从Mac OS X到达的地方,如果您使用虚拟机)

  10. 重复步骤4到10,但现在重复“CC2541DK-Sensor-OAD-ImgB”

  11. 现在让应用程序通过无线方式上传新固件。在此处获取:https://itunes.apple.com/us/app/ti-sensortag/id552918064?mt=8

  12. 在Mac OS X中打开iTunes并打开iOS设备,转到“应用”部分,滚动到底部以查看具有文件共享功能的应用。 “SensorTag”应该在该列表中。单击它并添加两个新的固件文件,包括图像A和B。

  13. 如果已完成,请打开iOS设备上的SensorTag应用程序并将其连接到SensorTag。然后在应用程序的底部点击“更新FW” - > “选择FW文件” - >共享文件>然后点击图片B并上传。这需要几分钟。默认情况下,SensorTag上已存在类型为A的固件。因为您刚刚在其上放置了B图像,所以您需要上传图像A进行任何新的更改。

  14. 祝你好运!

    附加:改变信号强度

    1)找到“HCI_EXT_ClkDivOnHaltCmd”并在其后面添加一个新行(和可选注释):     // ADDITION 调整TX功率电平     HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_0_DBM);

    1b)您可以将“_0_DBM”更改为“_4_DBM”或“_MINUS_6_DBM”或“_MINUS_23_DBM”

    2)找到“GAP_ADTYPE_POWER_LEVEL”并更改下一行的值以匹配上述功率水平

答案 1 :(得分:7)

在我改变之前,上述解决方案对我不起作用:

  initial_advertising_enable = TRUE;

在SensorTag_Init()中。

答案 2 :(得分:3)

我正在使用此固件,只要它没有连接,它就会开始广播。侧面按钮用作开关。

http://www.myweathercenter.net/installing-a-new-firmware-for-ti-sensortag/