Управляем ардуиной через интернет

publiser
Offline
Зарегистрирован: 16.04.2017

Особенность: Если продолжаем питать устройство от компьютера по USB, то иногда контроллер сбрасывается - наверно ему не хватает напряжения. Например я после прошивки и соединения по WIFI открываю порт для просмотра и контроллер отрубается и теряет связь. Но если его подключаю просто к блоку питания, то соединяется, поднимает прошивку и все ок.
Подскажите
В скетче есть функции
Не могу понять как она отображается
Я ввел LCD виджет на Blynk по виртуальному V10
Но там на экране просто появляется цифра, которая периодически мелькает
Какова функция?

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")
Reliable_Bob
Offline
Зарегистрирован: 23.10.2016

Виджет LCD я использовал для удобства. Вы можете передавать значение виртуальных переменных в любой другой виджет программы.

По поводу функций LCD Вам нужно ознакомиться с примером скетча например здесь
LCD_AdvancedMode.ino

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

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Reliable_Bob пишет:

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

USB - это не блок питания.

Во-первых, там ток принудительно ограничен. В USB 2.0 - 500mA. А во-вторых, гнездо должно еще и реагировать на подключение нагрузки, что невозможно без падения напряжения на измерительном элементе.

publiser
Offline
Зарегистрирован: 16.04.2017

Да вы правы все ок. Разобрался и работает супер
Спасибо огромное

safari
Offline
Зарегистрирован: 02.02.2015

Вопрос к Дмитрию.

У меня пару дней назад случилось аварийное выключение питания в квартире и локальный сервер blynk перестал работать. Исследования показали, что полностью обнулился файл с настройками *****@***.user Ранее такого не наблюдадолось, я где-то год назад специально несколько раз обесточивал сервер, всё восстанавливалось после перезагрузки успешно.

Далее, после первой попытки восстановить файл из свежей копии из папки backup, сервер успешно запустился, однако потерялось до 70% виджетов. После обновления версии сервера до 24.5 со второй попытки всё восстановилось успешно.

Версия сервера была довольно относительно не старая, толи 22 или 23, точнее не вспомню.

В связи с чем два вопроса.

1) был ли зафиксирован/пофиксен подобный баг в старой версии сервера?

2) как вы защищаете от подобных пробем облачный сервер? может можно как-то его кластеризовать?

doom369
Offline
Зарегистрирован: 13.05.2015

Обнуление пользовательского файла возможно при отключении питания. Поэтому есть папка бекапа.

1) Если питание вырубается во время записи в файл, то подобной проблемы не избежать.

2) Параллельно пишем в базу + бекапы. То есть в любое время у нас есть 3 рабочих копии. Для локального сервера самым простым вариантом будет просто копировать файл раз сутки, например на другую машину.

esa
Offline
Зарегистрирован: 27.06.2015

Ну на конец то нас посетил Дмитрий.

