create softAP if unable to connect to a station
parent
8be8ae0f24
commit
a2f1cad56f
33
src/main.cpp
33
src/main.cpp
|
@ -1,16 +1,47 @@
|
||||||
#include <Arduino.h>
|
#include <Arduino.h>
|
||||||
|
#include <ESP8266WiFi.h>
|
||||||
#include "version.h"
|
#include "version.h"
|
||||||
|
|
||||||
#ifndef SERIAL_BAUD
|
#ifndef SERIAL_BAUD
|
||||||
#define SERIAL_BAUD 74880
|
#define SERIAL_BAUD 74880
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
char _unique_softap_ssid[] = "uWeather-XXXXXX";
|
||||||
|
|
||||||
|
const char* unique_softap_ssid()
|
||||||
|
{
|
||||||
|
char* ssid = _unique_softap_ssid;
|
||||||
|
if (_unique_softap_ssid[9] == 'X') { //if not filled with mac address, do it now
|
||||||
|
String mac = WiFi.softAPmacAddress();
|
||||||
|
for (int i = 0; i < 3; i++) {
|
||||||
|
ssid[9+(2*i)] = mac.c_str()[i*3];
|
||||||
|
ssid[9+(2*i)+1] = mac.c_str()[i*3+1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ssid;
|
||||||
|
}
|
||||||
|
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin(SERIAL_BAUD);
|
Serial.begin(SERIAL_BAUD);
|
||||||
delay(100);
|
delay(100);
|
||||||
|
|
||||||
uweather_print_version_info(Serial);
|
// Print out some system information to the serial port
|
||||||
|
uweather_print_version_info(Serial);
|
||||||
|
|
||||||
|
|
||||||
|
// Attempt to connect to WiFi
|
||||||
|
Serial.print( F("Attempting to connect to WiFi ..."));
|
||||||
|
WiFi.begin();
|
||||||
|
uint8_t connectResult = WiFi.waitForConnectResult();
|
||||||
|
if (connectResult != WL_CONNECTED) {
|
||||||
|
Serial.println( F("Unable to connect"));
|
||||||
|
const char* softApSSID = unique_softap_ssid();
|
||||||
|
WiFi.softAP(softApSSID);
|
||||||
|
Serial.printf_P( PSTR("Created Soft AP for setup: %s\r\n"), softApSSID);
|
||||||
|
} else {
|
||||||
|
Serial.println( F("Connected"));
|
||||||
|
}
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
Serial.print(" . ");
|
Serial.print(" . ");
|
||||||
|
|
Loading…
Reference in New Issue