• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Как Ускорить сканирование Wifi сетей?

  • Автор темы Автор темы Antoshk
  • Дата начала Дата начала

Antoshk

Ученик
Регистрация
10 Фев 2015
Сообщения
4
Реакции
0
Баллы
0
Как Ускорить сканирование 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, перезаписывается только в момент сканирования.
 
нельзя, иначе вы будете забивать эфир командой discovery, а это очень негативно скажется на всех сетях в округе. по этой причине время сканирования не уменьшить
 
Можно посмотреть библиотеку ESP8266WiFi.h там скорее всего на классе WiFi.scanNetworks() есть какие нибудь параметры или задержки.
Но выше было сказано, можете засрать эфир.
 
Назад
Сверху