• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Обсуждение Blynk и ESP8266

gregory

New member
вопрос к разработчикам- как менять размер виджета на смартфоне? они большеваты и избыточны частенько.
 

Shrotnet

New member
было бы харашо, если иметь возможность следить за линком ... есть линк, телефон молчит, пропал линк (на 2 .....4.....13 минут) , с сервером, или линк с ардуино, через 3...5...15 минут получаем сообщение. Но как это реализовать ???
 

shoorik007

New member
. Такая проблема, создал проект на ESP8266-01 с датчиком температуры DHT11 и 3-мя светодиодами,
. все работало хорошо, захожу в приложение и БАЦ ничего нет, предлагает создать новый проект ...
. причем ESP настроен на отправку данных раз в 5 секунд и отправка не идет ...
. Создал, настроений ... через некоторое время БАЦ он исчезает и появляеться тот первый проект ...

и еще кроме DHT11/22 можно подключить другие датчики, например DS18B20? разобралса можно!
 
Последнее редактирование:

Civil

New member
Добрый день!

В этой теме уже несколько раз поднимался вопрос о отсутствии подтверждения прохождения команды. Поэтому я подумал, что будет хорошо, если после нажатия кнопки будет возвращаться код и зажигаться светодиод (на смартфоне).
Вот, получился код ниже (LED на V1 и Button на V2)
Но не работает. И сообщение button 2 pressed не появляется. Что не так?
Код:
#define BLYNK_PRINT Serial    // Comment this out to disable prints and save space
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

char auth[] = "xxx";
char ssid[] = "xxxx";
char pass[] = "xxxxxx";

void setup()
{
  Serial.begin(9600);
  Blynk.begin(auth, ssid, pass);

  //WidgetLED led1(V1); //register to virtual pin 1
  Serial.println("Start...");
}

BLYNK_WRITE(V2)
{
  Serial.println("button 2 pressed");
  int button2 = param.asInt();
  if (button2 == 0)  {
    //WidgetLED led1.off();
    Blynk.virtualWrite(V1, LOW);
  }
  else  {
    //led1.on();
Blynk.virtualWrite(V1, HIGH);
  }

}

void loop()
{
  Blynk.run();
}
 

russo

Member
Здесь у вас может быть затык
Blynk.virtualWrite(V1, HIGH);

Надо писать
Blynk.virtualWrite(V1, 255);

а проще
led1.on();

И объявите виджет WidgetLED led1(V1); //register to virtual pin 1
до функции setup

А вообще используйте таймер
timer.setInterval(1000L, ваша функция);//устанавливаем перезапуск с интервалом 1с.
чтобы сервер не перегружать запросами, коннект будет устойчивее с сервером.
Примеров много в сети

Если у вас при нажатии кнопки на смартфоне меняеться уровень на пине esp , то можно сделать более достоверное оповещение о включении пина, т.е. читать уровень напрямую с порта, например так
//проверяем включение выключение светодиода
temp = digitalRead(OUT_LED);
if(temp) led1.on(); //вкл вирт.светодиод
else led1.off(); //выкл вирт.светодиод
 

Civil

New member
Надо писать
Blynk.virtualWrite(V1, 255);
а проще
led1.on();
Спасибо за ответ.
Пробовал разные варианты, включая эти. Строка led1.on() есть в тексте закомментированная. Меня смущает, что не выполняется строка Serial.println("button 2 pressed"); , т.е. не вызывается ф-я BLYNK_WRITE(V2).
В приложении кнопка повешена на V2, этого же достаточно?

А вообще используйте таймер
Да, я видел в сети примеры с использованием таймера, но хочу попробовать реализовать на событийной модели. На мой взгляд так получится проще и красивее, к тому же не будет навязанной задержки в 1с.

Upd. Заработало. Кажется все дело было в этом:
//И объявите виджет WidgetLED led1(V1); //register to virtual pin 1
//до функции setup

Спасибо!
 
Последнее редактирование:

Shrotnet

New member
а есть ли в программе BLYNK - сигнализация звуковая, что пропал интернет ??? скажем сеть 3G упала ... там есть ползунок, но он работает непродумано. Малейшая проблема, и кричит .... таймаут сделать хотя бы минуту, или 5 минут ....
 

tutam

New member
Home

Видео и инфографика на кикстартере:
Blynk - build an app for your Arduino project in 5 minutes
Arduino: 1.6.14 Hourly Build 2016/11/25 05:33 (Windows 10), Плата:"NodeMCU 1.0 (ESP-12E Module), 80 MHz, 9600, 4M (3M SPIFFS)"

Изменены опции сборки, пересобираем все