Дмитрий, моя проблема так и не решина (http://arduino.ru/forum/obshchii/upravlyaem-arduinoi-cherez-internet?page=9#comment-276890). Сейчас версия 2.14.1, а баг остался( кроме третьего пункта, его исправили, только на половину. т.е. если я на одной вкладке изменю позицию (перемещю вверх) "меню вкладок" , а на второй вкладке позиция остаюся старой). Сервер - локальный вер.0.24.5

doom369
Offline
Зарегистрирован: 13.05.2015

@esa В связи с добавлением вертикального скрола табы внизу решили пока не поддерживать так как для этого нужно много усилий. Поэтому самым простым фиксом будет удалить табы и добавить по новой.

safari
Offline
Зарегистрирован: 02.02.2015

Дмитрий. Спасибо за ответы. С бэкапами всё понятно и это, действительно, работает.

Меня же волнует отказоустойчивость системы, в целом (не только файл с настройками), т.к. сейчас у меня в "промышленной эксплуатации" на локальном сервере blynk дома живет свет в коридоре и гостинной (готовятся отсальные комнаты и кухня с санузлами). там много ещё чего живет, но из критичного - свет.

Хочется нагородить HA-cluster.  Поможете?

Имеем две машины с вариантами ARM-debian. На одной крутится blynk server, на крутится резервный сервер в случае сбоя основного. Вопрос в том, как транслировать девайсам измение IP-адреса сервера. И как транслировать изменнение user-настроек с основного сервера на резерный без его перезапуска. Или я велосипед изобретаю?

 

 

doom369
Offline
Зарегистрирован: 13.05.2015

Я думаю городить кластер для дома это слишком. Досточно просто взять надежное железо + бесперебойники + батарея. Такой сетап будет работать годами и не надо наворачивать.

safari
Offline
Зарегистрирован: 02.02.2015

Я как раз выбираю варианты с питанием.

Такой вариант пойдет? Кто-нибудь делал уже?

https://ru.aliexpress.com/item/3-7V-4-2V-Charger-5V-6V-9V-12V-Discharger...

russo
Offline
Зарегистрирован: 20.11.2014

Решил использовать виджет GPS Streaming, взял пример из даташиита,

BLYNK_WRITE(V36) {
      float latitude = param[0].asFloat(); 
      float longitude = param[1].asFloat();
      float altitude = param[2].asFloat();
      float speed = param[3].asFloat();
   }

но интерпретатор ругаеться

https://hostingkartinok.com/show-image.php?id=6d86a036b894b107a5070b5a06ad1330

И как выводить данные местоположения на дисплей телефона, для каждого параметра нужен отдельный вывод через Value Display?

версия 1.8.2

Наверно его надо както инициализировать типа WidgetMap myMap(V35); Но в даташиите не написано как.

doom369
Offline
Зарегистрирован: 13.05.2015


>>версия 1.8.2

 

Сначало нужно обновится :).

russo
Offline
Зарегистрирован: 20.11.2014

Это самая новая версия ардуины 1.8.2, библиотек блинка тоже крайняя.

как инициализировать виджет GPS Streaming ? Например как - WidgetMap myMap(V35);

Чувствую придется в библиотеках ковырятся

 

doom369
Offline
Зарегистрирован: 13.05.2015

Ну так у вас скобка метода не закрыта, потому и ругается.

russo
Offline
Зарегистрирован: 20.11.2014

doom369 пишет:

Ну так у вас скобка метода не закрыта, потому и ругается.

В даташиите так написано

doom369
Offline
Зарегистрирован: 13.05.2015

Речь не про этот код, а который выше.

russo
Offline
Зарегистрирован: 20.11.2014

В общем вынес за пределы LOOP() эту функцию - закомпилировалось.

GPS Streaming маленькое окошко в котором отображаются четыре параметра по координатам. При попытке растянуть его оно не увеличивается, мелкие циферки получаются. Увеличить бы его

russo
Offline
Зарегистрирован: 20.11.2014

Дмитрий, можете подсказать?

Я на своем смартфоне настроил приложение блинка (50 виртуальных пинов, и много разных дисплейчиков и кнопок, все четыре вкладки заполнены). При установке приложения на другом смартфоне и входе с моей учетки на втором телефоне появляется клон моего приложения. Вопросс, можно ли на телефонах-клонах установить урезаный функционал моей программы. Т.е. жене и детям (на их телефонах) не нужен полный набор функций которые я наворотил, для них хочу сделать только определение местоположения всех членов семьи, и мое тоже чтобы знали где я, чтоб жена не звонила, типа где ты (на лево не хожу :)  ).

Можно ли так сделать? На моем телефоне программа с полным набором функций, а на других телефонах только отображение датчиков и и определение местоположения.

doom369
Offline
Зарегистрирован: 13.05.2015

Нельзя. Только через отдельный проект.

russo
Offline
Зарегистрирован: 20.11.2014

Т.е. придется вторую железку ардуины ставить и на нее прописывать урезаный функционал? Получаеться у мена на смартфоне будет два варианта приложения, одно полный набор функций, второе определение местоположения.

Или есть еще другие варианты?

 

russo
Offline
Зарегистрирован: 20.11.2014

Мучаю виджет MAP , взял отдельную esp8266 для проекта по определению местоположения 3-х андроидов. Не пойму логику работы виджета,

1. на андроиде нужно добавить виджет MAP, прописал ему V1, SHOW MY LOCATION - YES

2. на втором ( и на третьем) андроиде какой V присваивать в MAPe ?

3. в коде интерпретатора как написать чтобы местоположение всех трех телефонов высвечивалось на всех приложениях BLYNKa ?

Можете пример скинуть?

 

