Недавно ко мне попала «умная» кормушка для рыбок. Выглядит неплохо: моторчик крутит спираль, корм сыплется по трубке, сверху — бачок на пару недель. В комплекте — USB-модуль с Wi-Fi и приложение для телефона. Нажал кнопку, синхронизировался — и можно включать/выключать кормушку.
Казалось бы — отлично! Но тут возникает вопрос: а как по таймеру? Должен ли телефон быть рядом? А если интернета нет? А если я хочу управлять этим делом через свою PHP-панель, а не через чужое облако в Китае?
Большинство дешёвых Wi-Fi-устройств (особенно с AliExpress) работают по одному принципу:
Даже кнопка «синхронизации» — это не WPS и не открытие своей сети. Это просто способ передать SSID и пароль от вашей Wi-Fi в облако. После этого устройство больше не общается с телефоном напрямую — только через сервер.
Итог: вы не можете подключить такое устройство к своей самописной системе. Оно заточено только под своё приложение. Хотите использовать другую экосистему? Не получится.
Вариантов два:
Если устройство не поддерживает Tasmota, ESPHome или локальный API — оно вам не нужно. Это не «умное», это «облачно-глупое».
Вот мой способ:
Теперь я сам решаю, сколько секунд включать мотор, когда кормить рыб, и что делать при отключении интернета. Всё локально, без облаков, без зависимости.
Можно! Если вы всё же хотите понять, что делает ваша «говноюсб-включалка» в эфире — возьмите ESP32 и запустите на нём простой Wi-Fi-сканер. Он покажет все сети, включая скрытые, и поможет понять, создаёт ли устройство свою точку доступа.
Вот пример кода для Arduino IDE:
#include
void setup() {
Serial.begin(115200);
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);
Serial.println("Сканирую Wi-Fi сети...");
}
void loop() {
int n = WiFi.scanNetworks();
Serial.println("Найдено сетей: " + String(n));
for (int i = 0; i < n; ++i) {
Serial.print(i + 1);
Serial.print(": ");
Serial.print(WiFi.SSID(i));
Serial.print(" (");
Serial.print(WiFi.RSSI(i));
Serial.print(" dBm) — ");
Serial.print("Канал: ");
Serial.print(WiFi.channel(i));
Serial.print(" — Скрытая: ");
Serial.println(WiFi.isHidden(i) ? "Да" : "Нет");
delay(10);
}
Serial.println();
delay(10000); // Сканировать каждые 10 сек
}
Загрузите это на ESP32, откройте монитор порта — и смотрите, появляется ли сеть от вашей кормушки при нажатии кнопки. Скорее всего — нет. Потому что современные устройства используют Smart Config или BLE, а не AP-режим.
Не покупайте Wi-Fi IoT-устройства, если:
Если же вы используете экосистему (Xiaomi, Aqara, Tuya и т.д.) — тогда берите устройства только этой же фирмы. Иначе они просто не подключатся.
А для самописных проектов — только открытые протоколы: Zigbee, MQTT, ESPHome, Tasmota. И никаких «умных» USB-переходников с облаком в подарок.
Удачи в ваших IoT-экспериментах! И помните: если устройство не даёт вам API — оно не умное, оно ваш враг 😉