ArduPilot RemoteID Transmitter:无人机远程识别的利器

ArduPilot RemoteID Transmitter:无人机远程识别的利器

【免费下载链接】ArduRemoteIDRemoteID support using OpenDroneID 项目地址: https://gitcode.com/gh_mirrors/ar/ArduRemoteID

项目介绍

ArduPilot RemoteID Transmitter 是一个基于 MAVLink 和 DroneCAN 协议的开源项目,旨在为无人机提供符合 FAA 标准和欧盟远程识别(RemoteID)法规的传输解决方案。该项目不仅满足了 ASTM F3586-22 合规性要求,还为无人机制造商和用户提供了一个灵活且强大的工具,以确保其产品在全球范围内的合法性和安全性。

项目技术分析

硬件支持

ArduPilot RemoteID Transmitter 目前支持 ESP32-S3 和 ESP32-C3 芯片,并兼容多种开发板和商业产品,如 Bluemark 的 DB110、DB200、DB201、DB202mav 和 DB210pro。此外,项目还计划支持来自 Wurzbach Electronics 的硬件。

对于 ESP32-S3 开发板,固件假设的引脚配置为:

  • UART TX 引脚 18
  • UART RX 引脚 17
  • CAN TX 引脚 47
  • CAN RX 引脚 38

对于 ESP32-C3 开发板:

  • UART TX 引脚 3
  • UART RX 引脚 2
  • CAN TX 引脚 5
  • CAN RX 引脚 4

CAN 需要连接合适的 1MBit bxCAN 收发器到 CAN TX/RX 引脚。

传输模式

该项目支持多种传输模式,包括 WiFi 广播、WiFi NAN(邻近感知网络)、蓝牙 4 传统广告和蓝牙 5 长距离 + 扩展广告。这些模式确保了无人机在不同环境下的可靠通信。

协议支持

ArduPilot RemoteID Transmitter 支持与 ArduPilot 飞行控制器通过 MAVLink 或 DroneCAN 进行通信。MAVLink 使用 OpenDroneID 服务,而 DroneCAN 则使用特定的远程 ID 消息,确保了双传输实现的简便性。

固件更新与安全

项目提供了预构建的固件版本,并支持通过 Espressif FlashTool 进行初始固件加载。此外,通过内置的 Web 服务器,用户可以方便地进行固件更新和参数配置。固件签名机制确保了更新的安全性,防止未经授权的固件加载。

固件刷写工具设置

使用FlashTool刷写固件

参数配置系统

固件提供了一套完整的参数系统,可通过 DroneCAN 或 MAVLink 访问。关键参数包括:

  • LOCK_LEVEL:控制板的锁定级别。设置为非零值将阻止通过 DroneCAN 的所有参数更新
  • UAS_TYPE、UAS_ID_TYPE 和 UAS_ID:重写 RemoteID BasicID 数据包中的 ID
  • WEBSERVER_ENABLE:启用 WiFi 接入点和 Web 服务器
  • PUBLIC_KEY1 到 PUBLIC_KEY5:用于验证固件更新和安全参数更新的公钥

DroneCAN参数界面

Web 服务器功能

固件内置 Web 服务器(当 WEBSERVER_ENABLE 参数启用时),WiFi 接入点使用来自 WIFI_SSID 和 WIFI_PASSWORD 的 SSID 和密码。默认 SSID 为 RID_xxxxxxxx(xxxxxxxx 为板的出厂 WiFi MAC 地址),默认密码为 ArduRemoteID。

Web 服务器提供安全的固件更新机制,只允许使用与参数中 5 个公钥之一对应的正确签名的固件。Web 服务器默认 URL 为 http://192.168.4.1。

安全特性

固件签名

要生成公钥/私钥对,请使用:

scripts/generate_keys.py 

密钥与 ArduPilot 安全启动系统兼容。默认包含 3 个 ArduPilot 发布公钥。

签名 OTA 固件的命令示例:

scripts/sign_fw.py ArduRemoteID_ESP32S3_DEV_OTA.bin MyName_private_key.dat 1 

锁定级别机制

LOCK_LEVEL 参数是供应商锁定 RemoteID 板以防止篡改的方法:

  • LOCK_LEVEL=0:允许更改参数,只允许通过 Web 服务器升级已签名的固件
  • LOCK_LEVEL=1:阻止通过 DroneCAN 或 MAVLink 界面的所有参数更改
  • LOCK_LEVEL=2:设置 ESP32 eFuse 以防止通过 USB 端口进行固件更新
  • LOCK_LEVEL=-1:跳过固件升级的所有检查

安全参数更新

一旦 LOCK_LEVEL 设置为 1 或 2,您需要使用 DroneCAN SecureCommand 接口或 MAVLink SECURE_COMMAND 接口来设置参数。

使用 DroneCAN GUI 工具进行安全参数更新:

RemoteID面板1

RemoteID面板2

GUI签名界面

项目应用场景

ArduPilot RemoteID Transmitter 适用于需要符合 FAA 和欧盟远程识别法规的无人机制造商和用户。无论是商业无人机操作还是个人娱乐飞行,该项目都能提供必要的合规性支持。此外,其灵活的参数配置和多种传输模式使其适用于各种复杂的飞行环境。

