# QRB-ROS-SYSTEM-MONITOR

QRB-ROS-SYSTEM-MONITOR 包含多个 ROS 节点，用于发布系统状态信息，例如 CPU 负载、内存利用率和磁盘空间。

该图显示了使用 `sysfs` 节点和一些系统标准命令工具收集系统信息，然后再通过 ROS 消息发布这些数据的 pipeline。

![../../_images/system-monitor-pipeline.png](data:image/png;base64,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)

**图：qrb-ros-system-monitor pipeline**

关于 pipeline 流中使用的 ROS 节点和主题的信息，请参阅 [QRB-ROS-SYSTEM-MONITOR 的 pipeline 流](https://docs.qualcomm.com/doc/80-70017-265Y/topic/qrb-ros-system-monitor_5_2_6.html#section-err-vxg-vbc)。

## 用例：编译并运行 qrb-ros-system-monitor

**前提条件：**

- QIRP SDK 和依赖项已安装，请参阅[编译软件](https://docs.qualcomm.com/doc/80-70017-265Y/topic/build-the-software_4_1.html#build-the-software-4-1)和[刷写和安装](https://docs.qualcomm.com/doc/80-70017-265Y/topic/flash-and-install_4_3.html#flash-and-install-4-3)。
- 按照[使用 SSH 登录](https://docs.qualcomm.com/bundle/publicresource/topics/80-70017-254/how_to.html#use-ssh)中提到的步骤在 “Permissive” 模式下启用 `SSH`。

**步骤：**

1. 在主机上，编译 QIRP SDK 提供 `qrb_ros_system_monitor`。

cd <qirp_decompressed_workspace>
        source setup.sh
        
        cd qirp-samples/nodes/platform/qrb_ros_system_monitor
        export AMENT_PREFIX_PATH="${OECORE_TARGET_SYSROOT}/usr;${OECORE_NATIVE_SYSROOT}/usr"
        export PYTHONPATH=${PYTHONPATH}:${OECORE_TARGET_SYSROOT}/usr/lib/python3.10/site-packages
        export Python3_NumPy_INCLUDE_DIR=${OECORE_TARGET_SYSROOT}/usr/lib/python3.10/site-packages/numpy/core/include
        colcon build --merge-install --cmake-args \
          -DPython3_NumPy_INCLUDE_DIR=${Python3_NumPy_INCLUDE_DIR} \
          -DPYTHON_SOABI=cpython-310-aarch64-linux-gnu \
          -DCMAKE_STAGING_PREFIX=$(pwd)/install \
          -DCMAKE_PREFIX_PATH=$(pwd)/install/share \
          -DBUILD_TESTING=OFF
        Copy to clipboard
2. 将 `qrb_ros_system_monitor` 推送至设备。

Note

确保设备上已安装 QIRP SDK。

cd qirp-samples/nodes/platform/qrb_ros_system_monitor/install
        tar czvf qrb_ros_system_monitor.tar.gz include lib share
        scp qrb_ros_system_monitor.tar.gz root@[ip-addr]:/opt/
        ssh root@[ip-addr]
        (ssh) mount -o remount,rw /usr
        (ssh) tar -zxf /opt/qrb_ros_system_monitor.tar.gz -C /usr/
        Copy to clipboard
3. 启动两个终端，并在每个终端运行以下命令，从而在设备上搭建 QIRP SDK 和 ROS2 环境。

    `ROS_DOMAIN_ID` 的取值范围为：[0, 232]

ssh root@[ip-addr]
        (ssh) export HOME=/home
        (ssh) source /usr/share/qirp-setup.sh
        (ssh) export ROS_DOMAIN_ID=xx
        (ssh) source /usr/bin/ros_setup.bash
        Copy to clipboard
4. 在终端 1，运行系统监视器 ROS 节点。

(ssh) ros2 run qrb_ros_system_monitor qrb_ros_system_monitor
        Copy to clipboard
5. 在终端 2，获取系统信息。

(ssh) ros2 topic echo /cpu
        (ssh) ros2 topic echo /memory
        Copy to clipboard

## QRB-ROS-SYSTEM-MONITOR 的 pipeline 流

表：Qrb-ros-system-monitor pipeline 中使用的 ROS 节点

| ROS 节点 | 说明 |
| --- | --- |
| CpuMonitor<br>    Copy to clipboard | 发布 CPU 利用率信息。 |
| MemoryMonitor<br>    Copy to clipboard | 发布内存使用信息。 |
| DiskMonitor<br>    Copy to clipboard | 发布磁盘利用率信息。 |
| SwapMonitor<br>    Copy to clipboard | 发布交换空间信息 |
| TemperatureMonitor<br>    Copy to clipboard | 发布 CPU 温度。 |
| BatteryMonitor<br>    Copy to clipboard | 发布电池信息。 |
| SystemInfoServer<br>    Copy to clipboard | 发布静态系统信息，例如 CPU 数量。 |

表：Qrb-ros-system-monitor pipeline 中使用的 ROS 主题

| ROS 主题 | Type | 说明 |
| --- | --- | --- |
| /cpu<br>    Copy to clipboard | qrb_ros_system_monitor::CpuMonitor<br>    Copy to clipboard | CPU 利用率信息。 |
| /memory<br>    Copy to clipboard | qrb_ros_system_monitor::MemoryMonitor<br>    Copy to clipboard | 内存使用率信息。 |
| /disk<br>    Copy to clipboard | qrb_ros_system_monitor::DiskMonitor<br>    Copy to clipboard | 磁盘利用率信息。 |
| /swap<br>    Copy to clipboard | qrb_ros_system_monitor::SwapMonitor<br>    Copy to clipboard | 交换空间信息 |
| /temperature<br>    Copy to clipboard | qrb_ros_system_monitor::TemperatureMonitor<br>    Copy to clipboard | CPU 温度。 |
| /battery<br>    Copy to clipboard | qrb_ros_system_monitor::BatteryMonitor<br>    Copy to clipboard | 电池信息。 |
| /system_info_server<br>    Copy to clipboard | qrb_ros_system_monitor::SystemInfoServer<br>    Copy to clipboard | 静态系统信息，例如 CPU 数量。 |

## 局限性

系统信息值由 `sysfs` 节点和 Linux 标准命令行工具收集。因此，如果 `sysfs` 路径或命令行工具的输出格式发生变化，这些 ROS 节点可能无法正常工作。

Last Published: Jan 24, 2025

[Previous Topic
QRB-ROS-CAMERA](https://docs.qualcomm.com/bundle/publicresource/80-70017-265Y/topics/qrb-ros-camera_5_2_5.md) [Next Topic
OCR-service](https://docs.qualcomm.com/bundle/publicresource/80-70017-265Y/topics/ocr-service_5_2_7.md)