my use is very simple, this is the code, which I partly took from a post on this forum
Code: Select all#include <ESP8266WiFi.h>
extern "C" {
#include<user_interface.h>
}
const char *ssid = "ssidWiFi";
const char *password = "password";
boolean Richiesta = false;
unsigned char connessioni = 0;
int D0 = 2;
int D4 = 16;
void setup() {
pinMode(D4, OUTPUT);
pinMode(D0, OUTPUT);
Serial.begin(115200);
system_phy_set_max_tpw(50);
WiFi.softAP(ssid, password);
WiFi.begin();
Serial.println("");
Serial.println("- - - WiFi Avviato - - -");
delay(1000);
}
void loop() {
client_status();
delay(1000);
}
void client_status() {
unsigned char number_client;
struct station_info *stat_info;
struct ip_addr *IPaddress;
IPAddress address;
number_client= wifi_softap_get_station_num();
stat_info = wifi_softap_get_station_info();
if (stat_info != NULL ) {
IPaddress = &stat_info->ip;
address = IPaddress->addr;
}
if (connessioni < number_client) {
Serial.println(millis()/1000);
Serial.print(" Numero di connessioni = ");
Serial.println(number_client);
connessioni = number_client;
Richiesta = true;
}
if (stat_info != NULL && Richiesta) {
IPaddress = &stat_info->ip;
address = IPaddress->addr;
Serial.println(millis()/1000);
Serial.print("- Indirizzo IP assegnato = ");
Serial.println((address));
Serial.print("- MAC Address = ");
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();
digitalWrite(D4, 1);
Serial.println("- Led ACCESO");
digitalWrite(D0, 1);
Serial.println("- Comando ad ON");
Serial.println();
delay(1000);
digitalWrite(D4, 0);
Serial.println("- Led SPENTO");
digitalWrite(D0, 0);
Serial.println("- Comando ad OFF");
Serial.println();
Richiesta = false;
}
else {
if (number_client == 0) {
Serial.println(millis()/1000);
Serial.println("- Nessuna Connessione");
digitalWrite(D4, 0);
Serial.println("- Led SPENTO");
digitalWrite(D0, 0);
Serial.println("- Comando ad OFF");
Serial.println();
connessioni = 0;
}
}
}
But once connected, if I move away and the connection falls, the number of wifi_softap_get_station_num() does not change
bye bye