doom369
Offline
Зарегистрирован: 13.05.2015

Ну этот виджет предназначен для того чтобы отображать положения железяк, а не телефонов. Но можно извратится и показывать положения телефонов. Добавляете виджет GPS, шлете координаты на любой пин, а потом эти же координаты шлете обратно в map виджет. Правда понять где какой пользователь нельзя будет.

safari
Offline
Зарегистрирован: 02.02.2015

Russo. Можно (теоретически) завести еще один проект на сервере blink, а на MCU-шках завести еще один экземпляр - BLINK2. И отдавть есу только нужный функционал.

 

russo
Offline
Зарегистрирован: 20.11.2014

А есть проэкт на два телефона с определением местоположения, кто может выложить? Больше там ничего не надо.

Reliable_Bob
Offline
Зарегистрирован: 23.10.2016

Доброго времени.

Подскажите пожалуйста, а есть какая-нибудь возможность реализовать такую задачу:

Нужно, что бы например, на базе NodeMCU программма каждые 5 секунд пинговала например ya.ru и потом с помощью виртуального пина выводить эту информацию в приложение?

doom369
Offline
Зарегистрирован: 13.05.2015

Можно сделать через виджет вебхук. Хард тригерит вебхук - вебхук делает шттп реквест на сайт и возвращает ответ на виртуальный пин. В нем ожно провреить все ли ок.

Reliable_Bob
Offline
Зарегистрирован: 23.10.2016

doom369 пишет:

Можно сделать через виджет вебхук. Хард тригерит вебхук - вебхук делает шттп реквест на сайт и возвращает ответ на виртуальный пин. В нем ожно провреить все ли ок.

Спасибо. С вебхуком не доводилось сталкиваться. Почитаем)

Но тут вопрос больше не в доступности сайта, а в получении величины времени пинга в милисекундах...

doom369
Offline
Зарегистрирован: 13.05.2015

Ну тогда только с железки делать отдельное соединение. А это не тривиально.

Reliable_Bob
Offline
Зарегистрирован: 23.10.2016

В продолжение темы...
Нашел вот такую библиотеку. https://github.com/dancol90/ESP8266Ping
Сама по себе работает.
А вот как ее заставить работать в составе скетча Blynk, подскажите пожалуйста...
 

chatlanin
Offline
Зарегистрирован: 14.01.2015

Можно ли в виджет Time input передать значение с esp? Задача такая. в флеш хранятся знаечения времени начала события и окончания события. Установка этих значений должно осуществляться как с последовательного порта esp так и из Blink. Когда просиходит установка из Bkink все ясно. А когда esp принимает из uart  то помимо записи во флеш еще должна передать на телефон новое значения. Как решить?

esa
Offline
Зарегистрирован: 27.06.2015

Добрый вечер.

Заметил у себя глюк, а именно. Естьу меня в проекте слайдер (вирт.пин 3). Когда я тапаю не на бегунок, а рядом

бегунок передвигается на место, куда я тапнул,

но не отрабатывает функция BLYNK_WRITE (V3). А если тапнуть на бегунок и ввести его (вправо, влево), тогда функция отрабатыват. Раньше такого не было, функция отрабатывала в 2-х вариантах тапа. Кто нибудь сталкивался с таким случаем?

версия blynk 2.14.6, android 5.1, локальный сервер v0.25.4

esa
Offline
Зарегистрирован: 27.06.2015

Изучаю виджет gps trigger. Я как понимаю его назначение это определять мою местоположение и анализировать попал я в его площадь, которую я указал или нет. В настройках тригера я указал, что нужно  анализировать вход в зону и указал на карте место.Мне интересно, место указывается точкой или что попало в круг?

Далее я прописал простой код:

BLYNK_WRITE(V15)
 { 
  int state = param.asInt();
  if (state) led17.on();
  else led17.off();
}

При нахождении в точке, которую я указал led не загорелся. Мне интересно, кто-нибудь использовал этот виджет?

версия blynk 2.15, android 5.1, локальный сервер v0.25.4

Reliable_Bob
Offline
Зарегистрирован: 23.10.2016

Доброго времени.

Есть пара вопросов.

1. Можно ли и если можно, то как, использовать данные, которые на локальном сервере сохраняются в папке Data в формате *.bin? Сервер v0.26.2

