# openharmony_for_device **Repository Path**: biermoe/openharmony_for_device ## Basic Information - **Project Name**: openharmony_for_device - **Description**: 险峰设备工位 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-02-25 - **Last Updated**: 2025-03-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 编译说明: 如果目录下没有build文件夹,需要创建,编译命令依次如下: mkdir build cd build cmake .. make 开发工具,使用vscode进行编译和调试 1.程序结构说明 //controller目录 存放oatpp对外的HTTP接口的定义 //data目录 主要是存放Sqlite3数据库wstore.db和路径配置文件wap.csv,这两个文件在编译的时候会自动拷贝到output/data目录下 output/data目录用于存放应用配置 map.xls 文件主要是用来方便编辑地图内容,可以编辑完成后另存为map.csv,xls文件看起来比较直观 //db目录,用于存放sqlite3数据库操作,目前只有localdb.hpp有用到 //device目录,存放的是数据采集相关的内容,如果是小车控制,可能不涉及 //doc目录,用来存放的是程序说明文件,协议文件 //dto目录,用来存放数据库操作和http请求相关的数据结构 //extlib用来存放用到的第三方库,有的需要安装 json:是处理json的类,实际上只需要静态文件,已经把相关文件放到model文件夹下,此次不再涉及 libhv:设备控制相关的,http处理相关,实际是目前不用 libmodbus:modbus操作相关的,如果只是小车g控制,则不涉及 oatpp-sqlite:需要编译安装,里面有个cmakelist.txt标识需要打开(如果是官网直接下载),这里已经重新配置好,可以直接编译安装 oatpp-starter-master:是HTTP请求相关的第三方依赖,需要编译安装 oatpp相关的安装可以看官网说明:https://oatpp.io/ snap7:是西门子s7协议相关的处理,小车控制不涉及 //model是一些中间件可以使用,编码过程中加的 string_util.hpp:主要是用于字符串的一些处理 ThreadSafeXXX:主要是用于安全对象的处理,不过感觉实用性不强,因为经常互斥操作不止这些内容 //output目录 编译输出目录 //rgv目录 ,rgv相关操作 rgv.cpp,用于操作单台RGV rgvmanager.cpp ,主要的仓储管理和车辆调度相关操作 其他都是辅助类 //rgvCtrl目录,主要是控制板通信i控制相关的操作 RgvController.cpp 主要操作类 interaction.cpp,目前并没有用到,不再涉及 test.cpp 测试用的,可以参考代码 在ubuntu下使用curl测试http接口格式: Get请求示例: curl http://localhost:8000/api/v1/wcs/stats Post请求示例: curl -X POST -H "Content-Type: application/json" -d '{"destX":"5","destY":"5","rgvNo":"rgv1"}' http://localhost:8000/api/v1/wcs/rgv/movergv