littlebot
Published on 2025-04-11 / 0 Visits
0

【源码】基于C语言的XENSIV雷达MQTT客户端系统

项目简介

这是一个基于C语言开发的系统,借助多个RTOS任务协同工作,实现了对XENSIV雷达数据的采集、处理和传输,还可通过MQTT代理服务器进行动态配置。

项目的主要特性和功能

  1. 多任务处理:系统包含MQTT客户端、发布者、订阅者、雷达任务、雷达配置任务和LED任务等多个RTOS任务,共同完成雷达数据的采集、处理和传输。
  2. 雷达事件检测与消息发布:能检测雷达的存在、不存在或计数等事件,检测到事件时,发布者任务会将相关消息发布到指定的MQTT_PUB_TOPIC主题。
  3. 动态配置:可通过MQTT代理服务器向客户端发送JSON消息,对xensiv-radar-sensing库进行动态配置。
  4. 多模式支持:RadarSensing库支持存在感应和入口计数两种工作模式,可在编译时通过defineundef RADAR_ENTRANCE_COUNTER_MODE切换。
  5. LED状态指示:通过LED灯的不同闪烁模式指示不同的雷达事件,方便用户直观了解系统状态。

安装使用步骤

环境要求

  • 安装ModusToolbox™软件 v2.4或更高版本(建议使用v2.4)。
  • 确保板级支持包(BSP)的最低版本为3.0.0。
  • 安装终端模拟器,如Tera Term

硬件连接

  1. 将XENSIV™雷达翼板通过引脚排连接到CYSBSYSKIT - DEV - 01套件。
  2. 使用USB电缆将CYSBSYSKIT - DEV - 01套件连接到PC。
  3. 将CYSBSYSKIT - DEV - 01套件放置在适合测试的位置。

项目创建

在Eclipse IDE for ModusToolbox™软件中

  1. 点击“Quick Panel”中的“New Application”链接(或使用“File” > “New” > “ModusToolbox Application”),启动Project Creator工具。
  2. 在“Project Creator - Choose Board Support Package (BSP)”对话框中选择支持的套件。
  3. 在“Project Creator - Select Application”对话框中,勾选示例项目。
  4. (可选)修改建议的“New Application Name”。
  5. (可选)更改“Application(s) Root Path”。
  6. 点击“Create”完成应用程序创建过程。

在命令行界面(CLI)中

使用CLI终端调用“project - creator - cli”工具,示例命令如下: project-creator-cli --board-id CYSBSYSKIT-DEV-01 --app-id mtb-example-sensors-radar-anycloud-mqtt-client --user-app-name SensorRadarMQTT --target-dir "C:/mtb_projects"

在第三方IDE中

可以使用独立的Project Creator工具或CLI进行项目创建,具体步骤可参考文档。

配置修改

  1. Wi-Fi配置:在configs/wifi_config.h中设置Wi-Fi凭证,修改WIFI_SSIDWIFI_PASSWORDWIFI_SECURITY
  2. MQTT配置:在configs/mqtt_client_config.h中设置MQTT客户端并配置凭证,包括MQTT_BROKER_ADDRESSMQTT_PORTMQTT_SECURE_CONNECTION等。
  3. 其他配置:可根据应用需求,修改configs/core_mqtt_config.hconfigs/FreeRTOSConfig.h中的配置宏。

程序烧录

使用Eclipse IDE for ModusToolbox™软件

  1. 在“Project Explorer”中选择应用项目。
  2. 在“Quick Panel”中,点击“ Program (KitProg3_MiniProg4)”。

使用CLI

在终端中执行make program命令,示例如下: make program TARGET=CYSBSYSKIT-DEV-01 TOOLCHAIN=GCC_ARM

运行与测试

  1. 打开终端程序,选择KitProg3 COM端口,设置串口参数为8N1和115200波特率。
  2. 程序烧录完成后,应用程序将自动启动,观察UART终端上的消息,等待设备完成所有必要的连接。
  3. 确认订阅主题成功后,若雷达翼板检测到传感器事件,终端将显示相关消息。
  4. 根据使用的MQTT代理服务器(如AWS IoT或公共Mosquitto代理),进行相应的订阅和发布操作,验证系统功能。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】