一个 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 的组合