IoT
|
08 Jan 2022
使用蓝牙低功耗的出色用户界面
背景
许多不同的行业和应用领域使用独立设备。这些设备无需交互即可用于控制本地设备。一个很好的示例是隐藏在建筑物地下室的加热控制系统,可以安静地执行工作,而无需与设备进行交互。在其他领域也有许多类似的设备,例如本地医疗设备、分布式泵控制器和其他未连接到网络的控制系统。这里有很多这样的设备,即使在物联网的互联世界也是如此。
通常,这些类型的设备在成本方面受到限制,由于系统很少需要交互,因此用户界面是节省成本的领域之一。此类设备通常只有几个按钮和一个单行文本显示屏。
但是,在调试和维护设备期间,安装人员或维护技术人员需要使用繁琐的用户界面与系统进行交互。他还需要依靠一本厚厚的手册来了解如何与设备进行交互,并了解奇怪的数字代码以识别系统需要操作的参数。
使用蓝牙低功耗可“解决”这一问题!
为什么不使用蓝牙低功耗连接取代按钮和单行显示屏?诚然,这不是一个新的应用场景, 但我坚信有更多类型的设备可以使用,而不是我们今天看到的规模。
蓝牙低功耗是推出蓝牙 4.0 时蓝牙标准的一部分,是一种适合此应用场景的轻型无线电技术。蓝牙低功耗(称为 GATT,通用属性配置文件)中推出的读取和写入属性的基本概念非常适合这种情况。配置参数和状态指示器可以表示为 GATT 属性。另一种可能性是对蓝牙低功耗使用串行抽象,这是许多芯片和模块制造商在其产品中采用的方法。可以在串行抽象的基础上实施一个简单的协议,以传输配置参数和状态信息。
更好用户界面的推动因素当然是,市场上所有标准手机、平板电脑和笔记本电脑都支持蓝牙低功耗。所有安装人员和维修技术人员的口袋中都有一个用户界面。设备制造商需要为其设备开发手机/平板电脑应用,这在今天是一项相当简单的任务,而且价格也不贵。
将蓝牙低功耗应用用作机器 GUI 的好处
基本好处当然是拥有完整的图形用户界面,并且可以使用多点触控技术进行多种交互。您可以在图形中显示历史数据,以用户友好的格式表示设备中的数据,以及支持多种语言。另一个选项是具有多个用户界面,例如安装人员一个界面,而维护技术人员另一个界面。
由于手机或平板电脑通常连接到互联网,因此安装人员/维护技术人员 始终可以随时更新最新的应用更改。互联网连接可用于扩展用户界面,例如通过在线提供最新的维护说明。该应用可以支持设备的空中固件更新 (FOTA)。
连接手机/平板电脑后,可以上传本地存储的信息,以便稍后用于集中分析(例如用于预防性维护的集中评估或用于收集信息用于未来的产品改进)。同样的概念可用于在后台专家和他们所协助的维修技术人员之间建立联系。
另一个好处是,设备可以完全“无头”。添加按钮、显示屏和连接器对于在恶劣环境中运行的设备而言,始终是一项成本高昂的挑战。通过芯片或模块添加蓝牙低功耗连接是一种低成本解决方案,因为它可取代恶劣环境的昂贵机械设计和组件。
实施
通过将蓝牙低功耗芯片或模块集成到设备中,可以实施蓝牙低功耗连接。模块集成可能是一件容易的事,因为该模块通常以完全具有蓝牙认证且带有类型认可的组件的形式交付,从而使设备制造商自己无需拥有无线电和蓝牙低功耗专业知识。
图中显示了蓝牙低功耗模块的一个示例。u-blox NINA-B1 配有天线引脚或内部天线。如果存在机械问题,需要将天线放置在模块以外的位置(例如全金属外壳),则天线引脚类型可能很有用。
模块/芯片通常通过串行接口(例如 UART 接口)连接到设备微控制器 (MCU),但也有其他可能,例如 SPI、I2C 或 PIO 接口。
NINA-B1 模块支持设备 MCU 的不同软件接口。u-blox 串行端口服务 (SPS) 是通过 UART 运行的串行连接抽象。另一种可能性是通过 UART 使用 GATT 服务器功能。这使设备 MCU 可以设置自己的 GATT 属性,以便通过蓝牙低功耗连接进行读/写,并从设备 MCU 更新和通知。NINA-B1 还支持客户在 NINA-B1 中编写自己的自定义应用代码,例如使用 ARM mbed 开发工具。
蓝牙方面经常讨论的一个“问题”是手机/平板电脑与设备之间的配对关联。在控制器设备的应用场景下,许多首次使用的用户需要安全地访问设备,例如首次参与设备工作的服务技术人员。设备可能始终处于可发现状态,应用可能支持搜索设备的模式。如果只有一个设备可见,这可能是一个足够好的选项,但更好的做法是使用近场通信 (NFC) 与设备进行关联/配对。蓝牙低功耗支持称为带外配对 (OOB) 的配对方法来实现此功能。将手机靠近设(“触摸”设备),当距离足够近时,将完成自动安全配对。u-blox NINA-B1 模块支持 NFC OOB 配对。