项目特点

  1. 合规性:符合 FAA 和欧盟的远程识别法规,确保无人机在全球范围内的合法飞行
  2. 多硬件支持:兼容多种开发板和商业产品,方便用户选择和集成
  3. 多传输模式:支持 WiFi 和蓝牙等多种传输模式,适应不同通信需求
  4. 双协议支持:同时支持 MAVLink 和 DroneCAN,提供灵活的通信选择
  5. 安全更新:内置 Web 服务器和固件签名机制,确保固件更新的安全性和可靠性
  6. 灵活配置:通过 DroneCAN 或 MAVLink 参数设置,用户可以灵活控制设备行为

ArduPilot RemoteID Transmitter 不仅是一个技术实现,更是一个推动无人机行业合规化发展的重要工具。无论您是无人机制造商还是个人用户,该项目都能为您提供强大的支持,确保您的飞行活动既安全又合法。

【免费下载链接】ArduRemoteIDRemoteID support using OpenDroneID 项目地址: https://gitcode.com/gh_mirrors/ar/ArduRemoteID

Read more

国内如何升级GitHub Copilot到专业版

国内如何升级GitHub Copilot到专业版

国内外的AI编程工具我用过很多,用的时间比较长的是Cursor,后来Cursor在国内不能用了,就又回去试了一下GitHub Copilot,结果被惊艳到了,在VS Code里用起来很丝滑,体验很好,感觉VS Code团队在AI编程这块上真是下功夫了,现在其体验已经不输Cursor。 我一直是VS Code的粉丝,感觉还是原生的VS Code用起来最舒服,现在VS Code里的Copilot体验已经做的很好,就没有理由再用其他替代编辑器了。 VS Code里的Copilot每月有一定的免费额度,用完之后就需要开通专业版才能继续使用。我用完免费额度之后,已经被其良好的体验所打动,就想升级到专业版,但是如何付费成了问题。在网上搜了一下,说是国内的信用卡不能用,而之前好用的wildcard虚拟信用卡服务现在也停了,试了一下网友推荐的胡桃卡,试了好几次也没有支付成功,还被扣了很多手续费。 现在还有什么方式能支付升级到copilot专业版呢? 后来发现GitHub Copilot升级页面上的支付方式那里也支持paypal,就在Payment method那里,credit card旁边有

【低代码+AI编程】GitHub Copilot各个模型区别,实现高效编程

【低代码+AI编程】GitHub Copilot各个模型区别,实现高效编程

Copilot AI模型对比说明 模型分类 🏆 高级模型 (需额外付费) 模型名称相对成本特点说明Claude Haiku 4.50.33x性价比最高,速度快,成本低Claude Sonnet 3.51.0x平衡性能与成本的主力模型Claude Sonnet 41.0x升级版本,能力更强Claude Sonnet 4.51.0x最新版本,综合表现优秀GPT-51.0x最强大旗舰,复杂推理能力顶尖Gemini 2.5 Pro1.0x超长上下文,适合处理大量文本 📊 标准模型 (包含在基础套餐内) 模型名称成本特点说明GPT-4.1免费GPT-4优化版本GPT-4o免费多模态专家,视觉语音交互强GPT-5 mini免费GPT-5轻量版,速度快Grok Code Fast 1免费编程专用,代码生成优化 选择指南 根据需求推荐: 🚀 日常使用 * 推荐:GPT-4o 或 GPT-5

YUXIANGROS实战:搭建智能仓储机器人系统

快速体验 1. 打开 InsCode(快马)平台 https://www.inscode.net 2. 输入框内输入如下内容: 开发一个仓储物流机器人系统,功能包括:1) 使用YOLOv5进行物品识别 2) 基于A*算法的路径规划 3) 货架二维码识别 4) 与WMS系统REST API对接。要求生成完整的ROS节点结构,包含自定义消息类型,并输出Gazebo仿真环境配置文件。 1. 点击'项目生成'按钮,等待项目生成完整后预览效果 最近在做一个仓储物流机器人的项目,正好用到了YUXIANGROS这个框架,感觉特别适合快速开发这类工业场景的机器人应用。分享一下我的实战经验,希望能帮到有类似需求的朋友。 1. 系统架构设计 整个系统采用模块化设计,主要分为感知、决策、执行三个层次。感知层负责环境信息采集,决策层处理业务逻辑,执行层控制机器人运动。这种分层结构让系统维护和扩展变得很方便。 2.

Neo4j插件apoc安装及配置(实战经历,一步到位)

Neo4j插件apoc安装及配置(实战经历,一步到位)

目录 apoc插件安装 安装验证 出现的问题 Neo4j版本:Neo4j 5.x apoc版本:同上对应 Neo4j 4.x版本同样适用 apoc插件安装 1.首先查看Neo4j版本(在Neo4j Desktop或命令行中执行): CALL dbms.components() YIELD name, versions RETURN versions;  结果如下: 2.然后去GitHub上下载这个插件 * 访问 APOC GitHub Releases------------ https://github.com/neo4j/apoc/releases/ * 下载与Neo4j版本一致的apoc-x.x.x.x-all.jar文件(例如Neo4j 5.12.0 → APOC 5.