ESP8266. WiFiManager и RemoteXY

Смена имени и пароля сети без перепрошивки ЕСП.

Пользовательские блоки для коммкникации и связи GSM, GPRS, IR, Bluetooth и другие
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Ответить
aidar_i
Полковник
Сообщения: 3125
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 676
Откуда: Уфа
Имя: Айдар
Контактная информация:

ESP8266. WiFiManager и RemoteXY

#1

Сообщение aidar_i » 02.12.2018{, 02:27}

Данная тема относится для старых версий программы.

Используя добавочный и штатный блок для RemoteXY , блок WiFiManager и следуя рекомендациям приведенным в примере можно менять имя и пароль сети без перепрошивки ЕСП.
Менять можно также из UART и создав точку доступа в настройках контроллера.
WiFiManager+RemoteXY.flp
(183.38 КБ) 275 скачиваний
Указанный способ можно применить и другим проектам, где требуется менять имя и пароль сети.

Отправлено спустя 5 часов 54 минуты 55 секунд:
При оформлении забыл написать в setup() удалить ещё:
RemoteXY_Init ();

Отправлено спустя 1 час 16 минут 53 секунды:
На всякий случай скомпилированный и исправленный скетч
СпойлерПоказать
// ИСПРАВЛЕНИЯ ВЫДЕЛИЛ ПОДЧЕРКИВАНИЕМ

#define REMOTEXY_MODE__ESP8266WIFI_LIB_CLOUD //добавлено
#include <ESP8266WiFi.h> //добавлено
//#define REMOTEXY_MODE__ESP8266_HARDSERIAL_CLOUD //удалено
//______________________________________________________________
#include <RemoteXY.h>
#include <Ticker.h>

#include <DNSServer.h>

#include <ESP8266WebServer.h>

#include <WiFiManager.h>
extern "C" {
#include "user_interface.h";
}
//___________________________________________________
//УДАЛЕНЫ 4 СТРОКИ
/*#define REMOTEXY_SERIAL Serial
#define REMOTEXY_SERIAL_SPEED 9600
#define REMOTEXY_WIFI_SSID "удалить"
#define REMOTEXY_WIFI_PASSWORD "удалить"*/
//___________________________________________________
#define REMOTEXY_CLOUD_SERVER "cloud.remotexy.com"
#define REMOTEXY_CLOUD_PORT 6376
#define REMOTEXY_CLOUD_TOKEN "eaa0940e7f7cf8e36a2274b5aded5396"
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] = {1, 0, 20, 0, 8, 13, 0, 2, 0, 26, 13, 63, 30, 2, 26, 31, 31, 79, 78, 0, 79, 70, 70, 0};
struct {
unsigned char switch_1;
unsigned char connect_flag;
} RemoteXY;
#pragma pack(pop)
String SSID_str;
String Passw_Str;
const char* REMOTEXY_WIFI_SSID="";
const char* REMOTEXY_WIFI_PASSWORD="";
char ssid_Str[30];
char passw_Str[30];
bool en;
bool ResetSettinges;
bool setIPAdr;
String SSIDStr;
String PasswStr;
Ticker ticker;
char ssidStr[30];
char passwStr[30];
bool start= true;
bool _bounseInputD5S = 0;
bool _bounseInputD5O = 0;
unsigned long _bounseInputD5P = 0UL;
void setup()
{
//_____________________________________________
//RemoteXY_Init (); //УДАЛЕНО
//_____________________________________________
pinMode(5, INPUT_PULLUP);
pinMode(2, OUTPUT);

_bounseInputD5O = digitalRead(5);
SSID_str.toCharArray(ssid_Str, SSID_str.length()+1);
Passw_Str.toCharArray(passw_Str, Passw_Str.length()+1);
REMOTEXY_WIFI_SSID = ssid_Str;
REMOTEXY_WIFI_PASSWORD=passw_Str;
remotexy = new CRemoteXY (RemoteXY_CONF_PROGMEM, &RemoteXY,
REMOTEXY_ACCESS_PASSWORD,
REMOTEXY_WIFI_SSID, REMOTEXY_WIFI_PASSWORD, REMOTEXY_CLOUD_SERVER,
REMOTEXY_CLOUD_PORT, REMOTEXY_CLOUD_TOKEN);
Serial.begin(115200);
pinMode(BUILTIN_LED, OUTPUT);
ticker.attach(0.6, tick);

}
void loop()
{RemoteXY_Handler ();

bool _bounceInputTmpD5 = (digitalRead (5));

if (_bounseInputD5S)
{
if (millis() >= (_bounseInputD5P + 40))
{_bounseInputD5O= _bounceInputTmpD5; _bounseInputD5S=0;}
}
else
{
if (_bounceInputTmpD5 != _bounseInputD5O )
{_bounseInputD5S=1; _bounseInputD5P = millis();}
}




//Плата:1
en = !(0);
ResetSettinges = !(_bounseInputD5O);
setIPAdr = 0;
if (en) {
if (start) { start = false;
WiFiManager wifiManager;
if (ResetSettinges) wifiManager.resetSettings();
wifiManager.setAPCallback(configModeCallback);
wifiManager.setTimeout(180);
if (setIPAdr) wifiManager.setAPStaticIPConfig(IPAddress(10,0,1,1), IPAddress(10,0,1,1), IPAddress(255,255,255,0));
if ( !wifiManager.autoConnect("AutoConnectAP", "password")) {
Serial.println("failed to connect and hit 180");
delay(3000);
ESP.reset();
delay(5000);
} Serial.println("connected...yeey :)");
ticker.detach();
digitalWrite(BUILTIN_LED, LOW);
}
SSIDStr = WiFi.SSID();
PasswStr = WiFi.psk();
}
SSID_str = SSIDStr;
Passw_Str = PasswStr;


//Плата:2
digitalWrite(2, (RemoteXY.switch_1));




}
bool _isTimer(unsigned long startTime, unsigned long period )
{
unsigned long currentTime;
currentTime = millis();
if (currentTime>= startTime) {return (currentTime>=(startTime + period));} else {return (currentTime >=(4294967295-startTime+period));}
}
void tick()
{
int state = digitalRead(BUILTIN_LED); // get the current state of GPIO1 pin
digitalWrite(BUILTIN_LED, !state);
}
void configModeCallback(WiFiManager *myWiFiManager)
{
Serial.println("Entered config mode");
Serial.println(WiFi.softAPIP());
//if you used auto generated SSID, print it
Serial.println(myWiFiManager->getConfigPortalSSID());
//entered config mode, make led toggle faster
ticker.attach(0.2, tick);
}
Отправлено спустя 45 минут 2 секунды:
Не забудьте поставить свой токен. Пока можете проверить на этом.
Последний раз редактировалось aidar_i 04.06.2020{, 10:53}, всего редактировалось 1 раз.

