如何有效地实现多连接资产跟踪应用

作者:Jens Wallmann

先进的资产跟踪应用,如牲畜监测、车队管理和物流,都能自动捕获被跟踪对象的当前状态信息和位置坐标。内置的应答器会将其记录数据转发到云端,供控制中心或移动设备使用。在工厂车间,经常需要进行短程无线数据更新,以交换物流数据、处理历史记录和监测数据、更改配置或在应答器存储器中执行固件更新。

这类资产跟踪系统的开发人员面临以下挑战:设计多功能传感器应答器,通过各种远程和短程无线电协议进行通信,收集广泛的测量数据,在不更换电池的情况下运行数月,并通过互联网服务提供所有数据。此外,设计人员还必须在克服以上挑战的同时,降低成本并缩短上市时间。

虽然任务极其艰巨,但设计人员仍可通过使用已广泛集成所需软硬件的开发套件,来节省大量的时间和精力。

本文讨论多种应用的先进资产跟踪技术要求。然后,介绍 STMicroelectronics 的多功能开发套件,该套件可大幅减少原型设计、测试和评估的工作量。文中还深入介绍了该开发套件的关键功能特性,并展示了开发人员如何在不必编码的情况下轻松定制组合片上系统 (SoC) 模块的功能,然后从云端进行数据检索和可视化。

无线测量应答器的特性

资产跟踪涵盖广泛的应用领域,每个领域都需要用于应答器和所连接网络的专门技术设备。图 1 列出了四个应用类别的无线测量应答器的技术特性。

无线测量应答器的特性示意图(点击放大)图1:无线测量应答器的特性取决于资产跟踪应用。(图片来源:STMicroelectronics)

物体携带的自主应答器必须检测环境影响、物体的位置和状态(感测,图 1),将其存储起来,并在下一次机会中通过各种无线接口(连接)进行广播。各种无线协议的信号处理和转换必须由一个足够强大的微控制器 (MCU) 进行处理,并实现较高的数据安全性(“处理和安全性”)。该 MCU 还会控制能源管理(“电源管理”),从而确保应答器电池具有长工作寿命。

资产跟踪应用所需的数据可用性会影响传感器的复杂性,并需要适当的连接。对于可预测的已知运输路线,如包裹运送,只需将测量信号存储在应答器中即可。然后可以在下一个物流检查站使用低功耗蓝牙 (BLE) 或近场通信 (NFC) 近距离读出数据。

在车队管理以及物流和远程牲畜监测等案例中,从应答器通过云端到最终应用的数据传输,应尽可能地接近于实时传输。因此,应答器需要一个移动无线电接口来覆盖广泛的范围。选择包括 LoRaWAN(远程广域网)、Sigfox 和窄带物联网 (NB-IoT),因为这些协议经过优化,适用于低吞吐量、节能型数据传输。

完整的资产跟踪生态系统可减少开发工作

系统设计人员如果想要以具有成本和时间效益的方式实现其资产跟踪应用 (ASTRA),他们可以使用 STMicroelectronics 的多功能 STEVAL-ASTRA1B 开发平台。该平台包含多个 IC 和 SoC 模块,极大地简化了创新型跟踪和监测解决方案的原型开发、编程、测试和评估。开发套件包括一个模块化评估板、固件库、编程工具和电路文档,以及一个用于移动设备的 App 和基于网络的可视化界面(图 2)。

即用型资产跟踪生态系统的图片(点击放大)图 2:即用型资产跟踪生态系统从无线测量应答器延伸到云端,再到终端应用,减少了开发工作。(图片来源:STMicroelectronics)

STEVAL-ASTRA1B 板以两个用于短程和远程连接的低功耗 SoC 模块为基础,并搭配了 NFC。板上包括一个用于数据安全功能的模块。载板具有多个环境和运动传感器,以及一个全球卫星导航系统 (GNSS) 模块,用于提供位置坐标并支持地理边界功能。一个电源管理系统调节所有设备组件的工作模式并控制电源。电源由一个开关转换器、一块电池和一个 USB-C 充电控制器构成,以尽可能地延长电池续航时间。该套件在交付时包括一个 480 mAh 的锂聚合物 (Li-Poly) 电池、一个外壳、一根 SMA 天线 (LoRa) 和一根 NFC 天线。

