华测230配置开发


在使用华测230开发我们的自动化农机的过程中,出现了很多问题,磕磕绊绊总算总结了一套完整的参数用来输出数据、快速配置、记录log等功能
在这里插入图片描述

串口配置

  1. 通过usb-RS232连接线连接设备:232端连接华测230 RS232_C口,usb端连接电脑
    在这里插入图片描述
  2. 打开XCOM串口助手,通过串口助手来发送配置文件
  3. 打开串口:电脑只插一个设备一般串口选择只有一个,usb-to-232设备,波特率:460800其他默认。然后打开串口
    在这里插入图片描述
  4. 在你电脑新建setting.txt,将如下配置复制到该文件中(详见-配置参数解析)
unlog com2 gpgga
unlog com1 gpchc
unlog com1 gpgga
log com1 hclogctclibb onnew
log com1 hclogappb onnew
log com1 hcrawimuib ontime 0.01
log com1 hcrawrtcmb onnew
log com1 hcrawrtcmpb onnew
log com1 hcrawodob onnew
log com1 bestgnssposb ontime 0.2
log com1 headingb ontime 0.2
log com1 gpchc ontime 0.1
log com1 gpgga ontime 0.1
setserver net1 tcp 11000
setserver net2 tcp 11001
log net1 hclogctclibb onnew
log net1 hclogappb onnew
log net1 hcrawimuib ontime 0.01
log net1 hcrawrtcmb onnew
log net1 hcrawrtcmpb onnew
log net1 hcrawodob onnew
log net1 bestgnssposb ontime 0.2
log net1 headingb ontime 0.2
log net1 gpchc ontime 0.1
log net1 gpgga ontime 0.1
ant2bodyoffset 0.315 -0.275 -0.683 1.00 1.00 1.00
ins2antoffset -0.415 0.2 0.457 1.00 1.00 1.00
insangle 0.00 0.00 0.00 5 5 5
headingoffset 0.00 0.00 -90 5 5 5
wheeltread 0.63 0.8
ANT2OUTPOSOFFSET 2 0.315 -0.275 -0.683
BODYTYPE 2 0 0
log can1 hcfdinspvatb ontime 0.01
log can1 HCFDRAWIMUVB ontime 0.01
log can1 HCFDERRINFOB ontime 1

setip 192.168.1.103 255.255.255.0 192.168.1.1
setclient RTK swas 192.168.xxx.xxx 12xxx
swasconfig open wgs84 default default
saveconfig
interface
  1. 从XCOM上点击打开文件按钮,然后选择你所保存的配置文件setting.txt
  2. 点击发送文件,串口助手会提示文件发送完成
  3. 接收框会有反馈,检查每一项必须是OK,如果是 para invalid,则需要检查该命令是否正确
  4. 完成配置,重启电源后可开始标定

标定

在保证差分数据畅通且车辆参数配置成功且正确的前提下,设备会进入初始化状态,表
现为设备上绿色的灯不断闪烁。若当时绿灯并未马上闪烁,可以先让载体移动一下,正常状
态下设备上的绿色灯也会开始闪烁。(一般绿灯不闪烁代表未有查分数据接入,可查看网络或者你的基站)
设备进入初始化状态后,在完成标定前,需保证差分数据输送一直畅通且设备稳定不偏离固
定点。在此前提下让车辆在空旷区域按照设置的对应工作模式的规定速度移动。

开始标定

低速无人车一般以最大速度在空旷地带运行,避免倒退,尽量在一个长直道以最大速度跑,到头掉头往复,待绿灯从闪烁变为常亮即标定成功
标定成功后即可使用

配置参数解析

目前,我们采用can1接收定位数据;串口a(com1)或net1用来记录log,有问题以发给厂家查看问题;串口C(com2)关闭所有输出,用来调试;net2也用来方便调试,在同一网络下可以使用tcp而不是usb-232就可以配置及使用指令与230交互。如果需要串口解析gpchc数据可以让c口来输出gpchc数据。

  1. 首先关闭串口AC的所有输出
unlog com2 gpgga
unlog com1 gpchc
unlog com1 gpgga
  1. 将net1和net2从udp转为tcp server,并将其端口改为11000和11001,便于交互(udp总是连不上,未找到原因)
setserver net1 tcp 11000
setserver net2 tcp 11001
  1. 然后让串口A及net1输出比较多的原始数据,用来记录
log com1 hclogctclibb onnew
log com1 hclogappb onnew
log com1 hcrawimuib ontime 0.01
log com1 hcrawrtcmb onnew
log com1 hcrawrtcmpb onnew
log com1 hcrawodob onnew
log com1 bestgnssposb ontime 0.2
log com1 headingb ontime 0.2
log com1 gpchc ontime 0.1
log com1 gpgga ontime 0.1
log net1 hclogctclibb onnew
log net1 hclogappb onnew
log net1 hcrawimuib ontime 0.01
log net1 hcrawrtcmb onnew
log net1 hcrawrtcmpb onnew
log net1 hcrawodob onnew
log net1 bestgnssposb ontime 0.2
log net1 headingb ontime 0.2
log net1 gpchc ontime 0.1
log net1 gpgga ontime 0.1
  1. 配置杆臂等参数,不同的车不同的天线及主机布局肯定不一样,需要自己量(拿出卷尺),这个需要查看华测的杆臂配置的文档,不再详解
ant2bodyoffset 0.315 -0.275 -0.683 1.00 1.00 1.00
ins2antoffset -0.415 0.2 0.457 1.00 1.00 1.00
insangle 0.00 0.00 0.00 5 5 5
headingoffset 0.00 0.00 -90 5 5 5
wheeltread 0.63 0.8
ANT2OUTPOSOFFSET 2 0.315 -0.275 -0.683
BODYTYPE 2 0 0
  1. 配置can1输出 hcfdinspvatb、HCFDRAWIMUVB、HCFDERRINFOB数据,用来解析经纬度、imu等数据
log can1 hcfdinspvatb ontime 0.01
log can1 HCFDRAWIMUVB ontime 0.01
log can1 HCFDERRINFOB ontime 1
  1. 设置设备ip,并且将rtk设置通过swas获取差分数据,如果通过账号,可以查看手册如何配置

setip 192.168.1.103 255.255.255.0 192.168.1.1
setclient RTK swas 192.168.xxx.xxx 12xxx
swasconfig open wgs84 default default
  1. 保存参数,interface用来占位,因为他总是最后一行无法发送。
saveconfig
interface

通过nc来与230进行指令交互

而不是usb-232还需要插线

echo -e "interface\r\n" | nc  192.168.1.156 11001

230就会在终端回复通过interface查询的网络及串口参数,主要是查看我们的差分数据是否接入,能否连到服务器
可以将interface改为别的指令
Ctrl+c即可关闭占用

linux通过tcp来记录230的log

华测230因为降低成本,降低售价。故不包含日志记录的模块(jianpei),需要我们将日志保存到我们自己的工控机中,这样也挺好,因为一般我们的工控机都有透传,可以更加方便的拉取日志,而老的华测设备都需要拿着电脑去他旁边连他的wifi拉数据,这实在是太不友好了

import socket
import time  
import datetime  
import os.path

if __name__ == '__main__':
    now = datetime.datetime.now()
    timestamp = now.strftime("%Y%m%d%H%M%S")  
    file_name = f"{timestamp}.txt"  


    fileutil = FileUtil(path="/home/reinovo/RTKLOG/", filename=file_name)
    fileutil.write("HUACE 230 net record " + file_name + "\n")

    client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    client_socket.connect(("192.168.1.156", 11000))

    while True:  
        response = client_socket.recv(1024)
        fileutil.writeByte(response)
        # print(response)  
        time.sleep(0.01)  
    
    client_socket.close()
    fileutil.write("close!")

这样每次开机都会在/home/reinovo/RTKLOG/文件夹下保存一个例如20250102142391.txt的文件,当然你要手动创建这个目录,否则就会失败。
将其设为开机自启动服务,这样每次打开你的linux系统都可以保存230的log
还有需要关心的是,你要常常关注他的占用,及时删除老旧的log,否则他会占满你的硬盘,当然你可以写一个脚本,用来自动删除老旧的log.

其他

待完善…

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值