Blynk вешает код при загрузке без WiFi

Ответить
Coolboy
Рядовой
Сообщения: 4
Зарегистрирован: 18.10.2020{, 22:00}
Репутация: 0
Имя: Александр

Blynk вешает код при загрузке без WiFi

#1

Сообщение Coolboy » 24.08.2021{, 11:45}

Добрый день.
Использую Blynk, наблюдаю зацикливание на подключении к сервису blynk при отсутствии WiFi.

Переподключение, если был подключен, происходит отлично.

Гуру, помогите :smile453: Устроило бы, повторение попыток раз в 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));}
}

starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05.04.2016{, 23:30}
Репутация: 29
Откуда: Санкт-Петербург
Имя: Илья

Blynk вешает код при загрузке без WiFi

#2

Сообщение starshoy81 » 24.08.2021{, 12:50}

Coolboy, У вас в библиотеке, скорее всего, условие выполнения после подключения, поэтому и висит.

edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

Blynk вешает код при загрузке без WiFi

#3

Сообщение edyapd » 24.08.2021{, 18:30}

Coolboy, а почему бы сперва не проверить состояние WiFi, а только потом, по условию, запускать Blynk?

Кстати, чтобы не выкладывать вот такие портянки на экран, а то и два, можно пользоваться специальными BBCode
изображение_2021-08-24_222619.png
изображение_2021-08-24_222619.png (10.89 КБ) 377 просмотров

Coolboy
Рядовой
Сообщения: 4
Зарегистрирован: 18.10.2020{, 22:00}
Репутация: 0
Имя: Александр

Blynk вешает код при загрузке без WiFi

#4

Сообщение Coolboy » 24.08.2021{, 18:33}

Прошу прощения за портянки, научусь со временем.
С готовым блоком в flprog помочь можете?

Coolboy
Рядовой
Сообщения: 4
Зарегистрирован: 18.10.2020{, 22:00}
Репутация: 0
Имя: Александр

Blynk вешает код при загрузке без WiFi

#5

Сообщение Coolboy » 25.08.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
(9.87 КБ) 34 скачивания

Anydy

Blynk вешает код при загрузке без WiFi

#6

Сообщение Anydy » 25.08.2021{, 11:38}

Что то не совсем понятно - в секции Сетап код выполняется только один раз при старте МК
Далее циклически крутится только секция Loop ...ну вот отрубилась связь с ВиФи - без перезагрузки МК как она восстановится? Тут думаю нужно в Loop делать проверку соединения с сетью например раз в минуту....и если нет коннекта то поднимать его....
If() else ....это куда копать...

Pelletizer
Рядовой
Сообщения: 91
Зарегистрирован: 12.09.2019{, 07:10}
Репутация: 5
Имя: Дмитрий

Blynk вешает код при загрузке без WiFi

#7

Сообщение Pelletizer » 19.11.2021{, 23:19}

Coolboy писал(а):
25.08.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

Coolboy
Рядовой
Сообщения: 4
Зарегистрирован: 18.10.2020{, 22:00}
Репутация: 0
Имя: Александр

Blynk вешает код при загрузке без WiFi

#8

Сообщение Coolboy » 19.11.2021{, 23:28}

:shok: Упс... Может ошиблись где!?
У меня пашет уже и не на одной поделке ;)
Честно.

Pelletizer
Рядовой
Сообщения: 91
Зарегистрирован: 12.09.2019{, 07:10}
Репутация: 5
Имя: Дмитрий

Blynk вешает код при загрузке без WiFi

#9

Сообщение Pelletizer » 19.11.2021{, 23:49}

Coolboy писал(а):
19.11.2021{, 23:28}
:shok: Упс... Может ошиблись где!?
У меня пашет уже и не на одной поделке ;)
Честно.
Вот так работает

Отправлено спустя 1 минуту 55 секунд:
В loop должно быть так

Код: Выделить всё

if(Blynk.connected() == true){
    Blynk.run();
  }
, хотя бы.... буду еще мудрить реконект
Вложения
Blynk ESP32 рабочий.ubi
(4.42 МБ) 30 скачиваний

Anydy

Blynk вешает код при загрузке без WiFi

#10

Сообщение Anydy » 20.11.2021{, 03:24}

Pelletizer писал(а):
19.11.2021{, 23:50}
В loop должно быть так
if(Blynk.connected() == true){
Blynk.run();
}
В коде так скорее всего верно! только добавить else

Отправлено спустя 16 минут 32 секунды:
По русски --
если блинк соединение установлено
запускаем сервис блинк
если соединение не установлено --- устанавливаем снова
в двух словах как то так

Pelletizer
Рядовой
Сообщения: 91
Зарегистрирован: 12.09.2019{, 07:10}
Репутация: 5
Имя: Дмитрий

Blynk вешает код при загрузке без WiFi

#11

Сообщение Pelletizer » 20.11.2021{, 07:13}

Anydy писал(а):
20.11.2021{, 03:41}
Pelletizer писал(а):
19.11.2021{, 23:50}
В loop должно быть так
if(Blynk.connected() == true){
Blynk.run();
}
В коде так скорее всего верно! только добавить else

Отправлено спустя 16 минут 32 секунды:
По русски --
если блинк соединение установлено
запускаем сервис блинк
если соединение не установлено --- устанавливаем снова
в двух словах как то так
Так то это понятно и я даже это пробовал, но в таком случае как раз начинает вешать основной код blynk connect если нет связи

Ответить

Вернуться в «Помогите, а то я "нимагу"»