Files
dreamDeckAutopilot/sensors/newton-m2/scripts/set_m2.py
T
2026-07-27 13:51:19 +08:00

201 lines
5.1 KiB
Python

# -*- coding: utf-8 -*-
# 星网宇达组合导航配置
# ntrip差分帐号配置
# 输出配置
# 杆臂配置
# 航向补偿配置
# ......
import serial
import time
imu_serial = serial.Serial("/dev/ttyS0", 115200)
# 恢复出厂配置
factory_str = "$cmd,factory,reset*ff"
imu_serial.write(factory_str.encode("utf-8"))
time.sleep(0.5)
save_str = "$cmd,save,config*ff"
imu_serial.write(save_str.encode("utf-8"))
time.sleep(0.5)
# 配置gpfpd协议透传 50HZ
gpfpd_str = "$cmd,output,com0,gpfpd,0.02*ff"
imu_serial.write(gpfpd_str.encode("utf-8"))
time.sleep(0.5)
save_str = "$cmd,save,config*ff"
imu_serial.write(save_str.encode("utf-8"))
time.sleep(0.5)
# 配置gphpd协议透传 5Hz
gphpd_str = "$cmd,output,com0,gphpd,0.2*ff"
imu_serial.write(gphpd_str.encode("utf-8"))
time.sleep(0.5)
save_str = "$cmd,save,config*ff"
imu_serial.write(save_str.encode("utf-8"))
time.sleep(0.5)
# 配置gtimu输出 50HZ
gpimu_str = "$cmd,output,com0,gtimu,0.02*ff"
imu_serial.write(gpimu_str.encode("utf-8"))
time.sleep(0.5)
save_str = "$cmd,save,config*ff"
imu_serial.write(save_str.encode("utf-8"))
time.sleep(0.5)
# 配置千寻查分账号
# 设置组合导航ip地址 根据路由器网络来配置
local_ip_str = "$cmd,set,localip,192,168,8,122*ff"
imu_serial.write(local_ip_str.encode("utf-8"))
time.sleep(0.5)
save_str = "$cmd,save,config*ff"
imu_serial.write(save_str.encode("utf-8"))
time.sleep(0.5)
# 设置子网掩码
local_mask_str = "$cmd,set,localmask,255,255,255,0*ff"
imu_serial.write(local_mask_str.encode("utf-8"))
time.sleep(0.5)
save_str = "$cmd,save,config*ff"
imu_serial.write(save_str.encode("utf-8"))
time.sleep(0.5)
# 设置网关地址
local_gate_str = "$cmd,set,localgate,192,168,8,1*ff"
imu_serial.write(local_gate_str.encode("utf-8"))
time.sleep(0.5)
save_str = "$cmd,save,config*ff"
imu_serial.write(save_str.encode("utf-8"))
time.sleep(0.5)
# 设置千寻账号网络服务器及端口
netipport_str = "$cmd,set,netipport,120,253,226,97,8002*ff"
# netipport_str = "$cmd,set,netipport,rtk,ntrip,qxwz,com,8002*ff"
imu_serial.write(netipport_str.encode("utf-8"))
time.sleep(0.5)
save_str = "$cmd,save,config*ff"
imu_serial.write(save_str.encode("utf-8"))
time.sleep(0.5)
# 设置千寻账号用户名和密码 user和password换成自己的账号和密码
cors_account_str = "$cmd,set,netuser,cvmh5553:ap367r6um*ff"
imu_serial.write(cors_account_str.encode("utf-8"))
time.sleep(0.5)
save_str = "$cmd,save,config*ff"
imu_serial.write(save_str.encode("utf-8"))
time.sleep(0.5)
# 设置挂载点
# mountpoint_str = "$cmd,set,mountpoint,RTCM32_GGB*ff"
mountpoint_str = "$cmd,set,mountpoint,RTCM33_GRCEJ*ff"
imu_serial.write(mountpoint_str.encode("utf-8"))
time.sleep(0.5)
save_str = "$cmd,save,config*ff"
imu_serial.write(save_str.encode("utf-8"))
time.sleep(0.5)
# 激活 ntrip
ntrip_str = "$cmd,set,ntrip,enable,enable*ff"
imu_serial.write(ntrip_str.encode("utf-8"))
time.sleep(0.5)
save_str = "$cmd,save,config*ff"
imu_serial.write(save_str.encode("utf-8"))
time.sleep(0.5)
# 航向补偿 左边为主天线
heading_offset_str ="$cmd,set,headoffset,0*ff"
imu_serial.write(heading_offset_str.encode("utf-8"))
time.sleep(0.5)
save_str = "$cmd,save,config*ff"
imu_serial.write(save_str.encode("utf-8"))
time.sleep(0.5)
# 杆臂配置
leverarm_str = "$cmd,set,leverarm,gnss,0.0,0.0,0.4*ff"
imu_serial.write(leverarm_str.encode("utf-8"))
time.sleep(0.5)
save_str = "$cmd,save,config*ff"
imu_serial.write(save_str.encode("utf-8"))
time.sleep(0.5)
# 同样,将导航模式一条一条输入
# 精对准
imu_serial.write("$cmd,set,navmode,FineAlign,off*ff".encode("utf-8"))
time.sleep(0.5)
save_str = "$cmd,save,config*ff"
imu_serial.write(save_str.encode("utf-8"))
time.sleep(0.5)
# 粗对准
imu_serial.write("$cmd,set,navmode,coarsealign,off*ff".encode("utf-8"))
time.sleep(0.5)
save_str = "$cmd,save,config*ff"
imu_serial.write(save_str.encode("utf-8"))
time.sleep(0.5)
# 动态对准
imu_serial.write("$cmd,set,navmode,dynamicalign,on*ff".encode("utf-8"))
time.sleep(0.5)
save_str = "$cmd,save,config*ff"
imu_serial.write(save_str.encode("utf-8"))
time.sleep(0.5)
# gnss双精度
imu_serial.write("$cmd,set,navmode,gnss,double*ff".encode("utf-8"))
time.sleep(0.5)
save_str = "$cmd,save,config*ff"
imu_serial.write(save_str.encode("utf-8"))
time.sleep(0.5)
# 打开车载模式
imu_serial.write("$cmd,set,navmode,carmode,on*ff".encode("utf-8"))
time.sleep(0.5)
save_str = "$cmd,save,config*ff"
imu_serial.write(save_str.encode("utf-8"))
time.sleep(0.5)
# 打开零速校正
imu_serial.write("$cmd,set,navmode,zupt,off*ff".encode("utf-8"))
time.sleep(0.5)
save_str = "$cmd,save,config*ff"
imu_serial.write(save_str.encode("utf-8"))
time.sleep(0.5)
# 固件索引
imu_serial.write("$cmd,set,navmode,firmwareindex,0*ff".encode("utf-8"))
time.sleep(0.5)
save_str = "$cmd,save,config*ff"
imu_serial.write(save_str.encode("utf-8"))
time.sleep(0.5)
# 保存设置配置
save_str = "$cmd,save,config*ff"
imu_serial.write(save_str.encode("utf-8"))
time.sleep(0.5)
# 完事后重新上电