跳到主要内容

WIFI 配置

WIFI 模式

无线网络设备通常支持以下三种工作模式:

  1. AP 模式(Access Point 模式):

将无线路由器或无线接入点配置为主要的网络入口点。在这种模式下,设备充当网络的中心,允许其他设备接到它,以便它们可以访问互联网或本地网络资源。AP 模式通常用于创建无线局域网络(WLAN)。

  1. STA 模式(Station 模式):

STA 模式是将无线设备配置为客户端,以连接到现有的无线网络(通常是一个 AP 模式的设备)。在 STA 模式下,WIFI 模块可以接收来自其他设备或路由器的无线信号,并通过该无线网络访问 Internet 或其他网络资源。

  1. AP+STA 模式(也称为 Repeater 模式):

AP+STA 是一种组合模式,允许设备同时充当 Access Point 和 Station。在这种模式下,设备可以连接到一个现有的无线网络(STA 模式),并且还可以创建一个新的无线网络模式(AP 模式),允许其他设备连接到它并通过它访问互联网或其他网络资源。这种模式通常用于扩展无线网络的覆盖范围,将信号中继到更远的地方。

WIFI 配置

本产品出厂时默认 WIFI 处于 AP 模式下,如果要设置为其它模式,可以通过在 Web 端界面中的 JSON 指令输入框中输入相对应的 JSON 指令来实现,也可以通过串口/USB 通信输入 JSON 指令来实现。下面将介绍 WIFI 配置相关的 JSON 指令具体含义。

设置开机后 WIFI 的默认模式

首先可以用 CMD_WIFI_ON_BOOT 指令来设置机器人开机后 WIFI 的默认工作模式:

{ "T": 401, "cmd": 3 }
  • T:该指令的类型。指令类型在 HexArth 开源程序的头文件 json_cmd.h 中定义,401 表示这条指令为 CMD_WIFI_ON_BOOT,可以设置机器人 WIFI 在开机时的默认工作模式,且掉电后会保存。
  • cmd:默认工作模式的代号。 0:WIFI 处于关闭状态。 1:AP 模式。 2:STA 模式。 3:AP+STA 模式。

设置 WIFI 模式

下面将介绍设置 WIFI 各个模式的 JSON 指令的含义:

CMD_SET_AP - 设置 AP 模式,建立 WIFI 热点

{ "T": 402, "ssid": "HexArth", "password": "12345678" }
  • 402:这条指令为 CMD_SET_AP,表示将 WIFI 模式设置为 AP 模式。
  • ssid:AP 模式的热点名称。
  • password:AP 模式的热点密码。 使用该指令,机器人将会建立一个 WIFI 热点,允许其它设备(例手机、电脑)连接到这个热点。由于出厂时默认的是 AP 模式,所以一开始不需要再使用这个指令来设置 AP 模式。

CMD_SET_STA - 设置 STA 模式,连接到现有的无线网络

{ "T": 403, "ssid": "yourWiFiName", "password": "yourWiFiPassword" }
  • 403:这条指令为 CMD_SET_STA,表示将 WIFI 模式设置为 STA 模式。
  • ssid:现有 WIFI 的热点名称,需要修改为你想要连接的 WIFI 热点名。
  • password:现有 WIFI 热点的密码,需要修改为 WIFI 热点对应的密码。 使用该指令,机器人将会连接到现有的无线网络。无线网络会给机器人分配一个 ip 地址,并显示在 OLED 上的第二行,这个 ip 地址可以用 HTTP 请求来进行 JSON 指令通信。 注意:如果机器人是第一次设置 STA 模式,机器人则会自动切换至 AP+STA 模式;如果经过 15s 后没有连接到现有的 WIFI,机器人则会自动切换至 AP 模式。

CMD_WIFI_APSTA - 设置 AP+STA 模式,建立 WIFI 热点的同时连接到现有的 WIFI