Аватара пользователя
Phazz
Полковник
Сообщения: 2553
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

ESP8266. WiFiManager и RemoteXY

#2

Сообщение Phazz » 02.12.2018{, 13:46}

А почему для изменения пароля нужно прошивать ЕСП, есть и другие штатные способы изменения пароля.

aidar_i
Полковник
Сообщения: 3125
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 676
Откуда: Уфа
Имя: Айдар
Контактная информация:

ESP8266. WiFiManager и RemoteXY

#3

Сообщение aidar_i » 02.12.2018{, 13:56}

Потому что они в Remote XY задаются #define, и RemoteXY_Init () тоже #define.
Поделитесь , как ещё можно. Я не программист.

Brand2
Лейтенант
Сообщения: 414
Зарегистрирован: 26.02.2018{, 21:27}
Репутация: 42
Откуда: Haifa
Имя: Alex

ESP8266. WiFiManager и RemoteXY

#4

Сообщение Brand2 » 02.12.2018{, 19:33}

Очень нужные блоки,позволяет делать устройства с приложением REMOTEXY не только для себя,зная заранее данные сети,но и для других,а так же в случае смены сети,роутера и тд.
Автору большое спасибо!!!

Аватара пользователя
belyx
Сержант
Сообщения: 247
Зарегистрирован: 24.07.2016{, 20:38}
Репутация: 20
Откуда: Витебск Беларусь

ESP8266. WiFiManager и RemoteXY

#5

Сообщение belyx » 15.10.2019{, 23:52}

aidar_i, а с бесплатной версией RemoteXY будет это работать?

aidar_i
Полковник
Сообщения: 3125
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 676
Откуда: Уфа
Имя: Айдар
Контактная информация:

ESP8266. WiFiManager и RemoteXY

#6

Сообщение aidar_i » 16.10.2019{, 07:30}

Да, будет.

Аватара пользователя
belyx
Сержант
Сообщения: 247
Зарегистрирован: 24.07.2016{, 20:38}
Репутация: 20
Откуда: Витебск Беларусь

ESP8266. WiFiManager и RemoteXY

#7

Сообщение belyx » 16.10.2019{, 10:57}

