Comments 23
Обычно просто отправляют ICMP ECHO по адресу 255.255.255.255 и слушают ответы.
http://electronics.stackexchange.com/questions/170248/how-to-get-ip-address-from-mac-address-using-esp8266-wifi-module
При этом уберёте кучу зависимостей от конкретного роутера и прошивки.
Ха, и напоретесь на интересное поведение девайсов от Apple(может и от других тоже) — они с включённым wifi перестают отвечать на пинги через минут десять после засыпания/выключения. Более того, они вроде и аренду не продлевают. Единственное место, откуда их можно вытащить — список подключённых клиентов(wifi associated list, емнип, в микротиках называется). Все остальное работает ненадежно.
Очень много "если" в таком способе. Если говорить про "Умный дом", то достаточно 3-4 датчиков присутствия и не важно есть ли у кого-то смартфон и включен ли там Wi-Fi.
С другой стороны датчики надо приобрести, разместить, настроить, запитать, обслуживать. А тут вообще без вложений можно покрыть текущие нужды, из разряда «дешево и сердито», «умный дом» в кавычках.
Опция dhcp-scipt у Dnsmasq позволяет при выдаче каждого IP выполнять произвольный скрипт, чем я и пользуюсь.
на есп8266 в скетче использую библиотеку ping раз в десять секунд проверяю нужный мне айпишник, который вручную забит на телефоне и находится вне диапазона выдаваемого dhcp. при отсутствии меня дома или жены, публикуется статус в mqtt и включается ip cam и уже по движению ведет запись. всего пару строк кода, и схожий функционал.
Я бы вообще не стал вешать ESP-шку на общий SSID с другими устройствами. Лучше её выделить в отдельный SSID, благо большинство современных роутеров поддерживают виртуальные wi-fi сети.
Не знаю, как от одной, но от нескольких ESP-шек скорость wi-fi сильно проседает. Это известная проблема реализации стека на данном MCU.
А что, проседание скорости на виртуальной сети, которая висит на том же физическом радио, никак не затронет основную сеть?
Я про promiscuous mode. Ваш комментарий я не совсем понял, ибо, в моём представлении, ESPшка молчит и ничего сама в эфир не шлёт.
Ночью, например телефон сел, и еспишка включила охрану. Ночью пошел в туалет, а тут тебе сирена врубилась. :)
https://home-assistant.io/components/#presence-detection
Надежнее датчик движения в прихожей + геркон на входной двери. Закрылась дверь и нет движения в прихожей = дома никого нет.
Определение того, что вы дома, используя WiFi-роутер (для автоматизации «умного дома»)