HEX Controller
简介
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