如何使用节点-mavlink从ArduPilot ( NodeJS )向NodeJS写入params (APM)?例如,改变地理位置启用?
发布于 2015-04-29 21:06:01
您应该在这里阅读mavlink参数协议的文档:协议
基本思想是,您发送一个PARAM_SET消息来设置一个参数值,然后以具有您刚刚设置的值的PARAM_VALUE消息的形式等待一个ACK。

PARAM_SET和PARAM_VALUE消息的文档位于mavlink定义XML文件:定义/v1.0/Common.xml#l966中。
下面是一个(未经测试的)创建和发送PARAM_SET消息以启用geofence的示例。
我检查了ArduCopter/APM:Copter参数文档,以了解您想要的参数名为FENCE_ENABLE,并且1的值表示它已启用。我检查了枚举以学习param_type参数的枚举值,以指定一个UINT_8 (我对布尔参数类型的最佳猜测)。
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的代码,但是文档中的“解析数据”部分会指导您如何做到这一点。
发布于 2018-05-14 02:22:08
https://stackoverflow.com/questions/25855028
复制相似问题