- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
如何使用node-mavlink从NodeJS将参数写入ArduPilot(APM)?例如更改地理围栏启用?
最佳答案
您应该在此处阅读 mavlink 参数协议(protocol)的文档:http://qgroundcontrol.org/mavlink/parameter_protocol
基本思想是,您发送 PARAM_SET
消息来设置参数值,然后等待具有您所设置的值的 PARAM_VALUE
消息形式的 ACK只需设置即可。
PARAM_SET
和 PARAM_VALUE
消息的文档位于 mavlink 定义 XML 文件中:https://github.com/omcaree/node-mavlink/blob/c30f8a63ca6a1ebc1669fefcd07bb3780540e41b/src/mavlink/message_definitions/v1.0/common.xml#L966
以下是创建和发送 PARAM_SET
消息以启用地理围栏的(未经测试)示例。
我检查了ArduCopter/APM:Copter parameter documentation了解您想要的参数名为 FENCE_ENABLE
,并且值 1
表示它已启用。我检查了mavlink message definition for the MAV_PARAM_TYPE
enum了解 param_type
参数的枚举值以指定 UINT_8
(我对 bool 参数类型的最佳猜测)。
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);
});
(有关如何加载和初始化库的信息,请参阅 "Initialization" section of the node-mavlink documentation。)
我还没有编写从无人机接收ACK的代码,但是"Parsing Data" section of the documentation将指导您如何做到这一点。
关于node.js - 如何使用mavlink从NodeJs发送数据到APM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25855028/
我正在尝试通过改变速度来移动车辆。我已经能够在 Python 中成功执行操作,但是对于我的项目我不能使用 Python,所以我正在使用 Android 尝试进行相同的操作。 Python 中的工作功能
我正在开发一个使用 Mavlink 协议(protocol)(在 c++ 中)与 ArduPilotMega (2.6) 通信的项目。 我能够阅读诸如 ATTITUDE 之类的消息例如。当前的消息速率
我正在将 PX4Flow 光流控制模块与 Raspberry Pi 一起使用,我通过 UART 接收 Mavlink 消息并需要对其进行解码。有谁知道我在哪里可以找到执行此操作的代码?我用 C 语言编
我是 Mavlink 的新手,我想在 Mavlink 协议(protocol)中添加一条新消息并每隔一秒定期发送一次。我该怎么做? 最佳答案 在这里你可以找到detailed steps关于如何向 m
我正在尝试从 pixhawk 获取 GPS 时间。我发现了很多关于此类的讨论,但似乎都没有得到解决。有更新吗? This家伙和this这家伙都被告知只使用系统时间(不是 UTC)我也尝试获取 GLOB
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗?更新问题,使其仅关注一个问题 editing this post . 关闭 2 年前。 Improve this que
我正在尝试从 ardupilot 读取使用 mavlink 协议(protocol)发送数据。如果您访问此网站: http://qgroundcontrol.org/mavlink/start 您可以
我是一名优秀的程序员,十分优秀!