一个 Gatt 中的单独与组合特征

Posted

技术标签:

【中文标题】一个 Gatt 中的单独与组合特征【英文标题】:Separate vs Combined Characteristics in one Gatt 【发布时间】:2019-03-25 14:51:20 【问题描述】:

我们正在尝试确定是使用单独的 GATT 特征还是将多个属性组合成一个自定义特征。

合并的好处非常明显:一笔交易,许多房产。

但即使有多个特征(每个属性一个),交易似乎也足够快。

这完全是一个武断的决定吗?还是有最佳做法?

【问题讨论】:

【参考方案1】:

这是高度相关的,取决于您尝试实施的系统。我的建议是选择许多不同的特征。原因是您将在 GATT 服务器端(存储所有特征)和 GATT 客户端简化应用程序。例如,如果您使用多个特征,这意味着您必须向 GATT 客户端添加额外的智能来分离这些特征中的数据。如果数据端是可变的,那么这将更加复杂。如果将来您必须使用新功能更新此组合特征,则与具有许多特征相比,客户端和服务器端的任务可能会相对更复杂,因为事物将更加分类和划分。

要考虑的另一件事是测试。当您创建 GATT 服务器应用程序时,您希望使用一种或多种不同的 GATT 客户端实现(例如 ios 设备、Linux 机器等)对其进行测试。为此,如果远程设备没有获得组合特征并试图理解数据,这将容易得多。

最后,请注意,正如您所说,蓝牙中的交易相对较快,并且在使用多个特性与一个特性时,您不会获得巨大的差异。原因是默认情况下,特征长度为 20,蓝牙数据包长度为 27(除非您使用称为 Data Length Extension 的蓝牙 4.2 功能,并非所有手机都支持)。因此,即使您使用大于 20 的特征长度,蓝牙堆栈/基带也会将特征分成块并通过空中发送,因此无法实现您预期的改进吞吐量。

我希望这会有所帮助。

【讨论】:

以上是关于一个 Gatt 中的单独与组合特征的主要内容,如果未能解决你的问题,请参考以下文章

组合,封装与多态

MLCC - 09特征组合 (Feature Crosses)

一种热编码及其与 DecisionTreeClassifier 的组合

ACM Chp2一致预期收益率:资本资产定价模型 之 特征组合(因子模拟组合)

将多个DataFrame与偶尔重叠组合在一起

组合封装知识点