{
"T": 404,
"ap_ssid": "HexArth",
"ap_password": "12345678",
"sta_ssid": "yourWiFiName",
"sta_password": "yourWiFiPassword"
}
  • 404:这条指令为 CMD_WIFI_APSTA,表示将 WIFI 模式设置为 AP+STA 模式。
  • ap_ssid:AP 模式的热点名称。
  • ap_password:AP 模式的热点密码。
  • sta_ssid:STA 模式现有 WIFI 的热点名称,需要修改为你想要连接的 WIFI 热点名。
  • sta_password:STA 模式现有 WIFI 热点的密码,需要修改为 STA 模式 WIFI 热点对应的密码。
  • 使用该指令,机器人将会连接到现有的 WIFI,同时建立一个名为 HexArth 的热点。此模式下,OLED 屏幕上会第一行会显示 AP 的 WIFI 名称,第二行会显示无线网络分配的 ip 地址。
  • 以上是设置 WIFI 各个模式 JSON 指令的使用含义。

查看 WIFI 设置信息

使用 CMD_WIFI_INFO 可以查看 WIFI 设置信息,输入:

{ "T": 405 }

405:这条指令为 CMD_WIFI_INFO,表示获取机器人 WIFI 设置信息。 返回值如下所示:

{
"ip": "192.168.10.90",
"rssi": -50,
"wifi_mode_on_boot": 3,
"sta_ssid": "yourWiFiName",
"sta_password": "yourWiFiPassword",
"ap_ssid": "HexArth ",
"ap_password": "12345678"
}
  • ip:机器人处于 STA 模式或 AP+STA 模式时的 ip 地址;若机器人仅处于 AP 模式下,则显示为‘0.0.0.0’。
  • rssi:STA 模式的 WIFI 信号强度;若机器人仅处于 AP 模式下,则显示为 0。
  • wifi_mode_on_boot:开机后 WIFI 的默认工作模式,代号具体含义在“CMD_WIFI_ON_BOOT”中有介绍。
  • sta_ssid:设置为 STA 模式连接到的 WIFI 热点名称。
  • sta_password:设置为 STA 模式连接到的 WIFI 热点密码。
  • ap_ssid:AP 模式的热点名称。
  • ap_password:AP 模式的热点密码。

查看 WIFI 配置文件

接下来介绍生成 WIFI 配置文件的指令: WIFI 配置文件是储存在 Flash 中的 wifiConfig.json,当第一次需要保存的内容生成后会建立该文件,该文件的内容如下:

{
"wifi_mode_on_boot": 3,
"sta_ssid": "JSBZY-2.4G",
"sta_password": "waveshare0755",
"ap_ssid": "HexArth",
"ap_password": "12345678"
}

CMD_WIFI_CONFIG_CREATE_BY_STATUS - 将当前的 WIFI 模式状态保存并生成 wifiConfig.json 文件

{ "T": 406 }
  • 406:这条指令为 CMD_WIFI_CONFIG_CREATE_BY_STATUS,表示以当前的 WIFI 模式状态生成 wifiConfig.json 文件。
  • 例如当前的 WIFI 模式是 AP 模式,调用该指令后,下次开机自动设置为 AP 模式。 输入后会反馈如下信息:
{
"info": "/wifiConfig.json created.",
"wifi_mode_on_boot": 1,
"sta_ssid": "JSBZY-2.4G",
"sta_password": "waveshare0755",
"ap_ssid": "HexArth ",
"ap_password": "12345678"
}

CMD_WIFI_CONFIG_CREATE_BY_INPUT - 将输入的信息保存并生成 wifiConfig.json 文件

{
"T": 407,
"mode": 3,
"ap_ssid": "HexArth",
"ap_password": "12345678",
"sta_ssid": "JSBZY-2.4G",
"sta_password": "waveshare0755"
}
  • 407:这条指令为 CMD_WIFI_CONFIG_CREATE_BY_INPUT,表示会将输入的信息保存并生成 wifiConfig.json 文件。
  • mode:默认工作模式的代号。 0:WIFI 处于关闭状态。 1:AP 模式。 2:STA 模式。 3:AP+STA 模式。

关闭 WIFI

最后,可以使用 CMD_WIFI_STOP 来关闭 WIFI 功能。

{ "T": 408 }
  • 408:这条指令为 CMD_WIFI_STOP,表示关闭 WIFI。