首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用mavlink从NodeJs向APM发送数据?

如何使用mavlink从NodeJs向APM发送数据?
EN

Stack Overflow用户
提问于 2014-09-15 19:01:23
回答 2查看 2.2K关注 0票数 1

如何使用节点-mavlink从ArduPilot ( NodeJS )向NodeJS写入params (APM)?例如,改变地理位置启用?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-29 21:06:01

您应该在这里阅读mavlink参数协议的文档:协议

基本思想是,您发送一个PARAM_SET消息来设置一个参数值,然后以具有您刚刚设置的值的PARAM_VALUE消息的形式等待一个ACK。

PARAM_SETPARAM_VALUE消息的文档位于mavlink定义XML文件:定义/v1.0/Common.xml#l966中。

下面是一个(未经测试的)创建和发送PARAM_SET消息以启用geofence的示例。

我检查了ArduCopter/APM:Copter参数文档,以了解您想要的参数名为FENCE_ENABLE,并且1的值表示它已启用。我检查了枚举以学习param_type参数的枚举值,以指定一个UINT_8 (我对布尔参数类型的最佳猜测)。

代码语言:javascript
复制
myMAV.createMessage(
  "PARAM_SET",
  {
    'target_system': 1,
    'target_component': 1,
    'param_id': 'FENCE_ENABLE',
    'param_value': 1.0,
    'param_type': 1
  },
  function(message) {
    serialport.write(message.buffer);
  });

(有关如何加载和初始化库的信息,请参阅节点的“初始化”部分-mavlink文档。)

我还没有编写从无人机接收ACK的代码,但是文档中的“解析数据”部分会指导您如何做到这一点。

票数 2
EN

Stack Overflow用户

发布于 2018-05-14 02:22:08

我已经建立了一个基于节点的地面控制站https://github.com/kvenux/nodegcs

请随意使用它。

要启用geofence,需要创建一条消息来设置相关的param。

希望能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25855028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档