STEVAL-ASTRA1B 板的 IC 和 SoC 包括:

  • 两个无线 SoC:
    • STM32WB5MMGH6TR:这款 SoC 模块基于 2.4 GHz 无线超低功耗 Arm® Cortex®-M4/M0+ MCU,用作主应用处理器并支持 802.15.4、BLE 5.0、Thread 和 Zigbee
    • STM32WL55JCI6:这款无线 SoC 基于无线超低功耗 Arm Cortex M0+ MCU,并支持 LoRa、Sigfox 和亚千兆赫 (GHz) GFSK (150 - 960 MHz)
  • ST25DV64K-JFR8D3:NFC 发射器
  • TESEO-LIV3F:具有同步多星系的 GNSS 模块
  • 环境和运动传感器:
    • STTS22HTR:数字温度传感器;-40 至 125°C
    • LPS22HHTR:压力传感器;26 至 126 kPa,绝对值
    • HTS221TR:湿度和温度传感器;0 至 100% 相对湿度 (RH) I²C、SPI ±4.5% RH
    • LIS2DTW12TR:加速计 X、Y、Z 轴;±2g、4g、8g、16g,0.8 Hz 至 800 Hz
    • LSM6DSO32XTR:加速计、陀螺仪、温度传感器 I²C、SPI 输出
  • STSAFE-A110:安全元件
  • 具有智能电源管理架构的电池供电解决方案:
    • ST1PS02BQTR:降压开关稳压器 IC;正可调,1.8 V,1 个输出,400 mA
    • STBC03JR:用于锂离子 (Li-ion) 或锂聚合物的电池充电器 IC
    • TCPP01-M12:USB Type-C 和功率输送保护

评估板的工作温度为 +5 至 35°C,并使用以下频段:

  • BLE:2400 MHz 至 2480 MHz,+6 dBm(分贝数基准为 1 mW)
  • LoRaWAN:863 MHz 至 870 MHz,+14 dBm(受固件限制)
  • GNSS(接收器):1559 MHz 至 1610 MHz
  • NFC:13.56 MHz

STEVAL-ASTRA1B 的内部结构

ASTRA 应答器的行为类似于一个数据记录器,并将其数据流拆分到三个主要模块,每个模块都由硬件和软件驱动程序以及应用层构成(图 3)。数据输入(图 3,左图)用于捕获所有板载传感器信号。中间模块(图 3,中图)用于处理和存储数据。最后,将存储的数据以无线方式进行广播(图 3,右图)。在重新配置、固件更新或写入流程/物流数据的情况下,信号流以相反的方向运行。

无线测量应答器的数据流图片图 3:无线测量应答器的数据流:传感器信号(左图)经过处理、存储(中图),然后在机会出现时进行发送(右图)。(图片来源:STMicroelectronics)

FP-ATR-ASTRA1 固件扩展了 STMicroelectronics 的 STM32Cube 开发环境,并实现了完整的资产跟踪应用,可支持远程(LoRaWAN、Sigfox)和短程(BLE、NFC)连接。该功能包从环境和运动传感器读取数据,检索 GNSS 地理定位,并将所有数据通过 BLE 发送到移动设备,同时通过 LoRaWAN 连接发送到云端。

FP-ATR-ASTRA1 软件包支持低功耗配置文件,以确保较长的电池续航时间,实现最大的自主性。它还提供了多项关键功能,如安全元件管理、添加定制算法的功能、调试接口和扩展能力。

该软件包划分为:文档、驱动程序和 HAL、中间件,以及示例项目。项目包括适用于 Keil、IAR 和 STM32Cube 集成开发环境 (IDE) 的源代码和经编译的二进制文件。以下五个预定义用例均可单独配置:车队管理、牲畜监测、货物监测、物流和定制应用。

