kopia lustrzana https://github.com/pimoroni/pimoroni-pico
Pico Wireless: WiFi Network scan example
rodzic
732e59b314
commit
30faa0966d
|
@ -2,3 +2,4 @@ include("${CMAKE_CURRENT_LIST_DIR}/demo.cmake")
|
|||
include("${CMAKE_CURRENT_LIST_DIR}/rgb_http.cmake")
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/cheerlights.cmake")
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/sdcard_http.cmake")
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/wifi_networks.cmake")
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
add_executable(
|
||||
wireless_networks
|
||||
wifi_networks.cpp
|
||||
)
|
||||
|
||||
# enable usb output, disable uart output
|
||||
pico_enable_stdio_usb(wireless_networks 1)
|
||||
pico_enable_stdio_uart(wireless_networks 1)
|
||||
|
||||
# Pull in pico libraries that we need
|
||||
target_link_libraries(wireless_networks pico_stdlib pico_wireless)
|
||||
|
||||
# create map/bin/hex file etc.
|
||||
pico_add_extra_outputs(wireless_networks)
|
|
@ -0,0 +1,60 @@
|
|||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <math.h>
|
||||
#include "pico/stdlib.h"
|
||||
#include "hardware/uart.h"
|
||||
#include "hardware/gpio.h"
|
||||
#include "hardware/spi.h"
|
||||
#include "pico_wireless.hpp"
|
||||
#include <chrono>
|
||||
#include <sstream>
|
||||
#include <iomanip>
|
||||
|
||||
using namespace pimoroni;
|
||||
|
||||
PicoWireless wireless;
|
||||
|
||||
|
||||
int main() {
|
||||
stdio_init_all();
|
||||
wireless.init();
|
||||
sleep_ms(500);
|
||||
|
||||
printf("firmware version Nina %s\n", wireless.get_fw_version());
|
||||
uint8_t* mac = wireless.get_mac_address();
|
||||
printf("mac address ");
|
||||
for(uint i = 0; i < WL_MAC_ADDR_LENGTH; i++) {
|
||||
printf("%d:", mac[i]);
|
||||
}
|
||||
printf("\n");
|
||||
|
||||
while (true) {
|
||||
int networks = wireless.get_scan_networks();
|
||||
printf("Found %d network(s)\n", networks);
|
||||
|
||||
for(auto network = 0; network < networks; network++) {
|
||||
std::string ssid = wireless.get_ssid_networks(network);
|
||||
wl_enc_type enc_type = wireless.get_enc_type_networks(network);
|
||||
switch(enc_type) {
|
||||
case ENC_TYPE_WEP:
|
||||
printf("%s (WEP)\n", ssid.c_str());
|
||||
break;
|
||||
case ENC_TYPE_TKIP:
|
||||
printf("%s (TKIP)\n", ssid.c_str());
|
||||
break;
|
||||
case ENC_TYPE_CCMP:
|
||||
printf("%s (CCMP)\n", ssid.c_str());
|
||||
break;
|
||||
case ENC_TYPE_UNKNOWN:
|
||||
printf("%s (UNKNOWN)\n", ssid.c_str());
|
||||
break;
|
||||
default:
|
||||
printf("%s\n", ssid.c_str());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
sleep_ms(5000);
|
||||
}
|
||||
return 0;
|
||||
}
|
Ładowanie…
Reference in New Issue