Files
ESPC3-wireless/app/drivers/data_port/socket_inet/wifi_shell.c
LokLiang 9cf47ff0a8 添加 USB 主机、BLE 和 Socket 数据端口驱动程序:
- 支持大容量存储类(MSC)的 USB 主机驱动程序
- BLE SPP(串行端口配置文件)客户端和服务器实现
- Socket(UDP/TCP)数据端口驱动程序
- 相关的 shell 接口用于配置和测试
2025-02-21 12:43:26 +08:00

83 lines
1.8 KiB
C

#include "wifi_shell.h"
#include "wifi.h"
#include "shell/sh.h"
#include <string.h>
#include "os/os.h"
#define CONFIG_SYS_LOG_LEVEL SYS_LOG_LEVEL_INF
#define SYS_LOG_DOMAIN "SH"
#include "sys_log.h"
SH_CMD_FN(_open_ap);
SH_CMD_FN(_open_sta);
SH_CMD_FN(_close);
SH_DEF_SUB_CMD(
sub_wifi,
SH_SETUP_CMD("oa", "打开 wifi ap 模式", _open_ap, NULL), //
SH_SETUP_CMD("os", "打开 wifi sta 模式", _open_sta, NULL), //
SH_SETUP_CMD("close", "关闭 wifi", _close, NULL), //
);
SH_DEF_CMD(
_register_tcp_wifi,
SH_SETUP_CMD("wifi", "操作 WIFI 接口", NULL, sub_wifi), //
);
void wifi_shell_register(void)
{
sh_register_cmd(&_register_tcp_wifi);
/* 初始化 WIFI */
wifi_init_t init_struct = {
.ap = {
.ssid = "wifi-test", /**< SSID of soft-AP. If ssid_len field is 0, this must be a Null terminated string. Otherwise, length is set according to ssid_len. */
.password = "12345678", /**< Password of soft-AP. */
.ip_v4 = {192, 168, 1, 1},
.gw_v4 = {192, 168, 1, 1},
.mask_v4 = {255, 255, 255, 0},
.max_connection = 1,
.connect_cb = NULL,
},
.sta = {
#if 0
.ssid = "KFXJ",
.password = "Kfdx201*",
#else
.ssid = "SDWAN",
.password = "Dxltkj201",
#endif
.connect_cb = NULL,
},
};
wifi_netif_init(&init_struct);
wifi_set_mode(WIFI_NETIF_MODE_STA);
}
void wifi_shell_unregister(void)
{
sh_unregister_cmd(&_register_tcp_wifi);
}
SH_CMD_FN(_open_ap)
{
wifi_set_mode(WIFI_NETIF_MODE_AP);
wifi_start();
return 0;
}
SH_CMD_FN(_open_sta)
{
wifi_set_mode(WIFI_NETIF_MODE_STA);
wifi_start();
return 0;
}
SH_CMD_FN(_close)
{
wifi_stop();
return 0;
}