STEVAL-ASTRA1B 作为一个简单的状态机运行,并根据事件改变其运行模式。两种主要状态设计用于全速工作(运行)或低功耗 (LP) 模式。在运行模式下,所有功能都被激活,所有数据都按照配置进行广播。而在 LP 状态下,除 MCU 外,所有元器件都被设置为低功耗模式或被禁用(图 4)。

STMicroelectronics STEVAL-ASTRA1B 的两种主要工作模式示意图图 4:STEVAL-ASTRA1B 的两种主要工作模式包括全速工作(运行)或 LP 模式。(图片来源:STMicroelectronics)

按下侧边键将触发两种状态之间的转换。另一个输入可以是微机电系统 (MEMS) 事件的输出或算法的结果。这只是一个例子,说明如何实施状态机以改变设备的行为。也可以实施多个中间状态,以平衡系统响应能力与电池续航时间。

可能的事件包括

  • BP:按下按钮事件
  • SD:关机事件
  • ER:错误事件
  • EP:自动转换至下一个步骤
  • RN:转到全速运行命令
  • LP:转到低功耗命令

云数据检索和可视化

STEVAL-ASTRA1B 应答器预装了 FP-ATR-ASTRA1 固件包,因此环境测量信号和 GNSS 位置数据可以在几分钟内实现可视化。

使用智能手机和平板电脑的 STAssetTracking 移动 App,启用蓝牙并连接到互联网后,通过 myst.com 用户帐户在 TTN (The Things Network) V3 网络服务器上将应答器注册为 LoRaWAN 参与者。此外,应答器还与 Amazon Web Services (AWS) 上的 DSH-ASSETRACKING 网络仪表盘相连接。

完成 TTN 注册后,STEVAL-ASTRA1B 会出现在移动 App 的更新设备列表中。按下 <Settings> 菜单中的“Start synchronization”按钮将会激活应答器的发射模式,使其通过 BLE 和 LoRaWAN 并行发送存储的数据。移动 App 可以在仪表盘上显示存储器中的测量数据,并输出应答器的 GNSS 位置,或将其显示为地图上的一个标记(图 5)。

移动 App 有助于在 TTN 注册应答器的图片(点击放大)图 5:移动 App 有助于在 TTN 注册应答器,并将其连接到云端仪表盘;它可以直观显示记录的传感器值,并协助进行配置和调试。(图片来源:STMicroelectronics)

除了 ASTRA 应答器外,网络仪表盘还可以聚合网络中其他许多独立的无线跟踪器,如 P-L496G-CELL02 (LTE) 和 NUCLEO-S2868A2(Sigfox 射频发射器),或互联网耦合节点,如 STEVAL-SMARTAG1 (Wi-Fi)、STEVAL-MKSBOX1V1(BLE 终端节点)和 STEVAL-SMARTAG1(NFC 终端节点)。这使得发展基于云的多协议无线生态系统成为可能。

单独配置和编程

在初始调试期间成功评估 ASTRA 应答器的出厂设置后,下一步是让开发人员根据自己的资产跟踪应用定制应答器。

对于无需额外硬件的小型定制工作,通过 BLE 和移动 App(按移动 App 中的“锤子和扳手”图标,图 5)便足以配置各种参数和功能。

另一种配置项目的方法是使用命令行和调试控制台。PC 终端程序(如 Tera Term)通过虚拟 COM 端口使用 USB 进行通信,而移动设备则使用 STBLESensor(ST BLE 传感器)App,并通过 BLE 进行联网(图 6)。

PC(左图)和移动设备(右图)上的命令行和调试控制台图片(点击放大)图 6:PC(左图)和移动设备(右图)上的命令行和调试控制台。(图片来源:STMicroelectronics)

要对 ASTRA 板重新编程,就像固件更新、集成其他库函数或生成开发人员自己的应用代码那样,通过 JTAG 接口进行访问非常方便。为此,通过一条 14 针带状电缆将单独提供的 STLINK-V3MINIE 调试和编程适配器连接到 ASTRA 板。然后,安装在 PC 上的 Keil、IAR 或 STM32Cube 等 IDE 可以将编译后的二进制文件写入到应用程序存储器或调试程序序列中。

STLINK-V3MINI 还提供了虚拟 COM 端口接口,以便主机 PC 通过 UART 与目标微处理器通信。

