Страница 1 из 1
Blynk вешает код при загрузке без WiFi
Добавлено: 24 авг 2021, 11:45
Coolboy
Добрый день.
Использую Blynk, наблюдаю зацикливание на подключении к сервису blynk при отсутствии WiFi.
Переподключение, если был подключен, происходит отлично.
Гуру, помогите

Устроило бы, повторение попыток раз в 5 мин, главное чтоб основная программа не висла.
Вот код:
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
extern "C" {
#include "user_interface.h";
}
#define BLYNK_PRINT_91371725_1 Serial
char auth_91371725_1[] = "555";
char ssid_91371725_1[] = "555";
char pass_91371725_1[] = "555";
void setup()
{
Serial.begin(115200);
Blynk.begin(auth_91371725_1, ssid_91371725_1, pass_91371725_1);
}
void loop()
{
//Плата:1
Blynk.run();
}
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));}
}
Blynk вешает код при загрузке без WiFi
Добавлено: 24 авг 2021, 12:50
starshoy81
[ref]Coolboy[/ref], У вас в библиотеке, скорее всего, условие выполнения после подключения, поэтому и висит.
Blynk вешает код при загрузке без WiFi
Добавлено: 24 авг 2021, 18:30
edyapd
[ref]Coolboy[/ref], а почему бы сперва не проверить состояние WiFi, а только потом, по условию, запускать Blynk?
Кстати, чтобы не выкладывать вот такие портянки на экран, а то и два, можно пользоваться специальными BBCode
изображение_2021-08-24_222619.png
Blynk вешает код при загрузке без WiFi
Добавлено: 24 авг 2021, 18:33
Coolboy
Прошу прощения за портянки, научусь со временем.
С готовым блоком в flprog помочь можете?
Blynk вешает код при загрузке без WiFi
Добавлено: 25 авг 2021, 09:25
Coolboy
Ура! Задача решена. Выкладываю блок подключения к BLYNK, который не весит программу при отсутствии WiFi.
Смысл изменений, касается в SetupSection: (меняем все там на это)
Serial.begin(115200);
WiFi.begin(ssid, pass);
Blynk.config(auth);
Blynk.connect();
P.S. Уважаемые профессионалы, оцените работоспособность, возможно есть подводные камни, которые я в силу своего ламерства не вижу.
New_Blynk_ESP_BASE_(CODE).ubi
Blynk вешает код при загрузке без WiFi
Добавлено: 25 авг 2021, 11:38
Anydy
Что то не совсем понятно - в секции Сетап код выполняется только один раз при старте МК
Далее циклически крутится только секция Loop ...ну вот отрубилась связь с ВиФи - без перезагрузки МК как она восстановится? Тут думаю нужно в Loop делать проверку соединения с сетью например раз в минуту....и если нет коннекта то поднимать его....
If() else ....это куда копать...
Blynk вешает код при загрузке без WiFi
Добавлено: 19 ноя 2021, 23:19
Pelletizer
Coolboy писал(а): 25 авг 2021, 09:25
Ура! Задача решена. Выкладываю блок подключения к BLYNK, который не весит программу при отсутствии WiFi.
Смысл изменений, касается в SetupSection: (меняем все там на это)
Serial.begin(115200);
WiFi.begin(ssid, pass);
Blynk.config(auth);
Blynk.connect();
P.S. Уважаемые профессионалы, оцените работоспособность, возможно есть подводные камни, которые я в силу своего ламерства не вижу.
New_Blynk_ESP_BASE_(CODE).ubi
Проверил, у меня не работает. Задачу так решить не смог, пробовал решить через костыли, а именно через блок получения мирового времени, но он к сожалению тоже не работает на ESP32
Blynk вешает код при загрузке без WiFi
Добавлено: 19 ноя 2021, 23:28
Coolboy

Упс... Может ошиблись где!?
У меня пашет уже и не на одной поделке ;)
Честно.
Blynk вешает код при загрузке без WiFi
Добавлено: 19 ноя 2021, 23:50
Pelletizer
Coolboy писал(а): 19 ноя 2021, 23:28

Упс... Может ошиблись где!?
У меня пашет уже и не на одной поделке ;)
Честно.
Вот так работает
Отправлено спустя 1 минуту 55 секунд:
В loop должно быть так
Код: Выделить всё
if(Blynk.connected() == true){
Blynk.run();
}
, хотя бы.... буду еще мудрить реконект
Blynk вешает код при загрузке без WiFi
Добавлено: 20 ноя 2021, 03:41
Anydy
Pelletizer писал(а): 19 ноя 2021, 23:50
В loop должно быть так
if(Blynk.connected() == true){
Blynk.run();
}
В коде так скорее всего верно! только добавить else
Отправлено спустя 16 минут 32 секунды:
По русски --
если блинк соединение установлено
запускаем сервис блинк
если соединение не установлено --- устанавливаем снова
в двух словах как то так
Blynk вешает код при загрузке без WiFi
Добавлено: 20 ноя 2021, 07:13
Pelletizer
Anydy писал(а): 20 ноя 2021, 03:41
Pelletizer писал(а): 19 ноя 2021, 23:50
В loop должно быть так
if(Blynk.connected() == true){
Blynk.run();
}
В коде так скорее всего верно! только добавить else
Отправлено спустя 16 минут 32 секунды:
По русски --
если блинк соединение установлено
запускаем сервис блинк
если соединение не установлено --- устанавливаем снова
в двух словах как то так
Так то это понятно и я даже это пробовал, но в таком случае как раз начинает вешать основной код blynk connect если нет связи