Skip to content

HEX Controller

中文 | English

简介

HEX Controller 是 HEX 系列产品的核心控制器,广泛应用于各类 HEX 产品中。本文档将详细介绍 HEX Controller 的开发协议与使用方法。

开发协议

所有配备网口的 HEX 产品均采用 WebSocket API 协议进行通信,具体的端口配置与协议细节请参考对应仓库的 README 文档。

我们提供了基于此协议的 Rust Demo 和 ROS Demo 示例代码。ROS Demo 的具体实现请参考对应产品型号的文档(本文档为 HEX Controller 的说明文档)。

使用方法

查询控制器的 IP 地址

部分产品(如 Maver-X4、Maver-Custom 等)配备有显示屏,用户可通过触摸屏界面轻松查看控制器的 IP 地址并设置固定 IP 地址。对于未配备显示屏的产品系列,需要通过其他方式查找控制器的 IP 地址。

在 Ubuntu 系统上,您可以使用 avahi-browse 命令来发现控制器。

首先安装 avahi-browse 工具:

sudo apt update && sudo apt install avahi-utils

安装完成后,运行以下命令即可发现控制器:

avahi-browse -r _hexfellow._tcp

示例:如下图所示,局域网内发现一个控制器,其 IP 地址为 172.18.8.139

如果您使用 macOS 系统,可以使用其他工具进行发现。此处以 Discovery - DNS-SD Browser 为例进行说明。

打开应用程序后,查找 _hexfellow._tcp 服务记录。展开该记录后,即可查看控制器的 IP 地址信息。

更改控制器的 IP 配置

请牢记IP配置

重要提醒:配置静态 IP 后,如果将控制器移至其他网段,将导致控制器无法被发现。如需设置固定 IP,强烈建议通过其他方式记录您的 IP 配置信息。

IP 配置重置

使用 hexfellow-net-config 工具可以对 IP 配置进行重置:

./hexfellow-net-config <device ip> reset

配置设备为静态 IP

完整的命令格式应包含以下部分:

./hexfellow-net-config <device ip> set --interface <interface port> static <interface ip> --prefix <prefix> --gateway <gateway ip> --dns <dns server ip> <dns server ip2> --dhcp-server <pool offset> <pool size>

各参数说明如下:
- device ip: 设备在当前网络配置下的 IP 地址
- interface port:需要修改配置的网络接口,未指定则为机器人对外网络接口。 - interface ip:希望设置的静态 IP 地址
- prefix:IP 地址的子网掩码,未指定时默认值为 24
- gateway ip:网关 IP 地址,未指定时默认为空
- dns server ip:DNS 服务器 IP 地址,未指定时默认为空
- dns server ip2:备用 DNS 服务器 IP 地址,未指定时默认为空

配置示例:目前设备的 IP 地址为 172.18.8.139,将该设备的IP配置为静态 IP:192.168.33.2, 网关设置为 192.168.33.1, 子网掩码设置为 24, dns 设置为 192.168.33.1

./hexfellow-net-config 172.18.8.139 set static 192.168.33.2 --prefix 24 --gateway 192.168.33.1 --dns 192.168.33.1

收到下图所示信息证明修改成功。

其他 IP 配置需求

hexfellow-net-config 还提供了 获取ip信息修改静态ip为动态ip 等功能,具体请使用 -h 参数获取帮助信息。例如:

./hexfellow-net-config set -h

./hexfellow-net-config get -h