# AmovRemoteID **Repository Path**: amovlab1/AmovRemoteID ## Basic Information - **Project Name**: AmovRemoteID - **Description**: AmovRemoteID致力于推动国产民用无人机运行识别标准的开源实现与落地应用。 我们围绕 GB 46750-2025(运行识别规范)和 GB 46761-2025(数据交换接口规范),提供从机载固件、地面接收器到标准文档的完整开源解决方案。项目源于阿木实验室(AmovLab)在实际产品开发中的技术积累,希望为行业提供一个开放、可验证的参考实现,降低无人机运行识别的技术门槛。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2026-09-14 - **Last Updated**: 2026-09-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # GB46750 — 民用无人驾驶航空器运行识别开源实现 本仓库围绕 GB 46750-2025《民用无人驾驶航空器系统运行识别规范》建设,集中维护国家标准参考文档、纯 C99 数据包编码库,以及基于 ESP32-S3 的机载运行识别固件。 ## 仓库内容 | 目录 | 内容 | 适用场景 | | --- | --- | --- | | [`libgb46750/`](libgb46750/) | GB 46750-2025 二进制数据包编码库 | 在嵌入式、桌面端或其他 C99 项目中编码 001—021 字段 | | [`amov-remote-id/`](amov-remote-id/) | ESP32-S3 机载 Remote ID 固件 | 接收 PX4 MAVLink/DroneCAN 数据并通过 Wi-Fi Beacon 广播 | | [`specs/`](specs/) | GB 46750-2025、GB 46761-2025 标准参考文件 | 协议研究、实现核对与测试用例设计 | ```text amov-remoteid-open/ ├── amov-remote-id/ ESP32-S3 运行识别固件 ├── libgb46750/ 纯 C99 编码库 ├── specs/ 标准参考文件 └── README.md 仓库总览与使用入口 ``` ## 标准参考 标准全文可从全国标准信息公共服务平台获取: | 标准号 | 名称 | 官方链接 | | --- | --- | --- | | GB 46750-2025 | 民用无人驾驶航空器系统运行识别规范 | [全国标准信息公共服务平台](https://openstd.samr.gov.cn/bzgk/std/newGbInfo?hcno=56E7666BF313B2F51A747F2BEEE4F896) | | GB 46761-2025 | 民用无人驾驶航空器系统运行识别数据交换接口规范 | [全国标准信息公共服务平台](https://openstd.samr.gov.cn/bzgk/std/newGbInfo?hcno=495F3D69241E5961AFC4FA2939E383B4) | > 标准原文及其版权归相应权利人所有。仓库中的标准文件仅用于技术研究、实现核对和互操作性测试;正式设计、检测与合规判定请以官方发布版本为准。 ## libgb46750:纯 C99 编码库 `libgb46750` 实现 GB 46750-2025 运行识别二进制数据包编码,使用 C99 标准库,无第三方运行时依赖,可单独集成到 MCU、Linux、Windows 等 C 工程。 主要能力: - 编码 GB 46750-2025 规定的 001—021 字段; - 使用 `fields_present[3]` 控制强制字段和可选字段; - 显式输出小端序整数及 48 位时间戳; - 提供数据初始化、数据包编码和调试输出接口; - 通过标准 CMake 构建静态库和示例程序。 ### 构建与运行 在仓库根目录执行: ```bash cmake -S libgb46750 -B libgb46750/build cmake --build libgb46750/build ``` Linux/macOS: ```bash ./libgb46750/build/example ``` Windows 多配置生成器通常在以下位置生成程序: ```powershell .\libgb46750\build\Debug\example.exe ``` ### 核心 API ```c void gb46750_init(gb46750_data_t *data); int gb46750_encode( const gb46750_data_t *data, uint8_t *buf, size_t buf_size ); void gb46750_dump(const gb46750_data_t *data, FILE *stream); ``` - `gb46750_init()`:初始化字段并设置未知值; - `gb46750_encode()`:将 `gb46750_data_t` 编码到调用方缓冲区,成功时返回数据包长度; - `gb46750_dump()`:将 001—021 字段输出到指定流,便于调试。 更完整的数据结构、字段位掩码和示例说明见 [`libgb46750/README.md`](libgb46750/README.md)。 ## AmovRemoteID:ESP32-S3 固件 `amov-remote-id` 是机载 Remote ID 固件。它接收 PX4 飞控的 MAVLink 或 DroneCAN 数据,将飞行状态映射并编码为运行识别数据包,通过 Wi-Fi Beacon 持续广播,同时兼容 ASTM F3411 Open Drone ID 广播。 ### 功能特性 - GB 46750-2025 运行识别数据包编码(001—021 字段); - 双路 Wi-Fi Vendor IE 注入:OUI `FA:0B:BC`,类型 `0xF0` 为国标、`0x0D` 为 ODID; - PX4 MAVLink 串口输入:115200 bps; - DroneCAN/TWAI 输入:1 Mbps; - Web 配置页面与 NVS 参数持久化; - Wi-Fi AP 热点和芯片温度监测。 ### 硬件与引脚 - 芯片:ESP32-S3 N16R8(16 MB Flash、8 MB Octal PSRAM) | 功能 | GPIO | 说明 | | --- | ---: | --- | | CAN TX | 1 | TWAI,1 Mbps | | CAN RX | 2 | TWAI,1 Mbps | | MAVLink TX | 15 | 连接 PX4 TELEM2 RX,115200 bps | | MAVLink RX | 16 | 连接 PX4 TELEM2 TX,115200 bps | ### 编译和烧录 固件使用 ESP-IDF v5.5.4。在仓库根目录执行: ```bash cd amov-remote-id idf.py set-target esp32s3 idf.py build idf.py -p COM25 flash monitor ``` 请根据实际设备修改串口号。需要清理旧构建结果时,可在固件目录执行: ```bash idf.py fullclean ``` ### 首次配置 1. 设备上电后连接 Wi-Fi 热点 `RID-000000`;默认密码请参阅产品手册。 2. 浏览器访问 `http://192.168.4.1`。 3. 在设备配置页面填写唯一产品识别码(001)、实名登记标志(002)、航空器型号和类型等信息。 4. 保存并重启;热点名称将根据 UPIC 后六位更新为 `RID-XXXXXX`。 ### 固件目录 ```text amov-remote-id/ ├── main/ 应用入口 ├── components/ │ ├── remote_id/ │ │ ├── broadcast/ Wi-Fi Beacon 广播 │ │ ├── gb46750/ 固件内现有的 GB 46750 编码实现 │ │ ├── odid/ ASTM F3411 Open Drone ID │ │ ├── transport/ MAVLink、DroneCAN 数据映射 │ │ ├── util/ 参数管理 │ │ └── web/ Web 配置服务 │ ├── app_can/ CAN/DroneCAN │ └── app_wifi/ Wi-Fi AP 管理 ├── partitions.csv └── sdkconfig.defaults ``` ## 许可证 仓库包含不同来源和授权范围的内容,请分别遵循对应目录中的许可证: - `libgb46750`:MIT License,见 [`libgb46750/LICENSE`](libgb46750/LICENSE); - `amov-remote-id`:源码可用、非商业使用许可证,见 [`amov-remote-id/LICENSE`](amov-remote-id/LICENSE); - `specs`:标准原文不适用上述软件许可证,版权归相应权利人所有。 商业集成固件或需要 UOM 网络运行识别上报能力时,请联系阿木实验室获取相应支持和授权。 ## 关于我们 阿木实验室(AmovLab)专注无人机开源生态建设,致力于推动国产无人机运行识别标准的落地与应用。 - 官网:https://amovlab.com - Gitee:https://gitee.com/amovlab1