2022-12-07 17:15 千家网
询问任何一家物联网厂商,是什么让他们的产品令人兴奋?它们都指向应用程序,即设备向用户传递价值的独特方式。因此,将您的开发资源集中在您的应用程序上是有意义的:首先,最后,永远。然而,要让您的应用程序工作,您需要可靠的连接。这来自于像蓝牙低能耗(BLE)这样的技术。
蓝牙低能耗是将物联网产品与移动设备和/或云连接的绝佳选择。它灵活、可靠、支持广泛,并且易于使用电池。只有一个问题:打开BLE SDK并查看API,即使是最有经验的开发人员也会遇到一堵复杂的墙。
学会处理这种复杂性需要大量的资源,更好地将资源用于使您的产品与众不同的功能。从用户的角度来看,连接只需要发挥作用。但是,虽然BLE堆栈对用户来说基本上是不可见的,但它需要大量的专业知识来优化。坦率地说,这是因为BLE代码有点奇怪。
直面蓝牙低能耗的复杂性
BLE堆栈中的典型API充满了不熟悉的术语,如GAP、GATT、CCCD和“blob请求”。代码遵循自己的一组规则,并且没有很好的文档记录。这在任何物联网产品的开发周期中都会增加成本和复杂性。
此外,BLE系统还需要三个开发领域,每个领域必须与下一个领域无缝协作:
固件开发:这是在芯片组上运行的嵌入式软件。固件必须进行配置和优化,以便在需要时在需要的位置获取数据,而不会损坏电池。很有可能,您团队中的固件开发人员不会有很多预先存在的蓝牙知识。
移动应用程序开发:移动开发者通常是iOS、Android或两者的专家,而不是蓝牙。移动设备上的许多蓝牙功能都是令人困惑的,而且没有文档记录,因此从头开始开发BLE专业知识需要花费大量时间。
系统级架构:固件和移动端的蓝牙开发挑战相似。但也存在系统层面的困难。固件和移动开发人员必须就通用参数、行为和通信细节达成一致。这种合作必须贯穿整个生产时间表;否则,您将遇到互操作性缺陷。
那么,如何解决BLE堆栈的复杂性?您基本上有三种选择,对于大多数物联网项目,只有其中一种是正确的选择。
蓝牙低能耗发展的三种途径
如果您正在构建物联网设备,您将拥有一个开发团队:固件开发人员、移动开发人员,或者可能只有一名专家处理系统的两侧。诀窍是为您的开发人员提供他们所需的工具,以创建健壮、可靠的蓝牙连接,没有错误或互操作性缺陷,并且不会超出时间或成本。
以下是实现蓝牙低能耗开发的三种方法。它们按降序排列,在简单性、成本节约和更快的上市时间方面从最差到最佳。
3.花时间学习蓝牙的所有知识
蓝牙开发的第一个选择是开发自己的内部专业知识。说起来容易做起来难。如果固件和移动开发者没有蓝牙的经验,那么iOS、Android和芯片制造商提供的库就没什么意义了。例如,GAP和GATT是什么?应如何设置PDU和MTU大小?应使用哪些连接参数,以及如何配置这些参数?
开发BLE系统几乎就像在没有课本的情况下学习多种新语言。很多专业知识基本上都是部落知识:你必须花很多时间在晦涩难懂的论坛上。这种形式的自我教育非常耗时。这也增加了出错的风险。通常,这些错误直到产品发货后才变得明显。
那么下一个选择是什么?
2.聘请蓝牙低能耗顾问
如果你没有时间进行自我训练,你可以随时寻求外界的帮助。不幸的是,专门从事BLE的软件顾问很少。它们也相当昂贵。因此,咨询路线的第一个缺点是成本。
事实上,许多咨询公司实际上并不是蓝牙专家。大多数人都是多面手,在涉及微控制器和协议组合时知识渊博,但在BLE独特的生态系统中却不那么丰富。
考虑到与蓝牙顾问合作的成本和复杂性,您可能希望探索另一条路线。这让我们找到了最有效的方法,通过现有的开发团队将BLE功能带到您的物联网产品中,并且没有陡峭的学习曲线。
1.使用蓝牙低能耗中间件平台
蓝牙低能耗中间件平台是位于蓝牙堆栈和应用程序之间的软件层:固件和移动两者。该中间件使用简化的API将芯片供应商令人困惑的代码重新格式化为熟悉的英语可读语言。它去除了芯片生态系统中内置的许多不必要的功能集,同时预先优化应用程序以满足您的独特目标,无论是高吞吐量、低能耗、安全性,还是这三个目标。
该中间件支持固件开发人员和移动开发人员,同时简化了包含这两个世界的整体系统架构。简而言之,中间件允许任何开发人员创建可靠、优化的BLE系统,而无需成为(或雇佣)专家。在某种意义上,中间件是您的专家。通过中间件揭开蓝牙低能耗开发的神秘面纱,您的团队可以专注于使您的产品与众不同的功能。