你好,
我目前使用我的DA14580 BLE模块在连接模式与版本5.150.2的代码。我想使用与信标模式项目的模块,并配置它发送Eddystone数据包。你知道我是否需要改变项目吗?如果是,你能告诉我,我应该下载哪一个在你的网站上,我应该改变什么?
谢谢提前
嗨Avouaill,
灯塔项目使用一个相当古老的SDK,那么以这个为例并修改它为了支持座埃迪斯通格式,不是我推荐的东西,你所要做的就是把灯塔的例子作为参考(为了检查相关配置,灯塔non-connectable广告,等等),并使用基本的例子作为你的项目的基础。为了实现EDDYSTONE,你只需要根据EDDYSTONE规范格式化设备的广告字符串。
如果你正在寻找一些粗制滥造的广告,只改变字符串的灯塔参考设计座埃迪斯通格式你可以下载灯塔并改变广告灯塔使用字符串(在NVDS_TAG_APP_BLE_ADV_DATA nvds.c文件,减少ADV_DATA_TAG_LEN的长度根据长度广告串),如下:
.NVDS_TAG_APP_BLE_ADV_DATA = {0x03,0x03,0xAA, 0xFE,0x15,0x16,0xAA, 0xFE, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B,0x00, 0x03,0x00, 0x02},
.ADV_DATA_TAG_LEN = 26日
由于MT_dialog
谢谢你的回复,我会尝试的
我最终选择了beacon项目:您的网站上提供的3.40.6_0版本。
我可以看到BLE模块使用嗅探器。
现在我尝试将数据从uC通过SPI发送到BLE模块。那部分看起来是工作,因为我可以检查SPI数据流在引脚上。但当我使用嗅探器BLE不发送任何东西(或它看起来)。
你知道如果我必须修改一些东西从起源项目使它工作吗?
此外,我看到SPI配置在BLE项目上的主模式,而在我的情况下,我使用它在从模式。我试着改变一些事情,但仍然没有效果。
信标参考设计没有实现从外部u控制器的SPI接口接收数据并填充广告字符串的功能,这是一个您必须应用的实现,信标所做的是从外部SPI flash的特定头和特定地址读取数据,并将从flash读取的数据填充到广告字符串中。
我相信你有一个自定义的实现,这应该像下面:
关于您没有看到设备广告的事实,因为您从外部控制器获得数据(确保您这样做,检查您从SPI交互存储数据的缓冲区),广告字符串可能是错误的(重复标签,等等)。如果你获得来自外部设备的数据和发送广告命令(GAPM_START_ADVERTISE_CMD)这个命令应该报以一个GAPM_CMP_EVT(如果不是执行),应该返回一个状态(取消),所以检查回调,从那里你可以有一个提示设备不是广告的原因。此外,我建议使用最新的SDK为您的项目,而不是使用信标参考设计,这是建立在一个更老的SDK。例如,您可以检查ble_app_barebone项目。
嗨Avouaill,
灯塔项目使用一个相当古老的SDK,那么以这个为例并修改它为了支持座埃迪斯通格式,不是我推荐的东西,你所要做的就是把灯塔的例子作为参考(为了检查相关配置,灯塔non-connectable广告,等等),并使用基本的例子作为你的项目的基础。为了实现EDDYSTONE,你只需要根据EDDYSTONE规范格式化设备的广告字符串。
如果你正在寻找一些粗制滥造的广告,只改变字符串的灯塔参考设计座埃迪斯通格式你可以下载灯塔并改变广告灯塔使用字符串(在NVDS_TAG_APP_BLE_ADV_DATA nvds.c文件,减少ADV_DATA_TAG_LEN的长度根据长度广告串),如下:
.NVDS_TAG_APP_BLE_ADV_DATA = {0x03,0x03,0xAA, 0xFE,0x15,0x16,0xAA, 0xFE, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B,0x00, 0x03,0x00, 0x02},
.ADV_DATA_TAG_LEN = 26日
由于MT_dialog
你好,
谢谢你的回复,我会尝试的
你好,
我最终选择了beacon项目:您的网站上提供的3.40.6_0版本。
我可以看到BLE模块使用嗅探器。
现在我尝试将数据从uC通过SPI发送到BLE模块。那部分看起来是工作,因为我可以检查SPI数据流在引脚上。
但当我使用嗅探器BLE不发送任何东西(或它看起来)。
你知道如果我必须修改一些东西从起源项目使它工作吗?
此外,我看到SPI配置在BLE项目上的主模式,而在我的情况下,我使用它在从模式。我试着改变一些事情,但仍然没有效果。
谢谢提前
嗨Avouaill,
信标参考设计没有实现从外部u控制器的SPI接口接收数据并填充广告字符串的功能,这是一个您必须应用的实现,信标所做的是从外部SPI flash的特定头和特定地址读取数据,并将从flash读取的数据填充到广告字符串中。
我相信你有一个自定义的实现,这应该像下面:
关于您没有看到设备广告的事实,因为您从外部控制器获得数据(确保您这样做,检查您从SPI交互存储数据的缓冲区),广告字符串可能是错误的(重复标签,等等)。如果你获得来自外部设备的数据和发送广告命令(GAPM_START_ADVERTISE_CMD)这个命令应该报以一个GAPM_CMP_EVT(如果不是执行),应该返回一个状态(取消),所以检查回调,从那里你可以有一个提示设备不是广告的原因。此外,我建议使用最新的SDK为您的项目,而不是使用信标参考设计,这是建立在一个更老的SDK。例如,您可以检查ble_app_barebone项目。
由于MT_dialog