WIFI扫描和信号强度获取处理测试代码

static void ICACHE_FLASH_ATTR wifi_scan_done(void *arg, STATUS status) 
{
uint8 ssid[64];
char buffer[256];
if (status == OK) 
{
struct bss_info *bss_link = (struct bss_info *)arg;
os_printf("status:%d pointer:%p\n", status, arg);
while (bss_link != NULL)
{
os_memset(ssid, 0, sizeof(ssid));
os_memset(buffer, 0, sizeof(buffer));
if (os_strlen(bss_link->ssid) <= 32)
{
os_memcpy(ssid, bss_link->ssid, os_strlen(bss_link->ssid));
}
else
{
os_memcpy(ssid, bss_link->ssid, 32);
}
os_sprintf(buffer, "+PSCAN:(%d,\"%s\",%d,\""MACSTR"\",%d,%d,%d)\r\n", bss_link->authmode, ssid, bss_link->rssi, MAC2STR(bss_link->bssid),bss_link->channel, bss_link->freq_offset, bss_link->freqcal_val);
os_printf("scan result:%s\n", buffer);
bss_link = bss_link->next.stqe_next;
}
os_memset(buffer, 0, sizeof(buffer));
os_sprintf(buffer, "success status=%d\r\n",status);
}
else
{
os_printf("wifi scan test [failed]!\n");
system_restart(); // restart and test again
}
return;
}








void ICACHE_FLASH_ATTR wifi_scan_test(void)
{
struct scan_config config;
//config.ssid = NULL;
config.ssid = Xishi_GetMqttWifiSsid();
config.bssid = NULL;
config.channel = 0;
config.show_hidden = 1;
if (wifi_station_scan(&config, wifi_scan_done) == 0) 
{


}
}






int ICACHE_FLASH_ATTR GetWifiSsidRssi(void)
{
int ret;
ret = GetNetworkStates();
if(ret)
{

}
else
{
os_printf("wifi ssid rssi:%d\n",1234);
return 1234;
}
ret= wifi_station_get_rssi();
os_printf("wifi ssid rssi:%d\n",ret);
return ret;
}

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值