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)