pilotgao 2024-11-14 22:02 采纳率: 0%
浏览 12
已结题

苹果手机不使用大疆sdk怎么获取遥控器控制信息或如何接入大疆sdk并且成功上架sdk

网上有人将大疆的遥控器模拟成了xbox手柄。他们将大疆N1这种遥控器连接电脑后,通过端口(com口)读取到了他们操控信息。项目地址:https://github.com/IvanYaky/DJI_RC-N1_SIMULATOR_FLY_DCL?tab=readme-ov-file
ios18以后,苹果支持有线的方式连接使用xbox手柄。所以有没有办法在苹果手机上把大疆的手柄模拟成xbox手柄以获取大疆遥控器的控制信息。
大疆官方虽然提供了一个移动设备的sdk用于读取大疆无人机遥控器的信息,但是无法上架应用市场。所以我们在寻找方案怎么才又能接入大疆的遥控器,又能上架应用市场呢?如果哪位可以提供方案,必有酬谢。

  • 写回答

29条回答 默认 最新

  • 阿里嘎多学长 2024-11-14 22:03
    关注
    获得0.40元问题酬金

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    大疆遥控器控制信息获取方法

    问题分析

    用户想知道如何在不使用大疆 SDK的情况下获取遥控器控制信息,并且将其与苹果手机集成。

    解决方案

    根据用户提供的内容,我们可以看到有人已经成功将大疆 N1 遥控器模拟成了 Xbox 手柄,并通过端口(COM口)读取到了控制信息。为了实现这个目标,我们可以参考以下步骤:

    1. 收到遥控器信号:使用串口通信库(例如 Arduino 的 Serial communication 或 iOS 的 Core Serial)读取遥控器发送的信号。
    2. 解析遥控器信号:使用编程语言(例如 C++ 或 Swift)解析读取到的信号,以获取控制信息(例如加速度、方向、按钮状态等)。
    3. 实际控制 drone:使用 iOS 的 CoreMotion 或其他库来控制 drone 的移动。

    代码示例( Swift )

    import CoreMotion
    
    class Verifier : NSObject {
        let motionManager = CMMotionManager()
    
        func startVerifying() {
            motionManager.startAccelerometerUpdates(to: .main) { [weak self] (data, error) in
                if let data = data {
                    // 解析加速度、方向等控制信息
                    print("Acceleration: \(data.acceleration)")
                    print("Direction: \(data.direction)")
                }
            }
        }
    }
    

    需要注意的是,这只是一个简单的示例代码,实际实现中可能需要更多的逻辑和处理。

    结论

    本文提供了一个简单的解决方案,以便在不使用大疆 SDK的情况下获取遥控器控制信息,并将其与苹果手机集成。然而,具体实现仍然需要您自己编写代码来解析遥控器信号和控制 drone。

    参考资源

    Tag: [ios]

    评论

报告相同问题?

问题事件

  • 系统已结题 11月22日
  • 创建了问题 11月14日

悬赏问题

  • ¥15 多尺度特征图提取和融合
  • ¥15 微信小程序:渲染收货地址时页面不显示
  • ¥20 win7 64位DirectShow提示初始化失败如何解决?
  • ¥20 小规模孤立词识别系统设计
  • ¥15 关于Java对接海康威视车牌识别一体机SDK是否需要固定外网的IP?
  • ¥15 Linux扩容时,格式化卡住了:vgdispaly查看卷组信息,没有输出
  • ¥18 关于#ubuntu#的问题:使用背景-工作职责内有七八台ubuntu系统的电脑,平时需要互相调取资料,想实现把这几台电脑用交换机组成一个局域网,来实现指定文件夹的互相调取和写入
  • ¥20 求一个简易射频信号综测仪
  • ¥15 esp8266 tally灯 接收端改为发射端
  • ¥30 Labview代码调用access 数据库,相同代码其中一个调用不出来是为什么