Android 大疆无人机Mobile Sdk开发,如何输出Log日志

本文介绍了一种解决大疆无人机日志查看难题的方法,利用桥连接两台安卓设备,实现日志数据的无线传输,便于开发者在无网络环境中进行无人机应用程序的调试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       

职场小白迷上优美句子: 

                   《断章》

                               —— 卞之琳

            你在桥上看风景,

            看风景的人在楼上看你。

            明月装饰了你的窗子,

            你装饰了别人的梦。

通过大疆 “桥” 连接,查看日志

精灵4(Phantom)、m210、m200、“御”(mavic pro)等系列的无人机,它们的连接方式是:无人机通过无线协议连接遥控器,然后遥控器通过USB连接安卓设备,从而实现数据的传递。在无人机二次开发过程中日志打印是一个让人头疼的问题,由于安卓设备是使用USB连接了无人机,而不能跟pc连接,这时候log日志就不容易查看了,之前也试过一些打印日志的方法,比如:将错误信息以txt格式保存到sdcard中进行报错定位,但是测试起来比较麻烦;还有集成腾讯bugly来查看日志,但是项目是在无网的环境下运行的,日志无法上传到bugly平台。后来仔细查看了大疆的开发文档,才知道可以通过 “桥” 进行连接。“桥”具体的连接协议我不怎么清楚,具体的使用方式是这样的:

        

        首先在开发文档中下载连接 “桥” 的项目,地址:https://github.com/dji-sdk/Android-Bridge-App,(需要两台安卓设备,一台装Bridge-App,另外一台装无人机的项目),下载之后安装到安卓设备a上(注意:是不运行大疆无人机项目的安卓设备上),然后让该设备用USB连接到遥控器上,最后在大疆无人机项目中注册的地方配置此代码:

DJISDKManager.getInstance().enableBridgeModeWithBridgeAppIP("———— 装有Bridge-App的设备IP地址 ————");

  注意:两台安卓设备需要连接同一个wifi网络

 

最后将无人机的项目运行到安卓设备b上,该设备连接pc,然后就可以像一般的app开发一样在AS上查看log了。

通过adb连接,查看日志

配置adb环境变量,使用adb 无线连接。电脑跟android 设备要连接同一网段的网络。

1. android 设备数据线连接pc,菜单 + R,打开命令窗口,adb tcpip 5555,检查端口。

2. adb connect + android 设备 ip  +   :5555       直接连接

3. 拔掉数据线 ,在AS上可以直接运行程序,也可以查看日志。和使用数据线连接没什么区别。

如果连接不上,执行 adb kill - server 或 adb start -server 再执行上述操作。

### JavaScript与大疆无人机SDK集成 对于希望利用JavaScript操作大疆无人机的需求,官方并未直接提供针对浏览器环境下的纯前端JS SDK用于直接操控无人机。不过,可以通过Node.js来间接实现这一目标,因为Node.js允许服务器端执行JavaScript代码,并且能够调用C++或Python封装的大疆SDK接口。 为了更好地理解如何使用JavaScript配合大疆无人机开发应用,可以参考如下资源: #### 官方文档 - **DJI Mobile SDK Documentation**: 虽然主要面向移动平台(iOS/Android),但对于了解整个系统的架构非常有帮助[^1]。 #### 社区项目和支持库 - **node-dji-sdk**:这是一个由社区维护的开源项目,在GitHub上托管,它提供了基于Node.js的大疆无人机控制功能。此包可能不是官方出品,但在某些场景下能起到桥梁作用,使得开发者可以在熟悉JavaScript语法的基础上快速入门。 #### 示例代码 下面是一个简单的例子展示怎样通过`node-dji-sdk`发送起飞命令给连接好的飞行器: ```javascript const dji = require('node-dji-sdk'); // 初始化并设置参数... let drone = new dji.Drone({ /* 配置选项 */ }); drone.connect() .then(() => { console.log("Connected to the Drone"); // 发送起飞指令 return drone.takeOff(); }) .catch(err => { console.error(`Error occurred: ${err}`); }); ``` 需要注意的是,实际部署时还需要考虑安全性和稳定性等问题,上述示例仅作为概念验证用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

窗台的花花

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值