Технический форум
Вернуться   Технический форум > Электроника, самоделки и техника > Форум по электронике > Микропроцессоры


Ответ
 
Опции темы Опции просмотра
Старый 20.07.2018, 15:21   #1 (permalink)
Antoshk
Новичок
 
Регистрация: 10.02.2015
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Question Как Ускорить сканирование 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, перезаписывается только в момент сканирования.
Antoshk вне форума   Ответить с цитированием

Старый 20.07.2018, 15:21
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Аналогичные проблемы уже обсуждались ранее

Как ускорить компьютер для игр?
Как ускорить компьютер
Как ускорить ПК
Ускорить работу ХР

Старый 20.07.2018, 19:39   #2 (permalink)
Серёга
красавчик :D
 
Аватар для Серёга
 
Регистрация: 15.07.2010
Сообщений: 3,624
Записей в дневнике: 11
Сказал(а) спасибо: 71
Поблагодарили 13 раз(а) в 10 сообщениях
Репутация: 15870
По умолчанию

нельзя, иначе вы будете забивать эфир командой discovery, а это очень негативно скажется на всех сетях в округе. по этой причине время сканирования не уменьшить
__________________
мой бывший ник Nonemore
Серёга вне форума   Ответить с цитированием
Старый 22.07.2018, 16:42   #3 (permalink)
vingor
VIP user
 
Регистрация: 05.03.2014
Адрес: Г. Краснодар
Сообщений: 1,393
Сказал(а) спасибо: 328
Поблагодарили 212 раз(а) в 36 сообщениях
Репутация: 21240
По умолчанию

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

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Метки
arduino, esp8266, wifi

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




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

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.