• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

MAC фильтр на ESP8266

karim

New member
Добрый день!
продолжаю прикручивать ESP к управлению воротами (начало)
установка планируется во дворе многоквартирного дома

Все идет довольно медленно, что уже удалось:
запускается CapativePortal, кнопки отрабатывают как надо, реле щелкают.

теперь вопрос к безопасности,
Работа предполагается автономная, без интернета в режиме AP.
1) как на ESP организовать фильтр MAC адресов (whitelist) подключаемых устройств?
- сколько максимально MAC адресов можно включить в список?
2) может ли CapativePortal работать при AP (esp) с паролем (wep/psk)?
 

NeoroN

Member
нужно к событию авторизации клиента подключить фунцию деавторизации по условию наличия мака в списке. Пример для Nodemcu
Вообще я подумал что можно сделать так Клиент из списка подключился - ворота открылись, клиент отключился - ворота закрылись. Главное сразу убрать в настройках галку автоподключение. Думаю сделать у себя - что-то подобное.
 
Последнее редактирование:

karim

New member
Вообще я подумал что можно сделать так Клиент из списка подключился - ворота открылись, клиент отключился - ворота закрылись.
такой вариант у нас не подойдет, во дворе несколько ворот, расстояние небольшое - удобнее выбрать кнопкой/ссылкой какие ворота открыть.

ворота открываются и закрываются одной и той же кнопкой.

еще бы возможность удаленно (по wifi) редактировать список MAC
 

NeoroN

Member
Я не вижу сложностей чтобы сделать список, поиск, добавление, удаление. Для начала нужно определиться с их количеством, потом с методом хранения.
 

karim

New member
В качестве основы использовал ESP8266 Mobile Rick Roll Captive Portal
в процессе отладки обратил вникание, что Capative portal запускается не всегда. иногда требуется открыть браузер и вбить какой ни будь адрес. (>>>>> mDNS Domain: mobile-rr.local не всегда загружается)


Второй момент, нажатие кнопки в Capative portal отрабатывается системой 3 раза. В чем может быть проблема?
обрабатываю в цикле RTOS так:
Код:
    httpd.on ( "/trigger_a1", HTTP_GET, [] ( AsyncWebServerRequest * request )
    {
      output_trig = 2;
      state = statemachine::trigger;
      Serial.printf ( "trigger_a1 trig2 line 775 \n" );
    } );
 

Вложения

Сверху Снизу