updates
This commit is contained in:
@@ -0,0 +1,199 @@
|
||||
#include "Wireless.h"
|
||||
|
||||
|
||||
bool WIFI_Connection = 0;
|
||||
uint8_t WIFI_NUM = 0;
|
||||
uint8_t BLE_NUM = 0;
|
||||
bool Scan_finish = 0;
|
||||
uint8_t NUM=0;
|
||||
uint8_t wifi_scan()
|
||||
{
|
||||
printf("/**********WiFi Test**********/\r\n");
|
||||
// Set WiFi to station mode and disconnect from an AP if it was previously connected.
|
||||
WiFi.mode(WIFI_STA);
|
||||
WiFi.disconnect();
|
||||
// WiFi.scanNetworks will return the number of networks found.
|
||||
int n = WiFi.scanNetworks();
|
||||
// Serial.println("Scan done");
|
||||
if (n == 0)
|
||||
{
|
||||
printf("no networks found\r\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("Nr | SSID | RSSI | CH | Encryption\r\n");
|
||||
for (int i = 0; i < 3; ++i)
|
||||
{
|
||||
// Print SSID and RSSI for each network found
|
||||
printf("%2d | ", i + 1);
|
||||
printf("%-32.32s | ", WiFi.SSID(i).c_str());
|
||||
printf("%4d | ", WiFi.RSSI(i));
|
||||
printf("%2d | ", WiFi.channel(i));
|
||||
switch (WiFi.encryptionType(i))
|
||||
{
|
||||
case WIFI_AUTH_OPEN:
|
||||
printf("open\r\n");
|
||||
break;
|
||||
case WIFI_AUTH_WEP:
|
||||
printf("WEP\r\n");
|
||||
break;
|
||||
case WIFI_AUTH_WPA_PSK:
|
||||
printf("WPA\r\n");
|
||||
break;
|
||||
case WIFI_AUTH_WPA2_PSK:
|
||||
printf("WPA2\r\n");
|
||||
break;
|
||||
case WIFI_AUTH_WPA_WPA2_PSK:
|
||||
printf("WPA+WPA2\r\n");
|
||||
break;
|
||||
case WIFI_AUTH_WPA2_ENTERPRISE:
|
||||
printf("WPA2-EAP\r\n");
|
||||
break;
|
||||
case WIFI_AUTH_WPA3_PSK:
|
||||
printf("WPA3\r\n");
|
||||
break;
|
||||
case WIFI_AUTH_WPA2_WPA3_PSK:
|
||||
printf("WPA2+WPA3\r\n");
|
||||
break;
|
||||
case WIFI_AUTH_WAPI_PSK:
|
||||
printf("WAPI\r\n");
|
||||
break;
|
||||
default:
|
||||
printf("unknown\r\n");
|
||||
}
|
||||
vTaskDelay(10);
|
||||
}
|
||||
}
|
||||
|
||||
// Delete the scan result to free memory for code below.
|
||||
WiFi.scanDelete();
|
||||
WiFi.disconnect(true);
|
||||
WiFi.mode(WIFI_OFF);
|
||||
vTaskDelay(100);
|
||||
printf("/*******WiFi Test Over********/\r\n\r\n");
|
||||
printf("/**********BLE Test**********/\r\n");
|
||||
}
|
||||
BLEScan* pBLEScan;
|
||||
uint8_t ble_scan()
|
||||
{
|
||||
|
||||
if(NUM == 0){
|
||||
BLEDevice::init("");
|
||||
pBLEScan = BLEDevice::getScan();
|
||||
pBLEScan->setActiveScan(true);
|
||||
}
|
||||
BLEScanResults* foundDevices = pBLEScan->start(5);
|
||||
int count = foundDevices->getCount();
|
||||
printf("Found %d devices\r\n",count);
|
||||
for (int i = 0; i < count; i++) {
|
||||
BLEAdvertisedDevice device = foundDevices->getDevice(i);
|
||||
if (device.haveName()) {
|
||||
printf("Bluetooth Name : %s\r\n",device.getName().c_str());
|
||||
printf("Device address : %s\r\n",device.getAddress().toString().c_str());
|
||||
printf("Response Length : %d\r\n",device.getPayloadLength());
|
||||
printf("\r\n");
|
||||
NUM++;
|
||||
}
|
||||
if(NUM == 2)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(NUM == 2)
|
||||
{
|
||||
pBLEScan->stop();
|
||||
pBLEScan->clearResults();
|
||||
BLEDevice::deinit(true);
|
||||
printf("/**********BLE Test Over**********/\r\n\r\n");
|
||||
}
|
||||
return NUM;
|
||||
}
|
||||
void Wireless_Test1(){
|
||||
uint8_t Time=0;
|
||||
pinMode(0, INPUT);
|
||||
while(digitalRead(0) != 0)
|
||||
{
|
||||
vTaskDelay(10);
|
||||
Time++;
|
||||
if(Time == 100)
|
||||
{
|
||||
printf("Please press the BOOT button \r\n");
|
||||
Time=0;
|
||||
}
|
||||
}
|
||||
wifi_scan();
|
||||
uint8_t ble_NUM = ble_scan();
|
||||
while(ble_NUM != 2)
|
||||
ble_NUM = ble_scan();
|
||||
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
int wifi_scan_number()
|
||||
{
|
||||
printf("/**********WiFi Test**********/\r\n");
|
||||
// Set WiFi to station mode and disconnect from an AP if it was previously connected.
|
||||
WiFi.mode(WIFI_STA);
|
||||
WiFi.setSleep(true);
|
||||
// WiFi.scanNetworks will return the number of networks found.
|
||||
int count = WiFi.scanNetworks();
|
||||
if (count == 0)
|
||||
{
|
||||
printf("No WIFI device was scanned\r\n");
|
||||
}
|
||||
else{
|
||||
printf("Scanned %d Wi-Fi devices\r\n",count);
|
||||
}
|
||||
|
||||
// Delete the scan result to free memory for code below.
|
||||
WiFi.scanDelete();
|
||||
WiFi.disconnect(true);
|
||||
WiFi.mode(WIFI_OFF);
|
||||
vTaskDelay(100);
|
||||
printf("/*******WiFi Test Over********/\r\n\r\n");
|
||||
return count;
|
||||
}
|
||||
int ble_scan_number()
|
||||
{
|
||||
printf("/**********BLE Test**********/\r\n");
|
||||
BLEDevice::init("");
|
||||
BLEScan* pBLEScan = BLEDevice::getScan();
|
||||
pBLEScan->setActiveScan(true);
|
||||
|
||||
BLEScanResults* foundDevices = pBLEScan->start(5);
|
||||
vTaskDelay(5000);
|
||||
int count = foundDevices->getCount();
|
||||
if (count == 0)
|
||||
{
|
||||
printf("No Bluetooth device was scanned\r\n");
|
||||
}
|
||||
else{
|
||||
printf("Scanned %d Bluetooth devices\r\n",count);
|
||||
}
|
||||
pBLEScan->clearResults();
|
||||
pBLEScan->stop();
|
||||
BLEDevice::deinit(true);
|
||||
vTaskDelay(100);
|
||||
printf("/**********BLE Test Over**********/\r\n\r\n");
|
||||
return count;
|
||||
}
|
||||
|
||||
void WirelessScanTask(void *parameter) {
|
||||
WIFI_NUM = wifi_scan_number();
|
||||
BLE_NUM = ble_scan_number();
|
||||
Scan_finish = 1;
|
||||
vTaskDelete(NULL);
|
||||
}
|
||||
void Wireless_Test2(){
|
||||
xTaskCreatePinnedToCore(
|
||||
WirelessScanTask,
|
||||
"WirelessScanTask",
|
||||
4096,
|
||||
NULL,
|
||||
1,
|
||||
NULL,
|
||||
0
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user