GPS 输入¶
模块 负荷 GPS 输入
GPSInput 模块支持 GPS_INPUT 消息。它将通过本地 udp 端口监听 json 消息,并将消息传递给所连接的飞行控制器。
它要求 GPS1_TYPE
参数设置为 14(MAVLink)。
GPSInput.port¶
更改正在监听的 UDP 端口:
GPSInput.port <端口号>;
通过 python 脚本发送 GPS 输入数据的示例如下:
舶来品 插座
舶来品 json
s = 插座.插座(插座.AF_INET, 插座.SOCK_DGRAM) # IPV4、UDP
out_addr = ("127.0.0.1", 25100)
虽然 正确:
时间.睡眠(0.05)
数据 = {
'time_usec'; : 0, # (uint64_t) 时间戳(自启动或 Unix 纪元以来的微秒数)
'gps_id'; : 0, # (uint8_t) 多个 GPS 输入的 GPS ID
'ignore_flags' : 8, # (uint16_t) 表示忽略哪些字段的标志(参见 GPS_INPUT_IGNORE_FLAGS 枚举)。必须提供所有其他字段。
'time_week_ms' : 0, # (uint32_t) GPS 时间(从 GPS 周开始算起的毫秒数)
'time_week'; : 0, # (uint16_t) GPS 周数
'fix_type'; : 3, # (uint8_t) 0-1: 无固定值,2: 2D 固定值,3: 3D 固定值。4: 3D with DGPS.5: 使用 RTK 的 3D
'lat'; : 254100000, # (int32_t) 纬度(WGS84),以度为单位 * 1E7
'lon'; : 1212100000, # (int32_t) 经度(WGS84),单位度数 * 1E7
'alt'; : 60, # (浮动)海拔高度(AML,非 WGS84),以米为单位(正数表示向上)
'hdop'; : 1, # (float) GPS HDOP 水平稀释位置,以米为单位
'vdop'; : 1, # (float) GPS VDOP 垂直稀释位置,单位 m
'vn'; : 0, # (浮动)GPS 速度(米/秒),在固定在地球上的 NED 框架内的 NORTH 方向上
've'; : 0, # (float) GPS 在固定在地球上的 NED 框架内东东方向的速度,单位 m/s
'vd'; : 0, # (浮动)在固定在地球上的 NED 框架内 DOWN 方向上的 GPS 速度,单位为 m/s
'speed_accuracy' : 0, # (浮动) GPS 速度精度,单位 m/s
'horiz_accuracy' : 0, # (float) GPS 水平精度,以米为单位
'vert_accuracy' : 0, # (float) GPS 垂直精度,以米为单位
'卫星可见'; : 7 # (uint8_t) 可见卫星数。
}
输出数据 = json.倾销(数据)
打印('out:';,输出数据)
s.发送到(输出数据.加码(), out_addr)