自动化BLE服务器将数据发送到BLE中央

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
8个帖子/ 0新
最后一篇
vishnuatdialog
离线
最后看到:3周前1年
加入:2017-07-25 07:44
自动化BLE服务器将数据发送到BLE中央

你好对话框,
我们已经将IMU传感器与DA14585集成在I2C上,并取得了成功。之后,我们为IMU传感器创建了新的特性(ACC, GYRO, Temp),并能够通过使用控制点特性(0x01)发送触发器来读取nRF连接应用程序上的所有传感器特性值。为了开发这个应用程序,我们使用了ble_peripherial示例。
现在我们想使用BLE中央设备阅读相同的数据,我们想在没有发送任何触发器的情况下进行。就像,当连接到BLE服务器的BLE Central时,它应该在没有任何外部触发的情况下自动发送传感器数据。这是否可以使用可用的堆栈,如果是这样,请告诉我们我们应该在BLE_PERIALIAL示例中执行哪些修改?

谢谢
D.Vishnu

关键词:
设备:
MT_dialog
离线
最后看到:6个月2周前
职员
加入:2015-06-08 11:34
嗨Vishnuatdialog,

嗨Vishnuatdialog,

因此,您想根据585设备创建一个中央应用程序,一旦设备连接到中央,它应该开始从外设或外设通知中央设备与更新值的情况开始读取数据?如果这是这种情况,那么您请求的项目是BLE_APP_PERITERAL的简单MOD。为了实现您必须拍摄一个空项目,将堆栈配置为中心,发出扫描命令,并在收到正确的广告字符串后,您可以发出连接execet。在挑选连接后,您必须发现外围侧的所有特性。这意味着您必须创建一个中央配置文件,该配置文件将执行将支持外围设备上的自定义配置文件的发现过程,一旦完成发现过程(并且中央知道该特定于上支持的所有特征外设)开始发出读取命令(如果您希望从外围设备读取数据的核心),或者您应该写入外围设备的CCC描述符(如果是该特性是不可用的),以便外围将开始向数据发送数据中央。为了实现自定义中央配置文件,没有文档或教程或一个简单的示例,但是您可以将DSPS演示作为参考(主机侧),以便实现一个非常相似的东西,这将执行发现并开始通信的设备有一个中央。

由于MT_dialog

vishnuatdialog
离线
最后看到:3周前1年
加入:2017-07-25 07:44
你好对话框,

你好对话框,
无论您上面解释的是哪个(客户端和服务器)都是基于DA14585的。
但是,在我的情况下
BLE服务器(外围设备)是(DA14585 + IMU传感器)
BLE客户端(中央)是(CC2650)不是基于DA14585的。
截至上述情况,我不希望在BLE客户端中实现触发。每当BLE客户端连接到BLE服务器而不触发时,我想读取数据。为此,我想在BLE_Peripheral代码中进行更改,而不是在BLE客户端代码中。
是否可以从BLE服务器(外设)读取数据而不将0x01写入控制点(触发)?

谢谢
D.Vishnu

MT_dialog
离线
最后看到:6个月2周前
职员
加入:2015-06-08 11:34
嗨Vishnuatdialog,

嗨Vishnuatdialog,

读过程是一个命令,只有中心可以发起,而不是外围设备。在BLE中,外围设备发起向中心设备的数据传输的唯一方法是通过通知,这意味着你必须使你的特征是可通知的。此外,为了让中心从外围设备获得通知,它必须对可通知特性执行写请求,以启用通知。所以它不是强制性的写的控制点,ble_app_peripheral(控制点就使一个计时器,将触发发送通知)但其强制性CCC的特点使你想发送它的价值。例如,当使用ble_app_peripheral时,您需要执行两次写操作来开始从外设获取数据,一次是控制点,另一次是启用ADC特性的CCC。后者是客户端开始获取通知时必须的,您可以在相应的回调中连接时开始触发这些通知。

由于MT_Dialog

vishnuatdialog
离线
最后看到:3周前1年
加入:2017-07-25 07:44
你好对话框,

你好对话框,
但是,当我使用NRFConnect应用程序作为Blecentral时,我仅向控制点(0x01)写入,然后按下启用的通知箭头,然后按读取箭头以接收外围数据。我没有编写任何外部命令以使来自应用程序的CCC读取ADC值。
如何启用CCC对特性的是通过代码执行的,或者我们应该通过使用BLE Central来执行此操作吗?
最后,是否有可能在不从BLE中心编写任何命令的情况下接收外围数据?

谢谢
D.Vishnu

MT_dialog
离线
最后看到:6个月2周前
职员
加入:2015-06-08 11:34
嗨Vishnuatdialog,

嗨Vishnuatdialog,

当您按下通知启用按钮时,这就是中心的所作所为,它将写入特性的CCC,以便启用指定特征的通知。

如果您不写信到CCC特性(即启用通知),则中央不会从该分析特性接收任何内容。

由于MT_dialog

vishnuatdialog
离线
最后看到:3周前1年
加入:2017-07-25 07:44
你好对话框,

你好对话框,
如果我不想写入控制点,我如何自动触发计时器?

MT_dialog
离线
最后看到:6个月2周前
职员
加入:2015-06-08 11:34
嗨Vishnuatdialog,

嗨Vishnuatdialog,

您可以在与设备连接后设置计时器以发出小延迟,并在该计时器的回调中发送通知,或者您可以在中央写入CCC时使用写入指示(以便启用通知)并且要么从那里开始计时器或直接发送通知。对于后面的所有您所要做的就是在user_catch_rest_hndl()函数中有此实现,当您收到Custs1_Val_Write_ind时。

由于MT_dialog