将数据从信标发送到智能手机

11个帖子/ 0新
最后一篇
Brian1025
离线
最后一次露面:4年7个月前
加入:2016-04-11 13:18
将数据从信标发送到智能手机

我想知道如何在灯架上创建一个特征,以向智能手机发送一些数据?我想开发的是我可以用我的智能手机与信标连接并能够从中读取数据,这就是我需要一个特征的原因。Beacon默认是否提供此服务?我怎么使用它?请咨询,谢谢!

设备:
mt_dialog.
离线
最后一次露面:三个月两个星期前
职员
加入:2015-06-08 11:34
你好布莱恩,

你好布莱恩,

是的,信标支持一些自定义配置文件,以便通知ADC (adc_notify自定义配置文件和device_config自定义配置文件)您必须使设备可连接,以便能够连接。当您操作HW_CONFIG_BEACON_REF时,您可以在da14580_config.h和#define CFG_CONNECTABLE_ADV_MODE中更改设备的配置,该配置将启用adc_notify配置。此外,通过配置CFG_PRF_DEVICE_CONFIG和CFG_BEACON_CONFIG_STRUCT,您的数据库将包括Beacon文档中记录的附加配置文件,您可以将其作为一个示例并按照自己的喜好进行配置。

谢谢mt_dialog.

Brian1025
离线
最后一次露面:4年7个月前
加入:2016-04-11 13:18
嗨MT_dialog,

嗨MT_dialog,

谢谢你的建议,但它似乎没有工作。因此,我将尝试在BLE_APP_PROFILE(Pillar 2自定义配置文件)项目上进行工作,然后在稍后将其实施。我可以通过通过教程2来创建新的自定义配置文件,但我想知道如何更改此配置文件的特征值?由于我可能希望将DA14580连接到传感器并通过DA14580将传感器的数据发送到智能手机。我必须使用GPIO端口还是其他任何东西?

请咨询,谢谢!

mt_dialog.
离线
最后一次露面:三个月两个星期前
职员
加入:2015-06-08 11:34
嗨Brian1025,

嗨Brian1025,

如前所述,SDK3上的信标示例已经有了一个自定义配置文件服务,使用适当的#define可以启用它。现在,关于ble_app_profile项目,更改这个概要文件的特征值是什么意思,如何使用传感器提供的适当值在外设上编写数据库?如果是这种情况,您可以使用attmdb_att_set_value()函数来更新数据库中的值。我的建议是尝试使用ble_app_peripheral,而不是通过通知向任何通用智能手机应用程序发送一些虚拟数据的概要项目。

谢谢mt_dialog.

Brian1025
离线
最后一次露面:4年7个月前
加入:2016-04-11 13:18
嗨MT_dialog,

嗨MT_dialog,

谢谢你的建议。现在,我决定使用ble_app_peripheral示例将我的传感器数据发送到智能手机。我计划做的是使用它的服务的ADC VAL 1更新传感器的数据。然而,当我将智能手机连接到DA14580时,却没有显示任何信息。我通过一些之前的线程在论坛中,我发现我应该改变“ADC输入到板”的pin通过改变“adc_enable_channel(xxx)”。我在ble_app_peripheral代码中搜索,我发现唯一的“adc_enable_channel()”函数在这里:

如果(sample_vbat1v)
ADC_ENABLE_CHANNEL(ADC_CHANNEL_VBAT1V);
别的
ADC_ENABLE_CHANNEL(ADC_CHANNEL_VBAT3V);

这是否意味着在我的智能手机上显示的ADC值是ADC_CHANNEL_VBAT1V的价值(在我的智能手机上没有任何东西)?
如何更改此ADC值的引脚选择?
我正在使用Basic Development kit,我可以选择P1_3, P1_1, P0_2, P0_4吗?

请咨询,谢谢!

mt_dialog.
离线
最后一次露面:三个月两个星期前
职员
加入:2015-06-08 11:34
嗨Brian1025,

嗨Brian1025,

您必须写入ble_app_peripheral中的控制点特性,以便开始为android应用程序获取ADC特性中的值,当然,还需要在相应的特性中启用通知。

此外,app_ble_peripheral()也没有实现将ADC的值发送到Android(示例的值是由一个定时器提供的伪数据,以递增递增所发送的值)。您粘贴的代码是来自电池驱动器的片段,使用启用通道,以便选择ADC的4个通道之一。有关ADC API的更多信息,请在10.4节中查看UM-B-051文档。关于ADC的引脚选择可用引脚为P00,P01,P02,P03您可以检查表3上的数据表才能验证。此外,您还可以检查信标参考设计的实现,请选中App_adc_notify_enable()函数从通道p01读取ADC。

