# rp-dev **Repository Path**: kingkol/rp-dev ## Basic Information - **Project Name**: rp-dev - **Description**: No description available - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-07-01 - **Last Updated**: 2025-11-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # rp-dev ## 介绍 rp-dev 是一个用于处理各种传感器数据的项目,它包含多个组件,每个组件负责处理特定类型的数据。这些组件通过MQTT协议进行通信,并能够通过ZMQ进行数据传输。 ## 软件架构 项目的主要组件包括: - `fusion-rfp`: 融合多种数据源的节点。 - `gnss-parser`: GNSS数据解析节点。 - `m3e-parser`: M3E数据解析节点。 - `mrf-parser`: MRF数据解析节点。 - `ppp-pwv`: PPP-PWV数据处理节点。 - `pwv-rfp`: PWV和气象数据融合节点。 - `term-portal`: 终端门户节点。 这些组件均继承自`mqtt_node`,实现了MQTT消息的订阅与发布功能。此外,项目还利用了第三方库如`libmosquitto`和`spdlog`进行MQTT通信和日志记录。 ## 编译教程 - 编译x86架构的程序需要Ubuntu22.04,3rd里面的第三方库是基于它编译的,同时pwv-rfp在x86架构下编译不过去 - 交叉编译器位置,放在rp-dev同级目录,命名为gcc-12(rk3562), gcc-linaro(rk1808) - gcc-12 - aarch64-none-linux-gnu - bin - ... - share - gcc-linaro - aarch64-linux-gnu - bin - ... - share - rp-dev - 3rd - doc - ... - CMakeLists.txt - 如需编译arm版本,请取消rp-dev/CMakeLists.txt文件里面选择取消注释第12到第14行 - 编译的结果文件在rp-dev/app/bin目录下,包括可执行文件和so库 ### 编译x86架构的程序 ```bash # 编译x86架构的程序(和arm的那个2选一) cd rp-dev mkdir build && cd build # 从arm架构切换到x86架构时需要清理下编译缓存,如不切换就不用执行删除 rm -rf * cmake .. make -j make install ``` ### 编译arm架构的程序 ```bash # 编译arm架构的程序(和x86的那个2选一) cd rp-dev mkdir build && cd build rm -rf * cmake .. -DBUILD_AARCH64=ON make -j make install ``` ## 使用方法 每个节点组件都可以单独运行,并通过MQTT订阅感兴趣的主题。数据可以通过串口读取,也可以通过ZMQ传输。日志记录通过`spdlog`库实现,可以配置日志级别和格式。 mqtt消息在onMqArrival接口中取得 ## 安装部署 安装步骤如下: ### 设备ID - 重做系统或者更换板卡后:echo "TJ01" > /etc/rp-sn - 查看设备ID:cat /etc/rp-sn ### 版本文件 - doc/version/app:修改app版本,eg:1.0.1 - app-model/version/model:修改model版本 ### 打包发布 - 编译完成后,在build目录下执行make install,生成的文件会自动安装到app-aarch64/x86_64目录 - 在app-publish目录执行sh publish.sh命令,会自动将app-aarch64/x86_64目录打包为rp_app.zip,app-model目录打包为rp_model.zip - 将rp_app.zip和rp_model.zip上传到平台端 ### 设备端部署(或者直接执行install_to_board.sh脚本) - 首次部署请将app-publish/rp_update上传到设备端/rp_update目录下 - 首次部署请将doc/tronlong/rp_install目录上传到设备端/rp_install目录下 - 设备端将/rp_install/init_rp.sh脚本配置为开机启动,具体方法为在/etc/init.d/rcS文件后追加:/rp_install/init_rp.sh & - 设备端wifi配置,请修改/rp_install/init_rp.sh文件中的wifi配置 - 启动单独程序,nohup ./b2b980 > /dev/null 2>&1 & ## 贡献指南 如果您想为本项目做出贡献,请确保遵循以下步骤: 1. Fork项目仓库。 2. 创建新的分支用于开发。 3. 提交您的更改并推送至您的仓库。 4. 创建Pull Request并描述您的更改。 ## 许可证 本项目的许可证信息请参见项目根目录下的LICENSE文件。第三方库的许可证信息请参见各自的文档。