蓝牙技术
直播中

剪刀脚

8年用户 838经验值
私信 关注
[问答]

AIROC-Wi-Fi-Bluetooth-STM32-release-v1.4.0如何将设备配置为AP?

我使用的是带有 CYW43012 的 STM32L562DK,使用的是 AIROC-Wi-Fi-Bluetooth-STM32-release-v1.4.0 版本。 我找到了 wifi-bt-tester 项目。 但是,我想将设备配置为 AP 而不是 STA。 我试着将 console_task() 功能中的 wcm_config.interface = CY_WCM_INTERFACE_TYPE_STA; 更改为 wcm_config.interface = CY_WCM_INTERFACE_TYPE_AP;,但当我扫描手机上的 Wi-Fi 时,却检测不到任何信息。 我还需要进行其他设置吗?
void console_task(void* 参数)
{
cy_rslt_t 结果 =cy_rslt_success;
cy_wcm_config_t wcm_config;
wcm_config.接口 =cy_wcm_interface_type_sta;

printf("Command console applicationrnn");

/* STM32 CYPAL init */
如果 (stm32_cypal_bt_init( huart3,  hlptim1) !=cy_rslt_success)
{
printf("ERROR: stm32_cypal_bt_init failedrn");
错误处理程序();
}

如果 (stm32_cypal_wifi_sdio_init( SDHandle) !=cy_rslt_success)
{
printf("rn ERROR: stm32_cypal_wifi_sdio_init failedrn");
错误处理程序();
}

如果 (stm32_cypal_trng_hw_init( hrng) !=cy_rslt_success)
{
printf("ERROR: stm32_cypal_trng_hw_init failedrnrn");
错误处理程序();
}

/* 为命令控制台库分配 UART 资源 */
如果 (stm32_cypal_uart_hw_init( huart1,命令控制台_uart_tx) !=cy_rslt_success)
{
printf("rn ERROR: stm32_cypal_uart_hw_init failedrn");
错误处理程序();
}

/* wcm init */
结果 = cy_wcm_init( wcm_config);
如果 (cy_rslt_success != 结果)
{
printf("初始化 Wi-Firn 失败");
错误处理程序();
}
printf("WCM Initializedn");

/* 连接到已指定凭证的接入点 */
connect_wifi();

命令控制台添加命令();

虽然 (1)
{
vTaskDelay(500);
}
}



                                                                                                                                                                                                                                                                                                                                                                                                        
                                                        

回帖(1)

h1654155275.5741

2024-5-29 16:19:39
要将设备配置为接入点(AP),您需要进行一些额外的设置。以下是一些建议的步骤:

1. 确保您已经将 `wcm_config.interface` 设置为 `CY_WCM_INTERFACE_TYPE_AP`,就像您已经尝试过的那样。

```c
wcm_config.interface = CY_WCM_INTERFACE_TYPE_AP;
```

2. 设置 AP 的 SSID 和密码。您需要在代码中设置一个独特的 SSID 和一个安全的密码。例如:

```c
const char* ap_ssid = "Your_SSID";
const char* ap_password = "Your_Password";
```

3. 在初始化 Wi-Fi 之前,设置 AP 模式。您可以使用 `cy_wcm_ap_config_t` 结构体来配置 AP 参数。例如:

```c
cy_wcm_ap_config_t ap_config;
ap_config.ssid = ap_ssid;
ap_config.ssid_length = strlen(ap_ssid);
ap_config.password = ap_password;
ap_config.password_length = strlen(ap_password);
ap_config.auth_mode = CY_WCM_AUTH_WPA2_AES_PSK;
ap_config.channel = 1;
ap_config.hidden = 0;
```

4. 使用 `cy_wcm_set_ap_config` 函数设置 AP 配置:

```c
result = cy_wcm_set_ap_config(&ap_config);
```

5. 初始化 Wi-Fi 模块并启动 AP 模式。在 `console_task()` 函数中,添加以下代码:

```c
cy_wcm_start_t start_config;
start_config.config_ptr = &wcm_config;
start_config.config_size = sizeof(wcm_config);
start_config.app_buffer_queue_size = 10;
start_config.app_buffer_count = 1;
start_config.app_buffer_size = 1500;

result = cy_wcm_start(&start_config);
```

6. 确保您的设备已正确连接到电源,并打开 Wi-Fi 模块。

7. 重新编译并上传代码到您的 STM32L562DK 设备。

8. 现在,您应该能够在手机的 Wi-Fi 扫描列表中看到您设置的 SSID。连接到该 SSID,并使用您设置的密码进行身份验证。

请注意,这些步骤可能需要根据您的具体硬件和软件环境进行调整。如果在设置过程中遇到问题,请查阅相关文档和示例代码,以确保正确配置您的设备。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分