Технический форум

Технический форум (http://www.tehnari.ru/)
-   Микропроцессоры (http://www.tehnari.ru/f115/)
-   -   Как Ускорить сканирование Wifi сетей? (http://www.tehnari.ru/f115/t260431/)

Antoshk 20.07.2018 15:21

Как Ускорить сканирование Wifi сетей?
 
Добрый день.

Имеется плата wemos d1 на базе esp8266. Задача как можно чаще сканировать wifi окружение и спихивать данные о сетях по ком порту.

Код:

#include "ESP8266WiFi.h"
long int count;

void setup() {

  Serial.begin(11520);
  WiFi.mode(WIFI_STA);
  WiFi.disconnect();
  delay(100);
  count=0;
  Serial.println("Setup done");
}

void loop() {
    count++;
    Serial.print(count);
    Serial.print("|");
    // WiFi.scanNetworks will return the number of networks found
    int n = WiFi.scanNetworks();
    for (int i = 0; i < n; ++i)
      {
        Serial.print(WiFi.SSID(i));
        Serial.print(":");
        Serial.print(WiFi.RSSI(i));
        Serial.print(";");
        delay(10);
      }
    Serial.println("");
}

Скетч простой, но проблема в том что на выполнение строки int n = WiFi.scanNetworks(); уходит порядка 1-2 секунд.

Можно ли как-то ускорить этот процесс ? если отсканировать один раз и в цикле запрашивать (WiFi.RSSI(i)), то приходят одно и тоже значение видимо параметр RSSI, перезаписывается только в момент сканирования.

Серёга 20.07.2018 19:39

нельзя, иначе вы будете забивать эфир командой discovery, а это очень негативно скажется на всех сетях в округе. по этой причине время сканирования не уменьшить

vingor 22.07.2018 16:42

Можно посмотреть библиотеку ESP8266WiFi.h там скорее всего на классе WiFi.scanNetworks() есть какие нибудь параметры или задержки.
Но выше было сказано, можете засрать эфир.


Часовой пояс GMT +4, время: 09:05.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.