Проблема такая: есть ESP-01, я ее прошил на версию 0.22 как надо крч все вроде. пины подтянул какие надо к 3.3В. Питание стабильное от отдельного преобразователя. Если через адаптер COM порта то модуль опрашивается все ок. Если пытаюсь к меге подцепить залив такой скетч который ниже. То пишите дуня следующиее:
[199] Blynk v0.3.5-beta
[700] Connecting to ssid
[10733] Failed to connect WiFi
или так
[199] Blynk v0.3.5-beta
[700] Connecting to ssid
[1710] Failed to disable Echo
Не могу понять в чем беда. Так как параметры все мои и ключ от блинка тоже мой. У кого то были такие проблемы? скажите куда копать то((( Уже 3и дня сижу над ним ппц.
Я ее сказал вроде с вашего сайта((( Можете ссылку дать где качнуть последнию версию. И какие еще могут быть вариантов. А то я уже и заряды купил в блинк)) 0и тут такое дело))
Теперь поставил последнию версию блинка и теперь вообще не компилет( Пишет
C:\Users\Neprokin\Desktop\Arduino_WiFi\Arduino_WiFi.ino\Arduino_WiFi.ino.ino\Arduino_WiFi.ino.ino.ino:31:29: fatal error: ESP8266_HardSer.h: No such file or directory
#include <ESP8266_HardSer.h>
^
compilation terminated.
exit status 1
Ошибка компиляции для платы Arduino/Genuino Mega or Mega 2560.
Мне этот скетч не нужен у меня ESP 01 подключена к меге по средством сериала физического а не виртуального. Какой скетч. Вы видели что в примерах у вас скетч криовй там нет строки про пасс и логин роутера
Так он в билиотеке есть(( А как тогда мне указать скетчу что мой модуль подключен к Serial2? И вообще какой тогда мне скетч использовать в моем случии когда модуль подключен к Arduino по средством реального сериала но не 1го?
Так что вообще без вариантов? Т.е. я не смогу использовать ваш Blynk?((( Или там какой т оскетч все же предусмотрен? Просто в вашем релизе эти примеры есть. Поэтому я их и пробывал применить
сейчас работаем на шарингом борда, чтобы можна было в режиме рана отдать любому ваш проект.
Нужный сервис. Более того - представьте - разработчик даёт на форуме схему, плату, прошивку и ссылку/QR-код на свой проект на Blynk, включая своё вознаграждение (условные 100 руб)... Пользователь, покупая приложение, оплачивает ваши компоненты и пополняет счёт разработчика... Этим вы заинтересуете людей публиковать свои разработки и сопровождать их. Ну и привлечете клиентов.
сейчас работаем на шарингом борда, чтобы можна было в режиме рана отдать любому ваш проект.
Нужный сервис. Более того - представьте - разработчик даёт на форуме схему, плату, прошивку и ссылку/QR-код на свой проект на Blynk, включая своё вознаграждение (условные 100 руб)... Пользователь, покупая приложение, оплачивает ваши компоненты и пополняет счёт разработчика... Этим вы заинтересуете людей публиковать свои разработки и сопровождать их. Ну и привлечете клиентов.
Вы разработчик, у вас было предусмотрено это и вы это убрали чтоли? Вы как один из представителей скажите мне тогда, что использовать? Или надо всем заявить что Ваш Blynk не пашет с мегой! и все тут. Капец. Я же выше писал что у меня сетап с мегой у которой 4е сериал порта( У меня складывается впечатление, что в ваших бибилиотеках просто нет записи под мегу! Как тогда решать проблему будут разработчики? Я думаю я просто не единственный такой(((( Или скажите че использовать чтобы блинк подвязать Ваш. Или давайте всем сразу скажем, чтобы не покупали меги. Там столько примеров и даже в последнем релизе есть пример тип с работой с сериала. А вы говорите его нет((( Чет странно все.
Кстати везде где я не гуглил до этого форума. Везде пишут про фибилотеку и пример с HardSerial. Вот например http://www.instructables.com/id/Connecting-ESP8266-01-to-Arduino-UNOMEGA-and-BLYNK/ и таких куча. А вы говорите вы тупо убрали билиотеку, тип нафиг не надо((( А как же быть тем у кого проекты на меге и им надо к Arduino цеплять например и WiFI и Nextion и как у меня еще GSM они все по UART общаются. Вот только в вашем случии с библиотекой нельзя выставить порт ему. Может вы как разработчик сделаете что либо? вы то получше меня должны разбираться в этом во всем? Заранее спасибо. А туториалы я и сам искал и как сказал выше все через одно.
Поди вы читаете между строк)))) Вы вообще не в теме чтоль))) У вас обычный проект на обычной плате и подключение через Программный порт а не через физический, у меня такое тоже работало на нане и на уно. Но мне для проекта надо другое и Blynk не пашет в моем сетапе. Ясно? или почитайте пару постов выше
Подскажите в чем причина
Отваливается переодически инет
выводит раза 4-6 данные потом обрывается интернет, далее опять подключается и все повторяется по кругу
Что не так в скетче?
Ну думаю первое что надо сделать это проверить версию Blynk, а так же убрать все задержку из loop. Blynk этого не любит. Т.е. по возможности отказаться от задержек вместе с функцией Blynk.run(); И да какая плата какое ESP? И главное прошивка вашего ESP смотрели?
Плата Node MCU ESP 8266 По остальным устройствам с другими прошивками и работой 4-х датчиков температуры по Dallas Temp нет ни каких проблем. С этой прошивкой три контроллера выдают такую, же ошибку. Сбрасывается сеть WIFI и переподключается постоянно. Не держит. Не понятно.
Попробуйте задрежку убрать в 600 мск с цикла основного и проверьте последнию прошивку. Я сам с бубнами танцевал не раз с ESP разными. именно с блинком. Он же у вас от сети отключается. Как вы определяете что отключился модуль по приложению Blуnk или вы смотрите отчет библиотеки в сериал порт?
Два фактора отключения
В приложении blynk пишет, что обрыв связи, пропала связь с устройством, прекращается прием данных
По мониторингу порта - приостонавливается вывод данных, тормозит, потом через секунд 30 продолжается
А Вы подключите функцию библиотенки "Blynk serial" чтобы посмотреть, что библиотека дает по "заминке" вашей, если у вас отключена эта функция включите. Т.е. например блинк пишет что, ждите подключаюсь или обрыв там то или что имеено. Очень похоже на два варианта или билиотека с косяком или с питанием беда. Ровное количество времени проходит когда сбой происходит? например ровно 30 сек или время плавает? Вы пробывали убрать задержку в 600 мс?
Да нет это не библиотека. Это как бы функционал билиотеки блинк для вывода состаояния ее работы в сериал. Ну типа когда подключаешь эту функцию то библиотека выводит информацуию о подключении к роутеру и состояние работы в целом. У тебя она подключается в коде вроде
У тебя такая петрушка только с NodeMCU? Тут однозначно или питание не стабильное у нее на плате. Или скорее всего с библиотекой криво. Я всегда делаю так. Сначала заливаю обычную прошивку просто на подключение без всяких датчиков и т.д. если все работает то идешь дальше подключаешь уже датчики и дописываешь код. Датчики подключены к ней же? питание на датчики откуда взято?
питание на датчики с самой платы Arduino
Прошивка без датчиков отрабатывает
Как подключаю датчики - тогда
Если отдельно BME или DS18B20, то все ок. Как только два, то начинается пропуски. Как-то конфликтуют или конфликтует скетч? Уже стал грешить на Dallas Temperature, поменял, но все равно... Танцую с бубном
Крч я эти DS не люблю сам так как почему то они не на всех платах работают ровно. + думаю может питания не хватать раз говоришь что отдельно норм а вместе не тянет. ТОгда дело точно не в библиотеке. И еще вопрос у тебя как соединен ардуино с платой ESP? через программный сериал? Вообще BMP датчик сколкьо на него подаешь?)))) Знаеншь что он от 3.3. питаться должен? Иначе глюки бывают на пине у него в плоть до того как он перестает работать. МОжет быть такой вариант что, просто скетч и опрос датчиков DS глючит, чем их больше тем дольше он их читает. Я бы тебе предложил отказаться от них или еще лучше я бы сделал так. Датчики сделал бы на отдельной ардуино и пусть она их опрашивает и кидает в сериал просто данные а другая дуня с ESP принимает. так ты разгрузишь Blynk. Главное косяк блинка то, что он не любит задержки, если они есть он может вылетать у меня было такое один раз. И еще вариант попробуй библиотеку поставить другую на DS датчики
Да тут только так. Это когда 1 датчик так просто)) а когда 4е + еще давление тут надо пробывать. Но чет думаю если все они от дуни запитаны то это плохо. Она врядли их может потянуть. Лучше анчни с библиотеки на далас другой и с доп питания на датчики. Смотри сам если в пике он начинает просаживать дуню то самому МК может не хватать и он приглюкивает или может вообще перезагружается вот и связь пропадает. Ну я бы с этого попробывал бы. ПОсадил бы их на отдельное питание потом библиотеку другую на далас.
Столкнулся с проблемой подключеня к серверу. Уехал в отпуск, интернет через вайфай отеля. Пинги, видимо, огромные. Все работает кроме любимого блинка :(
Пишет "не могу подключиться. Проверь соединение или попробуй еще раз". Уже 2 дня безуспешно. Инет точно живет (пишу с этого же аппарата), хотя и очень плохо.
Обновился на v2.15.2 и вижу что баги совсем не исправили... То, что добавили новых фич молодцы конечно, но старые баги ведь тоже надо исправлять... Все касается Superchart: 1. При просмотре параметров цвет графика отображается в правильном градиенте, но цвет цифрового значения этого параметра отображается наоборот. 2. При выборе отображения графика за один день, при перемещении курсора не отображаются данные измеряемых параметров. 3. Еще с прошлой версии при перемещении курсора появились прочерки в месте отображения цифровых значений параметров. Такое ощущение, что значения пишутся через раз. Ссылка на видео: https://youtu.be/6jf-pUF_ZzQ
P.S. Сейчас вот только заметил, по пункту 2, если график развернуть в ландшафтный режим, то данные отображаются...
Подскажите, можно ли перед отправкой значения на виртуальный пин считать его текущее значение с сервера?
Для чего надо:
Железка накапливает некоторые значения и периодически отправляет его на сервер.
В случае отключения питания, значение начинает накапливаться заново, аппаратные средства сохранения не хочется задействовать, ведь есть уже переданное значение до отключения питания на сервере.
Только что сделали новый релиз с множеством багофиксов по суперчарту. Так же добавили возможность добавления X/Y осей. (как было в старом гарфе). Баги в графе должны быть пофикшены. Если нет - дайте знать пожалуйста.
@macros - можно. Вы нашли правильный пример. Только блинк асинхронный. Поэтому вы запаршиваете значение а потом в отдельном обработчике ждете ответ.
@v-a-y - сделали первый шаг в сторону фикса гео-днс проблемы. Еще месяц и пофиксим окончательно.
Скажите кто знает как проще всего реализовать передачу логических значений с приложения БЛИНК? ну по умолчанию приложение на виртуал пин кидает 1 или 0. Надо преобразовывать в false true. Или как то можно проще это сделать? У кого как реализовано. Заранее спасибо за ответы.
Ну а если виртуальные пины и на них надо как то передовать логику. Даже в компанентах нет передать логическое значние. 0 и 1 как бы и есть логика а я про логические переменные говорю в IDE) как лучше организовать прием и запись в такую переменную
Подскажите пожалуйста где в коде функции pzem_reset_on() ошибка.
Эта функция должна управлять светодиодом оптопары которая подключена параллельно кнопке сброса счетчика PZEM004.
Логика функции должна быть такая: Светодиод включился на 5 сек., отключился на время 400 мс, снова включился на 500мс. и выключился.
Как только запускается функция pzem_reset_on()
,т.е по наступлении заданного времени
контроллер уходит на перезагрузку.
Вот что выдает монитор:
[5001] Connecting to blynk-cloud.com:8442
[5141] Ready (ping: 1ms).
2017/10/24 23:0:59
2017/10/24 23:1:4
Soft WDT reset
ctx: cont
sp: 3fff0120 end: 3fff0340 offset: 01b0
>>>stack>>>
3fff02d0: bf800000 3ffeef20 3ffeeefc 40203d74
3fff02e0: bf800000 65653665 3ffeeecc 402029a6
3fff02f0: 00000001 6d517338 00000000 3ffef30c
3fff0300: 00000000 3ffeec58 3ffeec58 3ffef30c
3fff0310: 3fffdad0 00000000 3ffef304 4020401f
3fff0320: 3fffdad0 00000000 3ffef304 4020622c
3fff0330: feefeffe feefeffe 3ffef320 40100718
<<<stack<<<
Пробовал отключать WDT-таймер wdt_disable();
Все равно перезагружается, просто без вывода информации стека.
Но если функцию запустить в отдельном скетче, без кода для счетчика электроэнергии и прописать wdt_disable(), то она отрабатывает как надо. С "for" тоже работает, но счет идет только до 1366 и дальше заново.
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <WiFiUdp.h>
#include <ArduinoOTA.h> //OTA Библиотека для OTA-прошивки
#include <BlynkSimpleEsp8266.h>
#include <SimpleTimer.h>
#include <SoftwareSerial.h> // Arduino IDE <1.6.6
#include <PZEM004T.h>
#include <plcStandardLib_1.h>
#include <Wire.h> //I2C library
#include <RtcDS3231.h> //RTC library
boolean sw_on;
boolean sw_on_r_tr;
boolean out_r_tr;
boolean out_f_tr;
//boolean out_tp1;
R_TRIG R_TRIG1;
F_TRIG F_TRIG1;
int pzem_reset=16; //D0 - IO16 - сброс счетчика PZEM004
int power_max=0; //D3 - IO0 - Сигнализация "Высокая мощность"
int power_min=2; //D4 - IO2 - Сигнализация "Низкая мощность"
bool preOn;
unsigned long led1OnTime;
bool led1On;
unsigned long led2OnTime;
bool led2On;
unsigned long preOnTime;
int minute_time;
int var_comutator;
unsigned long previousMillis;
long interval;
char str[15];
bool on_off=false;
PZEM004T pzem(&Serial);
IPAddress ip(192, 168, 1, 1);
RtcDS3231<TwoWire> rtcObject(Wire); //Uncomment for version 2.0.0 of the rtc library
WidgetLCD lcd(V10);
SimpleTimer timer;
//SimpleTimer timer;
// This function sends Arduino's up time every second to Virtual Pin (5).
// In the app, Widget's reading frequency should be set to PUSH. This means
// that you define how often to send data to Blynk App.
//=========================================================================================
//Конфигурация//
void setup()
{
//=======Данные аутентификации
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "dfdfdfdfjhhhhhjhkjkkjkjkjkkj";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "M365";//const char* ssid = "M365";
char pass[] = "12345678";//const char* pass = "12345678";
/*RtcDateTime currentTime = RtcDateTime(17, 10, 24, 23, 04, 0); //define date and time object
rtcObject.SetDateTime(currentTime); //Для установки времени - раскоментируй*/
Blynk.begin(auth, ssid, pass);
pzem.setAddress(ip);
rtcObject.Begin();// запустить Wire Wire.begin(DS3231_SCL, DS3231_SDA);
Serial.begin(9600);// запуск коммуникационного порта
pinMode(pzem_reset, OUTPUT);//D0 сброс счетчика PZEM004
pinMode(power_max, OUTPUT); //D3 работает на "выход" - Сигнализация "Высокая мощность"
pinMode(power_min, OUTPUT);//D4 работает на "выход" - Сигнализация "Низкая мощность"
led1On = false;
led2On = false;
//lcd.clear(); //Use it to clear the LCD Widget
// Setup a function to be called every second
timer.setInterval(5000L, pzm);
//timer_rtc.setInterval(1000L, RTC);
//Установка времени в модуль DS3231//
RtcDateTime currentTime = RtcDateTime(17, 10, 24, 23, 00, 50); //define date and time object
rtcObject.SetDateTime(currentTime); //Для установки времени - раскоментируй*/
//ArduinoOTA.setHostname("ESP8266-00001"); //OTA Задаем имя сетевого порта
//ArduinoOTA.begin(); //OTA Инициализируем OTA
// Debug console
// You can also specify server:
//Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 8442);
//Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8442);
//************************
//ArduinoOTA.setPassword((const char *)"0000"); //OTA Задаем пароль доступа для удаленной прошивки
//***********************
}
//=========================================================================================
//Цикл//
void loop()
{
//ArduinoOTA.handle(); // OTA Всегда готовы к прошивке
Blynk.run();
//pzm();
timer.run(); // Initiates SimpleTimer
RTC(); //функция часов реального времени
start_for_pzem_reset_on(); //Формирует одиночный импульс и предотвращает повторную запись "1" в "var_comutator".
//Функция нужна для активации функции "pzem_reset_on()"
pzem_reset_on(); //Формирование временных интервалов для оптопары сброса счетчика PZEM004.
sw_on_p();//Сигнализация "Высокая мощность"
sw_off_p();//Сигнализация "Низкая мощность"
}
//=============================================================================================
//Функция часов реального времени//
void RTC()
{
RtcDateTime currentTime = rtcObject.GetDateTime(); //get the time from the RTC
//char str[15]; //declare a string as an array of chars
sprintf(str, "%d/%d/%d %d:%d:%d", //%d allows to print an integer to the string
currentTime.Year(), //get year method
currentTime.Month(), //get month method
currentTime.Day(), //get day method
currentTime.Hour(), //get hour method
minute_time = currentTime.Minute(), //get minute method
currentTime.Second() //get second method
);
Serial.print(str);
}
//==============================================================================================
//Функция обработки для PZEM004//
void pzm()
{
float v = pzem.voltage(ip);
if (v < 0.0) v = 0.0;
Blynk.virtualWrite(V1, v);
Serial.print(v); Serial.print("V; ");
float i = pzem.current(ip);
if (i >= 0.0) {
Blynk.virtualWrite(V2, i);
Serial.print(i); Serial.print("A; ");
}
float p = pzem.power(ip);
if (p >= 0.0) {
Blynk.virtualWrite(V3, p);
Serial.print(p); Serial.print("W; ");
if ( p >= 800.00) sw_on_r_tr = true; //Формирует управляющий сигнал для детектора фронта - R_TRIG.
if ( p < 800.00) sw_on_r_tr = false;
}
float e = pzem.energy(ip);
if (e >= 0.0) {
Blynk.virtualWrite(V4, e);
Serial.print(e); Serial.print("Wh; ");
}
Serial.println();
lcd.clear(); //Use it to clear the LCD Widget
lcd.print(0, 0, "U="); // use: (position X: 0-15, position Y: 0-1, "Message you want to print")
int vv = (int)v;
lcd.print(2, 0, vv); // use: (position X: 0-15, position Y: 0-1, "Message you want to print")
lcd.print(5, 0, "V"); // use: (position X: 0-15, position Y: 0-1, "Message you want to print")
lcd.print(8, 0, "I="); // use: (position X: 0-15, position Y: 0-1, "Message you want to print")
lcd.print(10, 0, i); // use: (position X: 0-15, position Y: 0-1, "Message you want to print")
lcd.print(14, 0, " A"); // use: (position X: 0-15, position Y: 0-1, "Message you want to print")
lcd.print(0, 1, "P="); // use: (position X: 0-15, position Y: 0-1, "Message you want to print")
int pp = (int)p;
lcd.print(2, 1, pp); // use: (position X: 0-15, position Y: 0-1, "Message you want to print")
lcd.print(6, 1, "W"); // use: (position X: 0-15, position Y: 0-1, "Message you want to print")
lcd.print(8, 1, "E="); // use: (position X: 0-15, position Y: 0-1, "Message you want to print")
//int ee=(int)e/1000;
lcd.print(10, 1, e / 1000); // use: (position X: 0-15, position Y: 0-1, "Message you want to print")
lcd.print(13, 1, "kWh"); // use: (position X: 0-15, position Y: 0-1, "Message you want to print")
}
//==========================================================================================
//Исполнительные устройства//
//Сигнализация "Высокая мощность"//
void sw_on_p()
{
if (sw_on_r_tr == true) {
preOnTime = millis();
if (millis() - preOnTime > 10) preOn = true;
digitalWrite(power_max, preOn);
led1On = true;
led1OnTime = millis(); //Записываю время включения светодиода
}
//if(led1On)
if (millis() - led1OnTime > 1000) preOn = false; {
digitalWrite(power_max, LOW);
led1On = false;
}
}
//====================================
//Сигнализация "Низкая мощность"//
void sw_off_p()
{
out_f_tr = F_TRIG1.Run(sw_on_r_tr);
if (out_f_tr == true) {
digitalWrite(power_min, out_f_tr);
led2On = true;
led2OnTime = millis(); //Записываю время включения светодиода
}
//if(led2On)
if (millis() - led2OnTime > 1000) {
digitalWrite(power_min, LOW);
led2On = false;
}
}
//====================================
//сброс счетчика //
// запуск pzem_reset_on()//
void start_for_pzem_reset_on()
{
out_r_tr = R_TRIG1.Run(minute_time=1);
if (out_r_tr==true)
{var_comutator=1;}
}
void pzem_reset_on()
{
switch (var_comutator)
{
case 1:
previousMillis = millis();
interval=5000; //интервал для нахождения светодиода во включенном состоянии
digitalWrite(pzem_reset, HIGH);
while (millis() - previousMillis < interval){ //вошли в цикл, проверяем не прошел ли нужный интервал.
if (millis() - previousMillis == interval) break;}
var_comutator=2;
digitalWrite(pzem_reset, LOW);
previousMillis = millis(); //сохраняю время последнего переключения светодиода
interval=300;
case 2:
while (millis() - previousMillis < interval){ //вошли в цикл, выход из него - когда выражение станет ложно.
if (millis() - previousMillis == interval) break;}
var_comutator=3;
digitalWrite(pzem_reset, HIGH);
previousMillis = millis();
interval=400;
case 3:
while (millis() - previousMillis < interval){
if (millis() - previousMillis == interval) break;}
var_comutator=0;
digitalWrite(pzem_reset, LOW);
//цикл работы закончен.
}}
//Альтернативный способ управления сбросом счетчика при помощи "for" - работает, но счет идет до 1366 и дальше заново.
/*
void pzem_reset_on()
{
for (int count = 0; count < 2000; count ++)
{if (count<700) digitalWrite(pzem_reset, HIGH);
{if (count>700) digitalWrite(pzem_reset, LOW);
{if (count>750) digitalWrite(pzem_reset, HIGH);
{if (count>850) digitalWrite(pzem_reset, LOW);
Serial.println(count);
}}}}}*/
Какие варианты лечения проблемы переполнения буфера при работе с Blynk? таймер? тогда как лучше его вставить. Если можно ссылки или пример лечения если у Вас есть. По умолчанию я работаю с 50ть переменными виртуальными. Спасибо
Вот интересный факт для пользователей Blynk. У меня щас была проблема с переполнением буфера при отправке и чтении данных с сервера. Ломал голову удалял все и делал с нуля даже на передачи 1 значения была трабла. Я обновил библиотеку и вроде все пропало. Переполнения пока нет, НО появилась еще беда. Теперь устроиство постоянно выкидывает в оффлайн и заметил что блинк пишет в сериал следующее:
[123636] Invalid HW cmd: 7
+IPD,1,98:b
[123758] Login timeout
[123992] Ready (ping: 12ms).
и так каждые там 10 секунд. В чем проблема кто знает? разработчики может подскажут что там нового такого сделали?
Так же вопрос к разработчикам билнк, пишет про переполнение буфера. из за чего это бывает (физически и программно)?
И как лучше работать с порядком 30-40 переменных виртуальных. У меня это все реализовано так (пример):
И так каждая вкладка сдеана т.е. у меня в void setup расписаны все чтения и записи, но когда добавляю синхронизацию то все крашит. переполнение буфера.
Такое ощущение что блинк не тянет больше количество виджетов. или я что то не знаю или упускаю? Направьте меня пожалуйста. А то вроде там покупай энергию и ставь виджеты сколько хочешь) Спасибо
Проблема такая: есть ESP-01, я ее прошил на версию 0.22 как надо крч все вроде. пины подтянул какие надо к 3.3В. Питание стабильное от отдельного преобразователя. Если через адаптер COM порта то модуль опрашивается все ок. Если пытаюсь к меге подцепить залив такой скетч который ниже. То пишите дуня следующиее:
01
/**************************************************************
02
* Blynk is a platform with iOS and Android apps to control
03
* Arduino, Raspberry Pi and the likes over the Internet.
04
* You can easily build graphic interfaces for all your
05
* projects by simply dragging and dropping widgets.
06
*
07
* Downloads, docs, tutorials: <a href="http://www.blynk.cc" title="http://www.blynk.cc" rel="nofollow">http://www.blynk.cc</a>
08
* Blynk community: <a href="http://community.blynk.cc" title="http://community.blynk.cc" rel="nofollow">http://community.blynk.cc</a>
09
* Social networks: <a href="http://www.fb.com/blynkapp" title="http://www.fb.com/blynkapp" rel="nofollow">http://www.fb.com/blynkapp</a>
10
* <a href="http://twitter.com/blynk_app" title="http://twitter.com/blynk_app" rel="nofollow">http://twitter.com/blynk_app</a>
11
*
12
* Blynk library is licensed under MIT license
13
* This example code is in public domain.
14
*
15
**************************************************************
16
*
17
* This example shows how to use ESP8266 Shield via Hardware Serial
18
* (on Mega, Leonardo, Micro...) to connect your project to Blynk.
19
*
20
* Note: Ensure a stable serial connection to ESP8266!
21
* Firmware version 1.0.0 (AT v0.22) or later is needed.
22
* You can change ESP baud rate. Connect to AT console and call:
23
* AT+UART_DEF=115200,8,1,0,0
24
*
25
* Change WiFi ssid, pass, and Blynk auth token to run :)
26
* Feel free to apply it to any other example. It's simple!
27
*
28
**************************************************************/
29
//#define BLYNK_DEBUG
30
#define BLYNK_PRINT Serial // Comment this out to disable prints and save space
31
#include <ESP8266_HardSer.h>
32
#include <BlynkSimpleShieldEsp8266_HardSer.h>
33
34
// Set ESP8266 Serial object
35
#define EspSerial Serial2
36
37
ESP8266 wifi(EspSerial);
38
39
char
auth[] =
"**********************************************************"
;
40
char
ssid[] =
"Xiaomi_8D7C"
;
41
char
pass[] =
"***********"
;
// Set to "" for open networks
42
43
void
setup
()
44
{
45
// Set console baud rate
46
Serial
.begin(9600);
47
delay(100);
48
// Set ESP8266 baud rate
49
EspSerial.begin(115200);
50
delay(100);
51
52
Blynk.begin(auth, wifi,
"ssid"
,
"pass"
);
53
}
54
55
void
loop
()
56
{
57
Blynk.run();
58
}
Добрый день. Для начала возьмите самую последнюю версию блинк библиотеки. 0.3.5 это довольно старая версия.
Я ее сказал вроде с вашего сайта((( Можете ссылку дать где качнуть последнию версию. И какие еще могут быть вариантов. А то я уже и заряды купил в блинк)) 0и тут такое дело))
https://github.com/blynkkk/blynk-library/releases/download/v0.4.8/Blynk_...
Теперь поставил последнию версию блинка и теперь вообще не компилет( Пишет
Про какую директорию он пишет?
https://examples.blynk.cc/?board=ESP8266&shield=ESP8266%20WiFi&example=G...
Мне этот скетч не нужен у меня ESP 01 подключена к меге по средством сериала физического а не виртуального. Какой скетч. Вы видели что в примерах у вас скетч криовй там нет строки про пасс и логин роутера
<ESP8266_HardSer.h>
уже был давно удален
Так он в билиотеке есть(( А как тогда мне указать скетчу что мой модуль подключен к Serial2? И вообще какой тогда мне скетч использовать в моем случии когда модуль подключен к Arduino по средством реального сериала но не 1го?
Так что вообще без вариантов? Т.е. я не смогу использовать ваш Blynk?((( Или там какой т оскетч все же предусмотрен? Просто в вашем релизе эти примеры есть. Поэтому я их и пробывал применить
Нужный сервис. Более того - представьте - разработчик даёт на форуме схему, плату, прошивку и ссылку/QR-код на свой проект на Blynk, включая своё вознаграждение (условные 100 руб)... Пользователь, покупая приложение, оплачивает ваши компоненты и пополняет счёт разработчика... Этим вы заинтересуете людей публиковать свои разработки и сопровождать их. Ну и привлечете клиентов.
Я так понял это не мне)) и не по моей теме)))
Да все можно, я просто не могу помочь покнкретно по мега + есп, это самый сложный сетап. Могу только посоветовать поискать туториалы в гугле.
Вы разработчик, у вас было предусмотрено это и вы это убрали чтоли? Вы как один из представителей скажите мне тогда, что использовать? Или надо всем заявить что Ваш Blynk не пашет с мегой! и все тут. Капец. Я же выше писал что у меня сетап с мегой у которой 4е сериал порта( У меня складывается впечатление, что в ваших бибилиотеках просто нет записи под мегу! Как тогда решать проблему будут разработчики? Я думаю я просто не единственный такой(((( Или скажите че использовать чтобы блинк подвязать Ваш. Или давайте всем сразу скажем, чтобы не покупали меги. Там столько примеров и даже в последнем релизе есть пример тип с работой с сериала. А вы говорите его нет((( Чет странно все.
Кстати везде где я не гуглил до этого форума. Везде пишут про фибилотеку и пример с HardSerial. Вот например http://www.instructables.com/id/Connecting-ESP8266-01-to-Arduino-UNOMEGA-and-BLYNK/ и таких куча. А вы говорите вы тупо убрали билиотеку, тип нафиг не надо((( А как же быть тем у кого проекты на меге и им надо к Arduino цеплять например и WiFI и Nextion и как у меня еще GSM они все по UART общаются. Вот только в вашем случии с библиотекой нельзя выставить порт ему. Может вы как разработчик сделаете что либо? вы то получше меня должны разбираться в этом во всем? Заранее спасибо. А туториалы я и сам искал и как сказал выше все через одно.
Может хватить ныть. В инернете полно инфы. Все прекрасно работает в связке arduino + esp. У меня так работает проект "умный аквариум" (uno+esp-12f)
вот "огрызок" моего скетча
Поди вы читаете между строк)))) Вы вообще не в теме чтоль))) У вас обычный проект на обычной плате и подключение через Программный порт а не через физический, у меня такое тоже работало на нане и на уно. Но мне для проекта надо другое и Blynk не пашет в моем сетапе. Ясно? или почитайте пару постов выше
Всем спасибо решил проблему без разработчиков. Кому интересно будет пишите объясню.
Спасибанинада
Подскажите в чем причина
Отваливается переодически инет
выводит раза 4-6 данные потом обрывается интернет, далее опять подключается и все повторяется по кругу
Что не так в скетче?
Ну думаю первое что надо сделать это проверить версию Blynk, а так же убрать все задержку из loop. Blynk этого не любит. Т.е. по возможности отказаться от задержек вместе с функцией Blynk.run(); И да какая плата какое ESP? И главное прошивка вашего ESP смотрели?
Плата Node MCU ESP 8266 По остальным устройствам с другими прошивками и работой 4-х датчиков температуры по Dallas Temp нет ни каких проблем. С этой прошивкой три контроллера выдают такую, же ошибку. Сбрасывается сеть WIFI и переподключается постоянно. Не держит. Не понятно.
Попробуйте задрежку убрать в 600 мск с цикла основного и проверьте последнию прошивку. Я сам с бубнами танцевал не раз с ESP разными. именно с блинком. Он же у вас от сети отключается. Как вы определяете что отключился модуль по приложению Blуnk или вы смотрите отчет библиотеки в сериал порт?
Два фактора отключения
В приложении blynk пишет, что обрыв связи, пропала связь с устройством, прекращается прием данных
По мониторингу порта - приостонавливается вывод данных, тормозит, потом через секунд 30 продолжается
А Вы подключите функцию библиотенки "Blynk serial" чтобы посмотреть, что библиотека дает по "заминке" вашей, если у вас отключена эта функция включите. Т.е. например блинк пишет что, ждите подключаюсь или обрыв там то или что имеено. Очень похоже на два варианта или билиотека с косяком или с питанием беда. Ровное количество времени проходит когда сбой происходит? например ровно 30 сек или время плавает? Вы пробывали убрать задержку в 600 мс?
библиотенки "Blynk serial" - что-то не нашел такой библиотеки
Это что, не подскажите и как им пользоваться?
Да нет это не библиотека. Это как бы функционал билиотеки блинк для вывода состаояния ее работы в сериал. Ну типа когда подключаешь эту функцию то библиотека выводит информацуию о подключении к роутеру и состояние работы в целом. У тебя она подключается в коде вроде
003
#define BLYNK_PRINT Serial
Крч ты когда цепляешься к NodeMC то в сериале че то падает когда подаешь питание и он начнает подключатся к роутеру? Типа Connecting и т.д.?
У тебя такая петрушка только с NodeMCU? Тут однозначно или питание не стабильное у нее на плате. Или скорее всего с библиотекой криво. Я всегда делаю так. Сначала заливаю обычную прошивку просто на подключение без всяких датчиков и т.д. если все работает то идешь дальше подключаешь уже датчики и дописываешь код. Датчики подключены к ней же? питание на датчики откуда взято?
питание на датчики с самой платы Arduino
Прошивка без датчиков отрабатывает
Как подключаю датчики - тогда
Если отдельно BME или DS18B20, то все ок. Как только два, то начинается пропуски. Как-то конфликтуют или конфликтует скетч? Уже стал грешить на Dallas Temperature, поменял, но все равно... Танцую с бубном
Крч я эти DS не люблю сам так как почему то они не на всех платах работают ровно. + думаю может питания не хватать раз говоришь что отдельно норм а вместе не тянет. ТОгда дело точно не в библиотеке. И еще вопрос у тебя как соединен ардуино с платой ESP? через программный сериал? Вообще BMP датчик сколкьо на него подаешь?)))) Знаеншь что он от 3.3. питаться должен? Иначе глюки бывают на пине у него в плоть до того как он перестает работать. МОжет быть такой вариант что, просто скетч и опрос датчиков DS глючит, чем их больше тем дольше он их читает. Я бы тебе предложил отказаться от них или еще лучше я бы сделал так. Датчики сделал бы на отдельной ардуино и пусть она их опрашивает и кидает в сериал просто данные а другая дуня с ESP принимает. так ты разгрузишь Blynk. Главное косяк блинка то, что он не любит задержки, если они есть он может вылетать у меня было такое один раз. И еще вариант попробуй библиотеку поставить другую на DS датчики
спасибо, буду плясать дальше... Отпишусь.
Да тут только так. Это когда 1 датчик так просто)) а когда 4е + еще давление тут надо пробывать. Но чет думаю если все они от дуни запитаны то это плохо. Она врядли их может потянуть. Лучше анчни с библиотеки на далас другой и с доп питания на датчики. Смотри сам если в пике он начинает просаживать дуню то самому МК может не хватать и он приглюкивает или может вообще перезагружается вот и связь пропадает. Ну я бы с этого попробывал бы. ПОсадил бы их на отдельное питание потом библиотеку другую на далас.
Столкнулся с проблемой подключеня к серверу. Уехал в отпуск, интернет через вайфай отеля. Пинги, видимо, огромные. Все работает кроме любимого блинка :(
Пишет "не могу подключиться. Проверь соединение или попробуй еще раз". Уже 2 дня безуспешно. Инет точно живет (пишу с этого же аппарата), хотя и очень плохо.
На 3-й день нагуглил про geodns, нашел человека в москве, кто пропингует сервер блинка, узнал айпи, вбил его в телефон и все заработало!
Обновился на v2.15.2 и вижу что баги совсем не исправили... То, что добавили новых фич молодцы конечно, но старые баги ведь тоже надо исправлять... Все касается Superchart: 1. При просмотре параметров цвет графика отображается в правильном градиенте, но цвет цифрового значения этого параметра отображается наоборот. 2. При выборе отображения графика за один день, при перемещении курсора не отображаются данные измеряемых параметров. 3. Еще с прошлой версии при перемещении курсора появились прочерки в месте отображения цифровых значений параметров. Такое ощущение, что значения пишутся через раз. Ссылка на видео: https://youtu.be/6jf-pUF_ZzQ
P.S. Сейчас вот только заметил, по пункту 2, если график развернуть в ландшафтный режим, то данные отображаются...
Подскажите, можно ли перед отправкой значения на виртуальный пин считать его текущее значение с сервера?
Для чего надо:
Железка накапливает некоторые значения и периодически отправляет его на сервер.
В случае отключения питания, значение начинает накапливаться заново, аппаратные средства сохранения не хочется задействовать, ведь есть уже переданное значение до отключения питания на сервере.
update:
https://community.blynk.cc/t/is-there-a-virtual-read-command/183
Получается пока нет такой возможности считать напрямую, но видимо можно организовать похожее (если я правильно понял, своим бедным английским):
https://github.com/blynkkk/blynk-library/blob/master/examples/More/ServerAsDataStorage/ServerAsDataStorage_MultiValue/ServerAsDataStorage_MultiValue.ino
Привет Знатокам!!!
Ломаю голову как написать скетч для объединия физической кнопки и виртуальной в блинке ,для управления реле.??
В программе управляй тем же входом к которому привязана физическая кнопка.
Только что сделали новый релиз с множеством багофиксов по суперчарту. Так же добавили возможность добавления X/Y осей. (как было в старом гарфе). Баги в графе должны быть пофикшены. Если нет - дайте знать пожалуйста.
@macros - можно. Вы нашли правильный пример. Только блинк асинхронный. Поэтому вы запаршиваете значение а потом в отдельном обработчике ждете ответ.
@v-a-y - сделали первый шаг в сторону фикса гео-днс проблемы. Еще месяц и пофиксим окончательно.
Скажите кто знает как проще всего реализовать передачу логических значений с приложения БЛИНК? ну по умолчанию приложение на виртуал пин кидает 1 или 0. Надо преобразовывать в false true. Или как то можно проще это сделать? У кого как реализовано. Заранее спасибо за ответы.
Логические значения нужно передавать непосредственно на цифровой пин железки, а не на виртуальный.
Ну а если виртуальные пины и на них надо как то передовать логику. Даже в компанентах нет передать логическое значние. 0 и 1 как бы и есть логика а я про логические переменные говорю в IDE) как лучше организовать прием и запись в такую переменную
Вопрос не очень понятен. В стандартном С++ и так определены:
#define true 1
#define false 0
Какие варианты лечения проблемы переполнения буфера при работе с Blynk? таймер? тогда как лучше его вставить. Если можно ссылки или пример лечения если у Вас есть. По умолчанию я работаю с 50ть переменными виртуальными. Спасибо
Вот интересный факт для пользователей Blynk. У меня щас была проблема с переполнением буфера при отправке и чтении данных с сервера. Ломал голову удалял все и делал с нуля даже на передачи 1 значения была трабла. Я обновил библиотеку и вроде все пропало. Переполнения пока нет, НО появилась еще беда. Теперь устроиство постоянно выкидывает в оффлайн и заметил что блинк пишет в сериал следующее:
[123636] Invalid HW cmd: 7
+IPD,1,98:b
[123758] Login timeout
И так каждая вкладка сдеана т.е. у меня в void setup расписаны все чтения и записи, но когда добавляю синхронизацию то все крашит. переполнение буфера.
Такое ощущение что блинк не тянет больше количество виджетов. или я что то не знаю или упускаю? Направьте меня пожалуйста. А то вроде там покупай энергию и ставь виджеты сколько хочешь) Спасибо
И вот новая инфа. Когда включил дебаг. Не шарю ном мало ли может разработчики вкурсе что значит все это. Те.е. это вывод когда отваливается связь
[77127] <[02|00|01|00] 74e5a58e5c744d0fa0407a647f022bc9
[77238] >[00|00|01|00|C8]