谢谢mt_dialog.

Brian1025
离线
最后一次露面:4年7个月前
加入:2016-04-11 13:18
嗨MT_dialog,

嗨MT_dialog,

我想知道如何启用信标服务?当我下载信标代码并将其下载到电路板上时,我的智能手机可以找到它,但没有服务。我发现在UM-B-019中提到了一个用于启用设备配置服务的命令(DEVICE_CONFIG_ENABLE_REQ)。我怎么使用它?此外,你的意思是Beacon内置了一个从通道P01发送ADC值的功能?正如我已经定义了你提到的功能,但似乎没有服务显示太:

#if(cfg_hw_config == hw_config_beacon_ref)
#定义CFG_SPI_FLASH
#undef cfg_dynamic_beacon_data.
#define cfg_connectable_adv_mode.
#ifdef cfg_connectable_adv_mode.
#define cfg_prf_adc_notify.
#万一
#万一

您能否在BLE_APP_PERITIELAL示例上写自己的控制点特性,或者我应该修复灯架,以满足我的目标吗?因为我不知道它是多久,我是这个董事会的新手。谢谢!

mt_dialog.
离线
最后一次露面:三个月两个星期前
职员
加入:2015-06-08 11:34
嗨Brian1025,

嗨Brian1025,

关于无法连接到信标的事实,让我提醒您,在可连接模式下的信标将其功能与可连接和不可连接的数据包交替使用,这可能会在连接到信标时造成一些混淆。确实有一个配置文件接口允许您配置设备,您可以通过定义CFG_BEACON_CONFIG_STRUCT来启用它,这将启用相应的配置文件。

如果您可以直接使用该ADC实现,如果您的设备可连接,则会启用此示例配置文件,然后将示例ADC,如果检查DA14580_Config,请注意#ifdef cfg_connectable_adv_mode(如果设备处于可连接模式),则CFG_PRF_ADC_NOTIFY定义了,这将强制SDK包含此类服务并在连接到信标时呈现它。

在ble_app_peripheral()中,为了让代码启动ke_timer并生成虚拟数据,您必须通过android通用应用程序向第一个特征(名为Control point)写入一个0x01值,在那之后,在你想要的特征启用通知,在那之后,你将能够在你的手机上获得数据。我建议你修改ble_app_peripheral,因为它是一个较新的SDK,它更容易与初学者交互,特别是当他想实现自定义配置文件。

谢谢mt_dialog.

Brian1025
离线
最后一次露面:4年7个月前
加入:2016-04-11 13:18
嗨MT_dialog,

嗨MT_dialog,

对不起,我很困惑。你是什​​么意思“通过你的Android通用应用程序写入第一个特征0x01”?

是否必须创建像Tutorial2(控制点)的新档案,或在BLE_APP_PERITELAL上使用示例128(AN-B-029)?

假设我创建了一个新服务,我如何让da14580知道我使用哪个pin来获取数据,他们会在user_custs1_impl。c中设置吗?

非常感谢,我很困惑,抱歉。

Brian1025
离线
最后一次露面:4年7个月前
加入:2016-04-11 13:18
嗨MT_dialog,

嗨MT_dialog,

我尝试使用模板项目并在其上实现示例128配置文件。该电路板成功连接智能手机,但电路板始终只回复我从智能手机发送的数据。我想知道我在哪里可以改变董事会的响应价值?

现在:智能手机发送0x0A到DA14580
DA14580向智能手机发送0x0a

我想:智能手机发送0xFF到DA14580
DA14580发送端口0 pin3的值

你能建议吗?谢谢!

mt_dialog.
离线
最后一次露面:三个月两个星期前
职员
加入:2015-06-08 11:34
嗨Brian1025,

嗨Brian1025,

设备的行为取决于每个特征的特性和每个特征的属性,您的意思是,如果您从手机写入一些东西,那么电路板响应了手机的数据发送该特征,当您读回设备时,设备将回复手机发送的值(如果您没有在设备处操作该值)。如果要在手机写入特定值时切换LED(更新端口0引脚3的寄存器),则必须在样本128的写入处理程序中实现该功能。在BLE_APP_PERITELAL项目上有一个类似的示例,在BLE_APP_PERITEL项目上写入LED特性(带有“LED状态”描述符的“图”(如果这就是您正在寻找的),它将打开和关闭LED)。

谢谢mt_dialog.