BLYNK, при изменении программы нет соединения
- Войдите на сайт для отправки комментариев
Здравствуйте, уважаемые гуру Arduino.
Есть Arduino UNO с внешним модулем ESP8266 (ESP-01 с платой согласования уровней).
Решил попробовать свои силы в BLYNKе, скачал скетч, изменил в соответствии с инструкцией - работает.
Вот сам скетч:
#define BLYNK_PRINT Serial
// Подключение библиотек
#include
#include
#include // Библиотека програмной реализации обмена по UART-протоколу
// 8 - RX, 9 - TX, соответствует обозначениям на адаптере питания и сигналов модуля ESP-01
SoftwareSerial EspSerial(9, 8); // RX, TX
char auth[] = "******************"; // Идентификатор
char ssid[] = "**************"; // Точка доступа
char pass[] = "**************"; // Пароль
#define ESP8266_BAUD 9600 // Задаём скорость подключения модуля ESP8266(ESP-01) 9600 бод
ESP8266 wifi(&EspSerial);
WidgetLED led1(V1);
BlynkTimer timer;
bool ledStatus = false;
#define BLYNK_GREEN "#23C48E"
#define BLYNK_BLUE "#04C0F8"
#define BLYNK_YELLOW "#ED9D00"
#define BLYNK_RED "#D3435C"
#define BLYNK_DARK_BLUE "#5F7CD8"
void setup()
{
Serial.begin(9600); // Подключаем последовательный порт со скоростью 9600
delay(10); // Задержка 10 mS
EspSerial.begin(ESP8266_BAUD); // Подключаем модуль ESP8266(ESP-01) на заданной скорости
delay(10); // Задержка 10 mS
Blynk.begin(auth, wifi, ssid, pass); // Соединяемся с BLYNK
// Turn LED on, so colors are visible
led1.on();
// Setup periodic color change
timer.setInterval(1000L, blinkLedWidget);
}
void loop()
{
Blynk.run();
timer.run();
}
void blinkLedWidget()
{
if (ledStatus)
{
led1.setColor(BLYNK_RED);
Serial.println("LED on V1: red");
ledStatus = false;
}
else
{
led1.setColor(BLYNK_GREEN);
Serial.println("LED on V1: green");
ledStatus = true;
}
}
Решил немного модифицировать, чтобы менялись цвета светодиода, вроде ничего сложного.
#define BLYNK_PRINT Serial
// Подключение библиотек
#include
#include
#include // Библиотека програмной реализации обмена по UART-протоколу
// 8 - RX, 9 - TX, соответствует обозначениям на адаптере питания и сигналов модуля ESP-01
SoftwareSerial EspSerial(9, 8); // RX, TX
char auth[] = "******************"; // Идентификатор
char ssid[] = "**************"; // Точка доступа
char pass[] = "**************"; // Пароль
#define ESP8266_BAUD 9600 // Задаём скорость подключения модуля ESP8266(ESP-01) 9600 бод
ESP8266 wifi(&EspSerial);
WidgetLED led1(V1);
BlynkTimer timer;
//bool ledStatus = false;
int LED_Cnt = 0;
#define BLYNK_GREEN "#23C48E"
#define BLYNK_BLUE "#04C0F8"
#define BLYNK_YELLOW "#ED9D00"
#define BLYNK_RED "#D3435C"
#define BLYNK_DARK_BLUE "#5F7CD8"
void setup()
{
Serial.begin(9600); // Подключаем последовательный порт со скоростью 9600
delay(10); // Задержка 10 mS
EspSerial.begin(ESP8266_BAUD); // Подключаем модуль ESP8266(ESP-01) на заданной скорости
delay(10); // Задержка 10 mS
Blynk.begin(auth, wifi, ssid, pass); // Соединяемся с BLYNK
// Turn LED on, so colors are visible
led1.on();
// Setup periodic color change
timer.setInterval(1000L, blinkLedWidget);
}
void loop()
{
Blynk.run();
timer.run();
}
void blinkLedWidget()
{
if (LED_Cnt=1)
{
led1.setColor(BLYNK_RED);
Serial.println("LED on V1: КРАСНЫЙ");
}
if (LED_Cnt=2)
{
led1.setColor(BLYNK_BLUE);
Serial.println("LED on V1: ГОЛУБОЙ");
}
if (LED_Cnt=3)
{
led1.setColor(BLYNK_YELLOW);
Serial.println("LED on V1: ЖЁЛТЫЙ");
}
if (LED_Cnt=4)
{
led1.setColor(BLYNK_GREEN);
Serial.println("LED on V1: ЗЕЛЁНЫЙ");
}
if (LED_Cnt=5)
{
led1.setColor(BLYNK_DARK_BLUE);
Serial.println("LED on V1: СИНИЙ");
LED_Cnt=0;
}
LED_Cnt=LED_Cnt+1;
}
Закомментировал булеву переменную и организовал простейший счётчик. На смартфоне постоянно выдаёт:
NewDevice
Offline Since время и дата
Внизу экрана появляются по очереди 2 надписи:
New Device connected
и
New Device disconnected
Соответственно и светодиод цвет не меняет...
Сам проект на смартфоне не менял, пробный вариант с одним светодиодом.
Пробовал выходить из BLYNK на смартфоне, не помогает.
Если кто-то сталкивался с подобной ситуацией, подскажите, в чём может быть дело?
Неужели каждый раз нужно создавать новый проект?
Как эту хрень читать?
Здравствуйте, уважаемые гуру Arduino.
ИЗВИНТЕ, ПРИ СОЗДАНИИ ТЕМЫ СТО-ТО ПОШЛО НЕ ТАК, ПОЭТОМУ ПОВТОРЯЮ.
Есть Arduino UNO с внешним модулем ESP8266 (ESP-01 с платой согласования уровней).
Решил попробовать свои силы в BLYNKе, скачал скетч, изменил в соответствии с инструкцией - работает.
Вот сам скетч:
Решил немного модифицировать, чтобы менялись цвета светодиода, вроде ничего сложного.
Закомментировал булеву переменную и организовал простейший счётчик. На смартфоне постоянно выдаёт:
NewDevice
Offline Since время и дата
Внизу экрана появляются по очереди 2 надписи:
New Device connected
и
New Device disconnected
Соответственно и светодиод цвет не меняет...
Сам проект на смартфоне не менял, пробный вариант с одним светодиодом.
Пробовал выходить из BLYNK на смартфоне, не помогает.
Если кто-то сталкивался с подобной ситуацией, подскажите, в чём может быть дело?
Неужели каждый раз нужно создавать новый проект?
Да, забыл уточнить: при возврате к первоначальному скетчу всё работает штатно.
А ESP что в монитор порта пишет?
Судя по симптомам - ЕСПшка ребутится от вашего "автомата"
Закомментировал булеву переменную и организовал простейший счётчик
неправильно организовали.
почитайте какой-нить учебник на тему оператора сравнения в Си. Может тогда найдете кучу ошибок в этом коде:
неправильно организовали.
Точно...
Да, косякнул, поставил "=" вместо "==" в операторах сравнения. Виноват.
Вот ответ, уже после исправления:
[19]
Offline Since время и дата
Внизу экрана появляются по очереди 2 надписи:
New Device connected
и
New Device disconnected
А если заправить этот код непосредственно в ЕСП (вообще без ардуины) что получится?
Если честно, то ХЗ, что получится.
Ведь изначальный скетч работает, там где переключение 2-х цветов, а где переключение 5-ти цветов уже не хочет...
Если загрузить старый вариант, то всё работает. И отвечает.
Homo Faber, исправленный код покажите
Homo Faber, исправленный код покажите
Уточните какой?
Хотя обнаружил интересный нюанс: ограничил переключение 3-мя цветами и заработало, но как только вводишь 4-й цвет, то всё, работать перестаёт.
Вот ответ:
этот самый код выложите ПОЛНОСТЬЮ
Пожалуйста. Только в установках таймера поставил 2000 mS.
И снова ответ:
Homo Faber - пипец какой-то...
Вы с чем сюда пришли? - выяснить почему у вас код виснет? так зачем вы мне выкладываете код, который работает?
Все. ладно. проехали. можете больше не выкладывать
Homo Faber - пипец какой-то...
Вы с чем сюда пришли? - выяснить почему у вас код виснет? так зачем вы мне выкладываете код, который работает?
Все. ладно. проехали. можете больше не выкладывать
Я вроде бы объяснил, что код работает, если 3 (ТРИ) цвета заложены в изменении цвета светодиода, а если 4 и более, тогда и возникает проблема.
А скетч, который не работает, я выложил выше, если есть желание - можно посмотреть...
Homo Faber - пипец какой-то...
Вы с чем сюда пришли? - выяснить почему у вас код виснет? так зачем вы мне выкладываете код, который работает?
Все. ладно. проехали. можете больше не выкладывать
Я вроде бы объяснил, что код работает, если 3 (ТРИ) цвета заложены в изменении цвета светодиода, а если 4 и более, тогда и возникает проблема.
А скетч, который не работает, я выложил выше, если есть желание - можно посмотреть...
Вы код который не работает выложили, вам ошибку показали. потом вы выложили кусок кода исправленного, вас попросили исправленный (НЕ РАБОЧИЙ) код целиком! переключатся между сообщениями и собирать ваш работающий/не работающий код по кусочкам удовольствие сомнительное.
Вот весь неработающий код:
Работает только при 3-х цвета, если 4 или 5, то вот что получается:
[19]
В случае четырех цветов в коде рвать коннект? Ну да, есть такое. Защита от ЛГБТ от украинских натуралов )))
У вас тут до blinkLedWidget даже дело не доходит.
Код из #8 вы не проверили
"Защита ЛБГТ от украинских натуралов" - это таки да!
Но шутки шутками, а какое-то ограничение похоже есть.
Следующий этап - переключение цветов по кнопке. И опять таки 3 цвета работает, а 4 или 5 нет.
Вот неработающий код:
А вот его ответ:
И его ответ:
Ясно, я думал у вас "взрослый" esp8266. Идея заключалась в исключении из цепочки возможных косячных мест как раз этого сочленения по СофтСериал. Если на голой ЕСП это не будет работать нормально, значит косяк в реализации vidgetLed. Понимаете, у вас может не работать какой-то виджет, но чтобы при этом происходили отвалы связи с сервером...
Всё дело в том, что в ESP8266 портов маловато для моих целей. Я тут переговорил со знающими людьми, тоже "больными" Arduino, так вот, кто пробовал BLYNK, все говорят про этот косячок. Было высказано предположение, что это сделано специально, дабы ограничить цветовую гамму на один светодиод.
Всё дело в том, что в ESP8266 портов маловато для моих целей. Я тут переговорил со знающими людьми, тоже "больными" Arduino, так вот, кто пробовал BLYNK, все говорят про этот косячок. Было высказано предположение, что это сделано специально, дабы ограничить цветовую гамму на один светодиод.
да что вы говорите :)
как же оно распознает. что в программе у вас задано 4 цвета, а не три? тут нейросети нужны :)
имхо, по-моему это полная ерунда
Возможно и ерунда, но какое-то ограничение есть? Или его нет?
Хотя это уже наверное и неважно. Но таки интересно...
какое-то ограничение есть? Или его нет?
Хотя это уже наверное и неважно. Но таки интересно...
Очень даже может быть, что какое-то ограничение есть. Но скорее всего, никакого нет. И вы об этом никогда не узнаете, потому что это уже не важно, а никому кроме вас это вообще не интересно
Очень даже может быть, что какое-то ограничение есть.
может быть и есть. но очевидно не такое, как формулирует ТС. "Ограничить число цветов светодиода" - это смешно :)
может быть ограничение на размер процедуры... или на длительность ее выполнения... Грамотный человек провел бы тесты и разобрался, переписал бы код по другому, убрал-добавил в процедуру разные операторы...
Хотя конечно, предполагать, что создатели Блинк ненавидят цветовое разнообразие - это проще :)
может быть и есть. но очевидно не такое, как формулирует ТС. "Ограничить число цветов светодиода" - это смешно :)
Да нет там никаких ограничений. (если только это не украинские санкции персонально к ТСу))). Глюки попадаются изредка. Судя по симптомам, глюки с транспортом, но ТС не хочет проверять. У меня на чистой ЕСП32 никаких подобных "ограничений" не наблюдалось за 2 года. Жаль не узнаем правду))
Переломил свою лень через колено. На ЕСП32 все офигенно работает. Любые оттенки из примерно 16,7 млн можно выводить в любом количестве с любой (если на локальном сервере) скоростью. Что то у ТС не то с чем-то...
Ну, оттенки я тоже могу выводить, уже попробовал, но если Вы обратили внимание, то проблемы начинаются, если больше 3-х переключений цвета.
Вот тот кусочек скетча, в котором у меня возникла проблема:
Если сократить до 3-х цветов всё работает нормально.
Сколько вы это будете повторять? Говорю вам, все работает на любом количестве цветов.
Попутный, хотя и несколько не в тему, вопрос.
ESP-01 примерно раз 45 секунд моргает синим светодиодом приёма-передачи при отсутствии событий для передачи или приёма. Это нормально?
А почему бы ей не и не мигать? Дана команда - она мигает.
Команды от программы нет, но раз в 45 секунд мигает. Может какя-то библиотека и даёт команду?
Переломил свою лень через колено.
я свою из под развесистого карагача выгнать не могу )))
я свою из под развесистого карагача выгнать не могу )))
Если честно, просто самому любопытно стало. У меня все виджетЛеды работают в режиме включено/выключено, без всей этой цветовой бутафории. Тупо сигнализируют о состоянии. Хотелось на цветомузыку посмотреть))
я свою из под развесистого карагача выгнать не могу )))
Если честно, просто самому любопытно стало. У меня все виджетЛеды работают в режиме включено/выключено, без всей этой цветовой бутафории. Тупо сигнализируют о состоянии. Хотелось на цветомузыку посмотреть))
Чисто попробовать. Я только начинаю изучать BLYNK, хочется попробовать и то, и то, и даже это... ;)
Вот сейчас решил попробовать Blynk.notify и снова огорчение: никаких уведомлений не получается получить. Хотя цвета меняются.
Вот видоизменённый кусок кода:
Может кто поможет, почему нет уведомлений, а?
Вроде посмотрел примеры и описание, но похоже чего-то не догоняю...
Вроде посмотрел примеры и описание, но похоже чего-то не догоняю...
Похоже. Но вам уже не помочь. Вам хочется попробовать, но пробовать вам лень. Продолжайте искать "примеры". Или забейте, вам же это не нужно
Ответ в этой теме вами получен, но никто не может заставить вас его услышать/прочитать
UPD: Еще вариант: искать поддержки у единомышленников по теории заговора. Скрытые ограничения - они такие скрытые!
Вроде посмотрел примеры и описание, но похоже чего-то не догоняю...
Похоже. Но вам уже не помочь. Вам хочется попробовать, но пробовать вам лень. Продолжайте искать "примеры". Или забейте, вам же это не нужно
Ответ в этой теме вами получен, но никто не может заставить вас его услышать/прочитать
UPD: Еще вариант: искать поддержки у единомышленников по теории заговора. Скрытые ограничения - они такие скрытые!
Вообще-то я спрашивал уже про уведомления, а Вы мне всё продолжаете писать про ограничения...
Всё, оповещения заработали! Сменил BETA библиотеку и ФСЁ!!!
Спасибо всем откликнувшимся!