有几种方法可以对不同的 Arm MCU 进行固件更新:

  • PC 上的 STM32Cube 编程器使用 JTAG 适配器和 MCU 引导程序将二进制文件写入闪存中
  • PC 上的 STM32Cube 编程器使用 USB 和 MCU 引导程序将二进制文件写入闪存中
  • 通过 BLE,使用移动设备上的 STBLESensor App 进行空中固件升级 (FUOTA)

由于应用控制器 STM32WL55JC (LoRaWAN) 用作 STM32WB5MMG (BLE) 的主控,因此必须通过跳线选择各自的 MCU 核心来进行闪写。

使用 STM32CubeMX 的图形化软件配置

STM32Cube 通过减少开发工作、时间和成本,让开发人员的生活更加轻松。该 IDE 涵盖了整个 STM32 MCU 产品组合。此外,STM32CubeMX 还允许使用图形化向导进行配置和生成 C 代码。FP-ATR-ASTRA1 软件包扩展了 STM32Cube 的功能,并可以直接安装到 STM32CubeMX IDE 中。

图 7 显示了 STM32CubeMX 的 Shell:导航(左侧和顶部),FP-ATR-ASTRA1 包配置(中间),及其架构(右侧)。FP-ATR-ASTRA1 包提供了三个用于定制的选项卡:[Platform Settings]、[Parameter Settings] 和 [ASTRA ENGINE]。

使用 STMicroelectronics STM32CubeMX 工具的图形化软件配置图片(点击放大)图 7:使用 STM32CubeMX 工具的图形化软件配置:导航(左侧和顶部)、FP-ATR-ASTRA1 包配置(中间)及其架构(右侧)。(图片来源:STMicroelectronics)

在配置好所有设置后,可通过按下 <Generate Code> 按钮从 STM32CubeMX 生成代码。之后,可以通过打开所需的 IDE 来定制、编译固件代码并在电路板上闪写。

生成的源代码在硬件模块和功能方面具有模块化架构。硬件模块管理是通过特定的定义 (USE_GNSS) 来识别的。函数在不同的文件中进行管理,例如系统初始化、状态机配置或数据管理。

尽管文件树非常复杂,但在用例的应用配置中仅涉及几个文件:

  • App_astra.c/.h
    此主文件为入口点,它在 MX_Astra_Init() 中调用初始化函数(清单 1)

MX_Astra_Init() 函数用于系统初始化的图片清单 1:此 MX_Astra_Init() 函数用于系统初始化。(清单来源:STMicroelectronics)

  • astra_confmng.c/.h
    此板配置管理器包含了供用户选择的变量,以启用/禁用每个硬件模块及用例的实现和配置。
  • astra_datamng.c/.h
    在此文件中,从传感器和其他输入收集的数据存储在 RAM 中。它们已做好操作准备,例如,对数据运行特定的算法。
  • astra_sysmng.c/.h
    在这里实现与系统有关的功能。主要功能包括命令行界面、按钮回调、算法、LED、资产跟踪用例管理和定时器管理。
  • SM_App.c/.h
    这些文件包含状态机的配置结构。

总结

资产跟踪应用的开发是一个复杂的多步骤过程,但多功能 STEVAL-ASTRA1B 开发平台简化了这项任务。由于板载了所有必要的硬件和软件,它提供了一种快速、简单的方法,在网络界面或通过移动设备 App 来可视化无线应答器记录的数据。如上所述,开发人员只需使用灵活的配置工具,无需代码编程便能根据其跟踪或监测应用定制此无线数据记录器,或者也可以使用自动代码生成器。

免责声明:各个作者和/或论坛参与者在本网站发表的观点、看法和意见不代表 DigiKey 的观点、看法和意见,也不代表 DigiKey 官方政策。

关于此作者

Jens Wallmann

Jens Wallmann 是一名自由编辑,为电子出版物撰稿(印刷版和网络版)。作为一名电气工程师(通信工程)和训练有素的工业电子工程师,他在电子产品开发领域拥有超过 25 年的经验,主要从事测量技术、汽车电子、加工工业和射频领域的工作。