2. Заметил такой баг: если в графике Superchart в настройках цвета линии выбрать градиент "красный сверху-зеленый снизу", то на графике цвет линии отображается ровно наоборот. Малые значения - зеленый - большие значения - красный. В Labeled value тот же виртуал пин отображает нормально.

 

doom369
Offline
Зарегистрирован: 13.05.2015

>>esa

Виджет сработает только когда вы войдете в круг или выйдете из него. Если вы в круге то виджет не сработет.

 

>>bob

1. Можно. Сделайте свайп графа в приложении и увидите кнопку "Export Data" это будут те же данные что и в файле bin.

2. Спасибо. Глянем.

safari
Offline
Зарегистрирован: 02.02.2015

esa. в настройках слайдера можно задать, реагировать ли на изменения бегунка в процессе двигания. посмотрите что у вас стоит?

esa
Offline
Зарегистрирован: 27.06.2015

safari пишет:

esa. в настройках слайдера можно задать, реагировать ли на изменения бегунка в процессе двигания. посмотрите что у вас стоит?

Настройки не причем.

После обновления на 2,15 все заработало

Reliable_Bob
Offline
Зарегистрирован: 23.10.2016

Коллеги, подскажите пожалуйста по использованию виджета Eventor.

Мне нужно, что бы в телефоне появлялось уведомление например о том, что какой-то параметр превысил норму. Я использую  Eventor. Настраиваю его на нужный виртуальный пин, задаю параметры срабатывания... А далее, я не совсе понимаю, нужно ли мне писать какой-то код в теле скетча? Ведь все необходимые данные и так есть в приложении? Однако не работает...

doom369
Offline
Зарегистрирован: 13.05.2015

Нуужно все еще слать данные с железки на этот пин.

Reliable_Bob
Offline
Зарегистрирован: 23.10.2016

На этот пин данные с железки попадают каждые 10 секунд и выводятся для отображения на Gauge. Или этого не достаточно?

publiser
Offline
Зарегистрирован: 16.04.2017

Смотри

Reliable_Bob
Offline
Зарегистрирован: 23.10.2016

Да, так и у меня настроено... Но уведомлений нет.

Reliable_Bob
Offline
Зарегистрирован: 23.10.2016

Сейчас проверил, на почту уведомление присылает...

AndrF
Offline
Зарегистрирован: 10.04.2016

Просьба посказать:

Есть две железки, одна из которых управляется и настраивается со смартфона - с этим проблем нет.

А вот вторая железка должна получить/отдать несколько параметров первой. Можно ли сделать этот обмен через Blynk? Ну типа первая железка устанавливает статус виртуального пина, а вторая раз в минуту его читает и пишет пару своих значений для первой?

doom369
Offline
Зарегистрирован: 13.05.2015

Можно. Виджет бридж - http://docs.blynk.cc/#widgets-other-bridge

Reliable_Bob
Offline
Зарегистрирован: 23.10.2016

Чё-то в обновке 2.15.1 поламалась смена цвета значений в виджетах, градиент "красный сверху-зеленый снизу" имеем - малые значения - зеленый - большие значения - красный. Писал об этом выше. Такая проблема была только на графиках, сейчас стала и в Labeled value и в Value display и в Gauge... Ну и в Superchart так же...

doom369
Offline
Зарегистрирован: 13.05.2015

Спасибо. Проверим.

doom369
Offline
Зарегистрирован: 13.05.2015

Как оказалось это фича =). Мы переделали немного градиент. То как он сейчас есть - правильно.

Reliable_Bob
Offline
Зарегистрирован: 23.10.2016

Ясно. Будем привыкать.)

Еще бы добавить градиент из 3-х цветов, например красный снизу и сверху, а в середине зеленый и наоборот. И в идеале добавить выбор цвета. Ибо довольно часто необходимо цветом отображать средние значения диапазона. Например для отображения измерения влажности норма это 40-60 % и было бы хорошо, что бы отображалось до 40% желтый, от 40%-60% зеленый, выше 60% синий...

Reliable_Bob
Offline
Зарегистрирован: 23.10.2016

Еще обнаружился такой баг: если в суперчарт выбрать отображение за 1 день и таскать курсор по графику, то вверху чарта не отображаются значения переменных по параметрам, а рисует только _ _