Правильно ли я понял,что используется 2 модуля:
1-1 модуль - для работы с RemoteXY модуль ESP8266 должен иметь версию прошивки с поддержкой AT команд не ниже v0.40.
2-2 модуль - в вашем проекте модуль wemos d1 mini,в который и заливается скетч проекта
3- Связаны они по уарту
4-1 модуль типа ESP8266 -07 или -12 (модуль типа ESP8266 -01 не выбирается в настройках)
СпойлерПоказать
вопросы.jpg
или проект заливается в вемос и всё (без всякого второго модуля) :smile37:
и хотелось бы посмотреть скрин картинки на смартфоне.

Аватара пользователя
Phazz
Полковник
Сообщения: 2553
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

ESP8266. WiFiManager и RemoteXY

#8

Сообщение Phazz » 16.10.2019{, 13:52}

belyx писал(а):
16.10.2019{, 10:57}
или проект заливается в вемос и всё (без всякого второго модуля)
на смартфоне выглядит как в редакторе

Аватара пользователя
belyx
Сержант
Сообщения: 247
Зарегистрирован: 24.07.2016{, 20:38}
Репутация: 20
Откуда: Витебск Беларусь

ESP8266. WiFiManager и RemoteXY

#9

Сообщение belyx » 16.10.2019{, 14:53}

Phazz писал(а):
16.10.2019{, 13:52}
на смартфоне выглядит как в редакторе
:D а как в редакторе ? :smile427: тут ведь мы идём от обратного (сначала надо залить) а модуля такого у меня пока нет! и проекта ремоте тоже. :D
ладно,попробую в ESP8266-01

aidar_i
Полковник
Сообщения: 3125
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 676
Откуда: Уфа
Имя: Айдар
Контактная информация:

ESP8266. WiFiManager и RemoteXY

#10

Сообщение aidar_i » 16.10.2019{, 15:36}

belyx писал(а):
16.10.2019{, 10:57}
или проект заливается в вемос и всё (без всякого второго модуля)
Да. Делайте на ESP-01.

Аватара пользователя
pipapsix
Лейтенант
Сообщения: 436
Зарегистрирован: 25.10.2016{, 21:26}
Репутация: 15
Откуда: Волгоградская обл.
Имя: СашкаСаняАлександр

ESP8266. WiFiManager и RemoteXY

#11

Сообщение pipapsix » 21.01.2021{, 15:28}

Добрый день.
А как быть со связкой ESP 32 и RemoteXY , этот пример не компилится.

aidar_i
Полковник
Сообщения: 3125
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 676
Откуда: Уфа
Имя: Айдар
Контактная информация:

ESP8266. WiFiManager и RemoteXY

#12

Сообщение aidar_i » 21.01.2021{, 21:47}

pipapsix писал(а):
21.01.2021{, 15:28}
Добрый день.
А как быть со связкой ESP 32 и RemoteXY , этот пример не компилится.
Для начала нужно библиотеки поменять для есп32 wifi и webserver.
Заменить сброс есп на ESP.restart()
Первая строка #define REMOTEXY_MODE__ESP32CORE_WIFI_CLOUD

Аватара пользователя
Sevast
Сержант
Сообщения: 145
Зарегистрирован: 21.06.2017{, 15:57}
Репутация: 5

ESP8266. WiFiManager и RemoteXY

#13

Сообщение Sevast » 15.04.2021{, 12:05}

Не запоминает ESP8266 логин и пароль. После перезагрузки надо опять регистрироваться в сети. В чем может быть проблема?

Аватара пользователя
SergeyShikal
Лейтенант
Сообщения: 576
Зарегистрирован: 30.08.2018{, 17:15}
Репутация: 47
Откуда: Иркутская область
Имя: Сергей

ESP8266. WiFiManager и RemoteXY

#14

Сообщение SergeyShikal » 15.04.2021{, 13:57}

Sevast писал(а):
15.04.2021{, 12:05}
Не запоминает ESP8266 логин и пароль. После перезагрузки надо опять регистрироваться в сети. В чем может быть проблема?
Попробуйте в другом браузере.

Аватара пользователя
Sevast
Сержант
Сообщения: 145
Зарегистрирован: 21.06.2017{, 15:57}
Репутация: 5

ESP8266. WiFiManager и RemoteXY

#15

Сообщение Sevast » 15.04.2021{, 14:11}

SergeyShikal писал(а):
15.04.2021{, 13:57}
Попробуйте в другом браузере.
Не помогает. Уже все блоки испробовал, результат один, откл питания и ESP надо по новой регистрировать.

Ответить

Вернуться в «Коммуникация и связь»