ESP8266. WiFiManager и RemoteXY

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

ESP8266. WiFiManager и RemoteXY

Сообщение aidar_i »

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

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

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

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

#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);
}[/spoiler]

Отправлено спустя 45 минут 2 секунды:
Не забудьте поставить свой токен. Пока можете проверить на этом.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось aidar_i 04 июн 2020, 10:53, всего редактировалось 1 раз.
Аватара пользователя
Phazz
Полковник
Сообщения: 3169
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 240 раз
Поблагодарили: 128 раз

ESP8266. WiFiManager и RemoteXY

Сообщение Phazz »

А почему для изменения пароля нужно прошивать ЕСП, есть и другие штатные способы изменения пароля.
aidar_i
Полковник
Сообщения: 3360
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 14 раз
Поблагодарили: 100 раз
Контактная информация:

ESP8266. WiFiManager и RemoteXY

Сообщение aidar_i »

Потому что они в Remote XY задаются #define, и RemoteXY_Init () тоже #define.
Поделитесь , как ещё можно. Я не программист.
Brand2
Лейтенант
Сообщения: 450
Зарегистрирован: 26 фев 2018, 21:27
Откуда: Haifa
Имя: Alex
Благодарил (а): 2 раза
Поблагодарили: 5 раз

ESP8266. WiFiManager и RemoteXY

Сообщение Brand2 »

Очень нужные блоки,позволяет делать устройства с приложением REMOTEXY не только для себя,зная заранее данные сети,но и для других,а так же в случае смены сети,роутера и тд.
Автору большое спасибо!!!
Аватара пользователя
belyx
Сержант
Сообщения: 251
Зарегистрирован: 24 июл 2016, 20:38
Откуда: Витебск Беларусь
Благодарил (а): 7 раз

ESP8266. WiFiManager и RemoteXY

Сообщение belyx »

[ref]aidar_i[/ref], а с бесплатной версией RemoteXY будет это работать?
aidar_i
Полковник
Сообщения: 3360
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 14 раз
Поблагодарили: 100 раз
Контактная информация:

ESP8266. WiFiManager и RemoteXY

Сообщение aidar_i »

Да, будет.
Аватара пользователя
belyx
Сержант
Сообщения: 251
Зарегистрирован: 24 июл 2016, 20:38
Откуда: Витебск Беларусь
Благодарил (а): 7 раз

ESP8266. WiFiManager и RemoteXY

Сообщение belyx »

Правильно ли я понял,что используется 2 модуля:
1-1 модуль - для работы с RemoteXY модуль ESP8266 должен иметь версию прошивки с поддержкой AT команд не ниже v0.40.
2-2 модуль - в вашем проекте модуль wemos d1 mini,в который и заливается скетч проекта
3- Связаны они по уарту
4-1 модуль типа ESP8266 -07 или -12 (модуль типа ESP8266 -01 не выбирается в настройках)
[spoiler]
вопросы.jpg
[/spoiler]
или проект заливается в вемос и всё (без всякого второго модуля) :smile37:
и хотелось бы посмотреть скрин картинки на смартфоне.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Phazz
Полковник
Сообщения: 3169
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 240 раз
Поблагодарили: 128 раз

ESP8266. WiFiManager и RemoteXY

Сообщение Phazz »

belyx писал(а): 16 окт 2019, 10:57 или проект заливается в вемос и всё (без всякого второго модуля)
на смартфоне выглядит как в редакторе
Аватара пользователя
belyx
Сержант
Сообщения: 251
Зарегистрирован: 24 июл 2016, 20:38
Откуда: Витебск Беларусь
Благодарил (а): 7 раз

ESP8266. WiFiManager и RemoteXY

Сообщение belyx »

Phazz писал(а): 16 окт 2019, 13:52 на смартфоне выглядит как в редакторе
:D а как в редакторе ? :smile427: тут ведь мы идём от обратного (сначала надо залить) а модуля такого у меня пока нет! и проекта ремоте тоже. :D
ладно,попробую в ESP8266-01
aidar_i
Полковник
Сообщения: 3360
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 14 раз
Поблагодарили: 100 раз
Контактная информация:

ESP8266. WiFiManager и RemoteXY

Сообщение aidar_i »

belyx писал(а): 16 окт 2019, 10:57 или проект заливается в вемос и всё (без всякого второго модуля)
Да. Делайте на ESP-01.
pipapsix
Лейтенант
Сообщения: 438
Зарегистрирован: 25 окт 2016, 21:26
Откуда: Волгоградская обл.
Имя: СашкаСаняАлександр
Благодарил (а): 1 раз
Поблагодарили: 4 раза

ESP8266. WiFiManager и RemoteXY

Сообщение pipapsix »

Добрый день.
А как быть со связкой ESP 32 и RemoteXY , этот пример не компилится.
aidar_i
Полковник
Сообщения: 3360
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 14 раз
Поблагодарили: 100 раз
Контактная информация:

ESP8266. WiFiManager и RemoteXY

Сообщение aidar_i »

pipapsix писал(а): 21 янв 2021, 15:28 Добрый день.
А как быть со связкой ESP 32 и RemoteXY , этот пример не компилится.
Для начала нужно библиотеки поменять для есп32 wifi и webserver.
Заменить сброс есп на ESP.restart()
Первая строка #define REMOTEXY_MODE__ESP32CORE_WIFI_CLOUD
Аватара пользователя
Sevast
Сержант
Сообщения: 153
Зарегистрирован: 21 июн 2017, 15:57

ESP8266. WiFiManager и RemoteXY

Сообщение Sevast »

Не запоминает ESP8266 логин и пароль. После перезагрузки надо опять регистрироваться в сети. В чем может быть проблема?
Аватара пользователя
SergeyShikal
Лейтенант
Сообщения: 593
Зарегистрирован: 30 авг 2018, 17:15
Откуда: Иркутская область
Имя: Сергей
Благодарил (а): 2 раза
Поблагодарили: 1 раз

ESP8266. WiFiManager и RemoteXY

Сообщение SergeyShikal »

Sevast писал(а): 15 апр 2021, 12:05 Не запоминает ESP8266 логин и пароль. После перезагрузки надо опять регистрироваться в сети. В чем может быть проблема?
Попробуйте в другом браузере.
Аватара пользователя
Sevast
Сержант
Сообщения: 153
Зарегистрирован: 21 июн 2017, 15:57

ESP8266. WiFiManager и RemoteXY

Сообщение Sevast »

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

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость