#include <stdio.h>
#include "pico/stdlib.h"
#include "pico/cyw43_arch.h"
#include "lwip/netif.h"
#include "lwip/ip4_addr.h"
// ⚠️ Đổi SSID/PASS cho WiFi Wokwi
#define WIFI_SSID "Wokwi-GUEST"
#define WIFI_PASS ""
int main() {
stdio_init_all();
if (cyw43_arch_init()) {
printf("WiFi init failed!\n");
return -1;
}
cyw43_arch_enable_sta_mode();
printf("Connecting to WiFi SSID: %s\n", WIFI_SSID);
int result = cyw43_arch_wifi_connect_timeout_ms(WIFI_SSID, WIFI_PASS,
CYW43_AUTH_WPA2_AES_PSK, 30000);
if (result != 0) {
printf("Failed to connect. Error code: %d\n", result);
return -1;
}
printf("Connected to WiFi!\n");
// Lấy IP đã cấp
while (true) {
const ip4_addr_t *addr = netif_ip4_addr(netif_list);
if (!ip4_addr_isany_val(*addr)) {
printf("Got IP: %s\n", ip4addr_ntoa(addr));
break;
}
sleep_ms(500);
}
// Loop chính
while (true) {
printf("WiFi alive, RSSI=%d dBm\n", cyw43_wifi_get_rssi(&cyw43_state, CYW43_ITF_STA));
sleep_ms(5000);
}
cyw43_arch_deinit();
return 0;
}