Скетч использует 235 385 байт (22%) памяти устройства. Всего доступно 1 044 464 байт.
Глобальные переменные используют 34 296 байт (41%) динамической памяти, оставляя 47 624 байт для локальных переменных. Максимум: 81 920 байт.
Uploading 239536 bytes from C:\Users\A4F7~1\AppData\Local\Temp\arduino_build_848419/ESP8266_Standalone.ino.bin to flash at 0x00000000
....................................................................Ошибка открытия последовательного порта "COM4" (Port busy)
............ [ 34% ]
......................Произошла ошибка при загрузке скетча
processing.app.SerialException: Ошибка открытия последовательного порта "COM4"
at processing.app.Serial.<init>(Serial.java:125)
at processing.app.Serial.<init>(Serial.java:66)
at processing.app.SerialMonitor$3.<init>(SerialMonitor.java:93)
at processing.app.SerialMonitor.open(SerialMonitor.java:93)
at processing.app.AbstractMonitor.resume(AbstractMonitor.java:110)
at processing.app.Editor.resumeOrCloseSerialMonitor(Editor.java:2239)
at processing.app.Editor.access$2400(Editor.java:77)
at processing.app.Editor$DefaultExportHandler.run(Editor.java:2217)
at java.lang.Thread.run(Thread.java:745)
Caused by: jssc.SerialPortException: Port name - COM4; Method name - openPort(); Exception type - Port busy.
at jssc.SerialPort.openPort(SerialPort.java:164)
at processing.app.Serial.<init>(Serial.java:114)
... 8 more
Ошибка открытия последовательного порта "COM4"
java.io.IOException: jssc.SerialPortException: Port name - COM4; Method name - setEventsMask(); Exception type - Can't set mask.

Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"

Что она хочет от меня?
Что она хочет от меня???
 

Shrotnet

New member
надо попробовать компилить - на запасном (тоесть другом) компьютере.
 

russo

Member
....................................................................Ошибка открытия последовательного порта "COM4" (Port busy)
esp к какому компорту подключен?

Галочка стоит в среде ардуино -инструменты-порт-
на нужном порту?

В диспетчере устройств посмотрите на каком порту висит ваша железка
 

doom369

New member
как менять размер виджета на смартфоне?
Скачать последнюю версию под Андроид. И ресайзить



было бы харашо, если иметь возможность следить за линком ... есть линк, телефон молчит, пропал линк (на 2 .....4.....13 минут) , с сервером, или линк с ардуино, через 3...5...15 минут получаем сообщение. Но как это реализовать ???
Качаем последнюю версию под Андроид и смотрим на статус девайсов :

 

Shrotnet

New member
Качаем последнюю версию под Андроид и смотрим на статус девайсов ???? А если нет желания 12 часов в сутки смотреть на статус девайсов ? Девайсы сами должны пинговаться, и если за 2 минуты что-то не ответило, тогда надо включать ТРЕВОГУ !!!
 

Shrotnet

New member
Тогда ставите виджет пуш нотификейнов, где это реализовано.
ставил, нотикация это конечно хорошо. Но вдруг на удалённом объекте пропал польностью интернет. Тогда ардуина будет слать слать слать нотификации, а они придут через сутки. Или вообще не придут ... ХА !!! обновил прогу, и нотификации стали уже другие !!! есть эта функция !!!
 
Последнее редактирование:

doom369

New member
ставил, нотикация это конечно хорошо. Но вдруг на удалённом объекте пропал польностью интернет. Тогда ардуина будет слать слать слать нотификации, а они придут через сутки. Или вообще не придут ...
Тогда ставите GSM модуль или резервный канал. Мы не волшебники =).
 

Shrotnet

New member
сорри , давно не обновлял прогу, есть уже аларм дисконнекта !!! только одноразовый. Было бы хорошо сделать его с выбором 1 раз .... 99 раз ...... вдруг я как сторож УСНУЛ НА ДЕЖУРСТВЕ !!! спасибо ....
 

doom369

New member
сорри , давно не обновлял прогу, есть уже аларм дисконнекта !!! только одноразовый. Было бы хорошо сделать его с выбором 1 раз .... 99 раз ...... вдруг я как сторож УСНУЛ НА ДЕЖУРСТВЕ !!! спасибо ....
Да, как-то так было бы не плохо улучшить. Наверное так же имеет смысл добавить в смс, имейл и твиттер виджеты такую же настройку.
 

Shrotnet

New member
самым толковым решением пропасать коннект - будет вывод реального времени полученного с удалённого объекта. и сравнение с реальным временем которое берётся с андроид-телефона. Как только временная разница составила например 5 минут для WIFI, или 15 минут для полевого лесного GPRS , тогда бить NOTIFICATION тревоги ... вот тогда будет настоящее волшебство !!! а вы говорите не волшебники.
 

doom369

New member
самым толковым решением пропасать коннект - будет вывод реального времени полученного с удалённого объекта. и ставнение с реальным временем которое берётся с телефона. Как только временная разница составила например 5 минут для WIFI, или 15 минут для полевого лесного GPRS , тогда бить NOTIFICATION тревоги ... вот тогда будет настоящее волшебство !!! а вы говорите не волшебники.
Да это все есть и уже сделано. Тут вопрос - как нотификейшены слать и чем.
 

Shrotnet

New member
дык сам телефон будет пассивно НОТИФИКЕЙШЕНЫ лупить, если последнее полученное время с ардуины было 13:15 , а у него на часах уже 13:19 .... и сторож проснётся, схватит телефон, и резко направит на объект гоблинов с овчарками ... вот вам и стопроцентная защита от глушения интернета, GSM, на контролируемом обьекте !!!
 
Сверху Снизу