Есть светодиодный прожектор, espшка, DC-DC преобразователь и твердотельное реле. Нужно сделать, чтобы прожектор включался, когда я подхожу к нему со своим смартфоном с включенным wifi (на котором сохранена сеть espшки) без всяких лишних действий (запуска программ, нажатия кнопок и тп). В режиме точки доступа кочечно работает espшкато есть одна точка доступа стационарная, на чем организована, тоже на espшке или на раоутере или на компьютере? Если на espшке, то она автономная или связана с компьютером или роутером? Если связана то каким образом, по WIFI или кабелем по USB? Вообщем конкретики бы хотелось. Клиент, я так понимаю на espшке автономный?
Большое спасибо. Отлично работает.Из ide Arduino, подключаем внешнюю функцию из SDK:
Выводим результат в терминал, количество подключенных клиентов:Код:extern "C" { #include "user_interface.h" uint8 wifi_softap_get_station_num(void); }
Код:Serial.println(wifi_softap_get_station_num());
// Count of stations which are connected to ESP8266 soft-AP
void client_status() {
unsigned char number_client;
struct station_info *stat_info;
struct ip_addr *IPaddress;
IPAddress address;
int i=1;
number_client = wifi_softap_get_station_num();
stat_info = wifi_softap_get_station_info();
Serial.println();
Serial.print("Total connected_client are = ");
Serial.println(number_client);
while (stat_info != NULL) {
IPaddress = &stat_info->ip;
address = IPaddress->addr;
Serial.print("client= ");
Serial.print(i);
Serial.print(" ip adress is = ");
Serial.print((address));
Serial.print(" with mac adress is = ");
Serial.print(stat_info->bssid[0],HEX);
Serial.print(stat_info->bssid[1],HEX);
Serial.print(stat_info->bssid[2],HEX);
Serial.print(stat_info->bssid[3],HEX);
Serial.print(stat_info->bssid[4],HEX);
Serial.print(stat_info->bssid[5],HEX);
Serial.println();
stat_info = STAILQ_NEXT(stat_info,next);
i++;
}
}
extern "C" {
#include "user_interface.h"
unsigned char wifi_softap_get_station_num(void);
struct wifi_softap_get_station_info(void);
}
unsignedchar wifi_softap_get_station_num(void); // работает
struct wifi_softap_get_station_info(void); // не работает, выдает ошибку
unsignedchar number_client; // работает
struct station_info *stat_info; // работает
number_client = wifi_softap_get_station_num(); // работает
stat_info = wifi_softap_get_station_info(); // работает