Да, там пример для подключение по изернету. Вам главное не какое подключение, а как прописать и запустить виджет rtc. В этом примере все для вас есть. Так что разбирайтесь.
У меня была такая сетуация (телефон на андройде). Во-первых обновите ПО на телефоне и библиотеку до краней версии, во-вторых обновление времени происходит не всегда сразу, я ждал до 5 минут.
да конечно. а эта строка была и без нее. выбрать номер виртуального пина в виджете на телефоне не предлагается, только пояс можно настроить. добавлю я эту строку, а какой пин писать не понял
Вроде все правильно. Включитие дебаг и подождите 5 мин. Какой рещультат? Либы правильно скопировали? Удалили и распаковали заново? В проектк виджет есть?
Дмитрий, подскажи какой способ более надежен в связке arduino + esp-12:
1. Esp прошивается прошивкой с AT-командами (вер. 22), на ардуино заливается полный скетч (работа с blynk и управление датчиками).
2. На esp заливается скетч для управлении blynk и прием/отправка данных по rx-tx на arduino. На arduino заливается скетч для приема/отправки данных по rx-tx на esp + управление датчиками
по моему опыту, использовать arduino (avr) в связке с ESP нужно только в следующих случаях:
1. не хватает физических пинов на ESP, а расширителя пинов по i2c/SPI нет под рукой, зато есть свободная arduino
2. нужны аналоговые порты на 5V (в ESP-шке он чуть ли не на 1V)
3. есть необходимость подключить како-нибудь экран на параллельном интерфейсе (что в общем-то частный случай п 1.
в остальных случаях за глаза хватит возможностей ESP-12. все её порты могут работать с релюшками, диодами и в качестве i2c, SPI, SofwareSerial и толерантны к 5V UART периферийным устройствам. По производительности и ресурсам платы вообще не соизмеримы.
Подскажите как на втором устройстве прочитать значение виртуального пина (допустим V0) первого устройства.
Оба устройства сидят на одном токене. Первой устройство загружается, как правило, раньше.
Мне нужно на втором устройстве прочитать состояние виртуального пина первого устройства.
BLYNK_WRITE(V0){
PinState0=param.asInt();
}
вызывается при смене состояния пина и не подходит, т.к. первое устройство не собирается менять состояние своего пина. Значение PinState0 мне как-то надо передать в loop () второго устройства. Нужна какая-то функция с логигой типа VirtualRead(V0);
Возможно ли как-то обратиться к пину как к объекту типа Blynk.pinstate.V0.AsInt вне BLYNK_WRITE()?
я не могу решить одну проблему. у меня 4 слайсера. их значения считываю и вывожу на дисплей. так то не надо мне это, но обраружил глюк, и куда копать не знаю. короче залил код (раз 20 наверно заливал). так вот сначала значения по нулям и может так прилично стоять и ничего не изменится. все по нулям. хотя значения не нулевые. стоит один подвигать и его значения считаются и выводятся на экран правильно. остальные не трогаешь они так по нулям и остаются как на фото
даже 2 слайсера перевел в другой режим (в настройках), все тоже самое. но сттоит хоть немного сдвинуть и остальные - чтобы значения изменились сразу считывает. тут на фото каждый подвигал и числа появились
может не совсем понятно. пока слайсер не сдвинешь его значения не изменятся, а останется изначальное 0. хотя и при запуске программы (на смарфоне) слайсер уже сдвинут и показывает рядом со слайсером что он не нулевой (как на первом фото 1, 3, 4 слайсеры)
иОС, Андроид? Какая версия? локальный сервер или нет?
Слайдеры имеют изначальное значение 0. Не совсем понимаю в чем проблема. Если нужно выставить изначальное значение. То нужно или выставить в ранниг режиме или прислать с железки нужные через Blynk.virtualWrite.
Если проблема в том, что вы поменяли значение слайдера до того как железка вышла онлайн, то Вы можете вызвать Blynk.virtualSync(V0). И получите самое последнее значение с сервера.
анройд. ваш сервер. в слайсере регулировка стоит от 1, а не от ноля. там ноля никогда и не должно быть
попробую Blynk.virtualSync(V0) поможет или нет. проблема считывания только после заливки кода в есп. пусть даже такого же. нужно слайсер подвигать и появятся значения. потом работает нормально. за ночь с настройками включить свет в 3 часа ночи, и каждые 2 часа на 2 минуты воды справилась. правда свет не выключился в 6, но это уже моя ошибка в коде
Помогите еще разобраться с синхронизайцией двух устройств.
Два девайса (далее 1) и 2)) ESP8266 сидят на одном виджете и привязаны к одному токену:
1) сюда подключены выключатель и реле, которое управляет светом. свет управляется через через виртуальный пин V0
2) сюда подключен голосовой модуль, который распознает команду и передает её на вход ESP-шки. далее ESP
считывает состояние V0, и пишет Blynk.virtualWrite(V0, LOW) или HIGH, в зависимости от состояния V0;
При этом, 1) модуль отрабатывает, как надо, управляет светом, реагирует на команды кнопки виджета, если нажимать на самом виджете. Вся логика включения/выключения реле света прописана в BLYNK_WRITE(V0)
2) модуль корректно шлёт команды серверу, кнопка на виджете меняет состояние как надо, а вот 1) модуль никак не реагирует, свет не включается,не выключается. Раньше все было на REST, работало как надо. Решил вот перевести на родной API, но чёта не догоняю...
Получается, что на девайсе 1) BLYNK_WRITE(V0) отрабатывается только если я нажал на кнопку виджета на смартфоне пальцем. А если я сотояние этого виджета изменил с девайса 2) через Blynk.virtualWrite(V0, LOW) то девайс 1) об этом ничего не знает. Хотя в доках написано, что BLYNK_WRITE должен вызываться при каждом Blynk.run() ?
В общем, опытным путем я выяснил, что если состояние Vпина изменилось программно через virtualWrite, то сервер другим девайсам на том же токене это событие не рассылает (рассылает всем, только если ты нажал на кнопку виджета на смартфоне).
Если проблема в том, что вы поменяли значение слайдера до того как железка вышла онлайн, то Вы можете вызвать Blynk.virtualSync(V0). И получите самое последнее значение с сервера.
измерение темпиратуры идет от DS18B20 - 3 штуки, подключены к разным пинам. Железка MEGA2560 и W5100
Функция измерения темпиратуры написал сам (для оптимизации кода), там при резете идет задержка 750 миллисекунд. При измерении темпиратуры пропадает связь иногда, где-то через раз. Измерение происходит раз в минуту, на разных промежутках времени для трех датчиков, т.е. за раз сразу три датчика не опрашиваются.
Да, там пример для подключение по изернету. Вам главное не какое подключение, а как прописать и запустить виджет rtc. В этом примере все для вас есть. Так что разбирайтесь.
виджет это ведь еще в приложении нужно виджет поставить realTime. ну мало ли зря поставил
Это вырезка из примера, который вам дал Дмитрий
Из примера ваши строки сл.
41-43,49,51,54-71,81,88,94
да именно так и сделал уже, вроде. но выдает неправильную дату
вот код
У меня была такая сетуация (телефон на андройде). Во-первых обновите ПО на телефоне и библиотеку до краней версии, во-вторых обновление времени происходит не всегда сразу, я ждал до 5 минут.
библиотеки обновления не показывает. а вот приложение обновилось, андройд. но возможно позже чем я проверял
а вообще я минут 30 наверно ждал, когда писал пост уже почти 23 минуты было
А вы виджет добавили RTC (изображение часов) и указали часовой пояс?
И дописать надо
BLYNK_ATTACH_WIDGET(rtc, V9);
у меня он V9
да конечно. а эта строка была и без нее. выбрать номер виртуального пина в виджете на телефоне не предлагается, только пояс можно настроить. добавлю я эту строку, а какой пин писать не понял
И дописать надо
BLYNK_ATTACH_WIDGET(rtc, V9);
Этого делать не надо в крайне версии библиотеке. Они ушли от виртуального пина на РТС
то есть просто
?
Вообще без этой команды.
Дмитрий несколькими постами выше дал ссылку на пример с РТС
блин. ну тогда значит у меня неправильно работает. 1970 год и т.д. ладно ds2331прикручу
Какая версия библиотеки у Вас?
0.4.3.
приложение вчера обновилось
код тут
Нужно 0.4.4 мы как раз по РТС делали изменения в последней версии.
специально проверил в менеджере библиотек последняя 0.4.3
спасибо. скачаю вручную
не помогло. может в коде что то неверно?
Вроде все правильно. Включитие дебаг и подождите 5 мин. Какой рещультат? Либы правильно скопировали? Удалили и распаковали заново? В проектк виджет есть?
5 мин ждал, даже 10. результат тот же 1970 год и отсчет времени с нуля от заливки кода
либы не удалял. в проекте виджет есть. а через менеджер библиотек когда появится возможность обновить либу?
лучше вручную распаковывать или через меню добавить zip библиотеку?
+ сделал вручную. все что заменял удалил. не помогло
через 5 мин ничего не изменилось
doom369 ты ничего не менял на вашем сервере? просто взяло и заработало когда код для слайсера писал
Нет. Можете поигратся с таймаутами таймера. Наверное причина где-то там. РТс на базе стандартной либы. Там можно менять интервал апдейта времени.
ГЛЮК
Дмитрий, подскажи какой способ более надежен в связке arduino + esp-12:
1. Esp прошивается прошивкой с AT-командами (вер. 22), на ардуино заливается полный скетч (работа с blynk и управление датчиками).
2. На esp заливается скетч для управлении blynk и прием/отправка данных по rx-tx на arduino. На arduino заливается скетч для приема/отправки данных по rx-tx на esp + управление датчиками
Спасибо.
по моему опыту, использовать arduino (avr) в связке с ESP нужно только в следующих случаях:
1. не хватает физических пинов на ESP, а расширителя пинов по i2c/SPI нет под рукой, зато есть свободная arduino
2. нужны аналоговые порты на 5V (в ESP-шке он чуть ли не на 1V)
3. есть необходимость подключить како-нибудь экран на параллельном интерфейсе (что в общем-то частный случай п 1.
в остальных случаях за глаза хватит возможностей ESP-12. все её порты могут работать с релюшками, диодами и в качестве i2c, SPI, SofwareSerial и толерантны к 5V UART периферийным устройствам. По производительности и ресурсам платы вообще не соизмеримы.
и да, по вашему вопросу правильный ответ 2)
у меня в связках ESP-AVR остались только ESP-01 с прошивками TCP2UART-BRIDGE.
Дмитрий, добрый день.
Подскажите как на втором устройстве прочитать значение виртуального пина (допустим V0) первого устройства.
Оба устройства сидят на одном токене. Первой устройство загружается, как правило, раньше.
Мне нужно на втором устройстве прочитать состояние виртуального пина первого устройства.
BLYNK_WRITE(V0){
PinState0=param.asInt();
}
вызывается при смене состояния пина и не подходит, т.к. первое устройство не собирается менять состояние своего пина. Значение PinState0 мне как-то надо передать в loop () второго устройства. Нужна какая-то функция с логигой типа VirtualRead(V0);
Возможно ли как-то обратиться к пину как к объекту типа Blynk.pinstate.V0.AsInt вне BLYNK_WRITE()?
Очень не хочется читать его через REST API.
Добрый. Есть Blynk.virtualSync(V0). Вроде как раз то что нужно для Вам. на одном пишите в пин на другом из него читаете.
Blynk.virtualSync(V0) и есть по сути Blynk.pinstate.V0.AsInt.
>>Возможно ли как-то обратиться к пину как к объекту типа Blynk.pinstate.V0.AsInt вне BLYNK_WRITE()?
Нет. Не понял зачем? Вызываете синк, синк отрабатывает в BLYNK_WRITE там меняете переменную и отдаете в луп.
Да, спасибо, уже успел перечитать маны и с 3-го раза разобрался :)
я не могу решить одну проблему. у меня 4 слайсера. их значения считываю и вывожу на дисплей. так то не надо мне это, но обраружил глюк, и куда копать не знаю. короче залил код (раз 20 наверно заливал). так вот сначала значения по нулям и может так прилично стоять и ничего не изменится. все по нулям. хотя значения не нулевые. стоит один подвигать и его значения считаются и выводятся на экран правильно. остальные не трогаешь они так по нулям и остаются как на фото
даже 2 слайсера перевел в другой режим (в настройках), все тоже самое. но сттоит хоть немного сдвинуть и остальные - чтобы значения изменились сразу считывает. тут на фото каждый подвигал и числа появились
может не совсем понятно. пока слайсер не сдвинешь его значения не изменятся, а останется изначальное 0. хотя и при запуске программы (на смарфоне) слайсер уже сдвинут и показывает рядом со слайсером что он не нулевой (как на первом фото 1, 3, 4 слайсеры)
это по голове разработчику стукни чтоб кнопку добавил как везде "применить" которая принудительно все обновит и запишет.
сейчас видимо он у вас и реагирует только тогда когда вы пытаетесь изменить параметр дергая его
ну да. реагирует только на изменение. если не тронуть так и будет ноль
иОС, Андроид? Какая версия? локальный сервер или нет?
Слайдеры имеют изначальное значение 0. Не совсем понимаю в чем проблема. Если нужно выставить изначальное значение. То нужно или выставить в ранниг режиме или прислать с железки нужные через Blynk.virtualWrite.
Если проблема в том, что вы поменяли значение слайдера до того как железка вышла онлайн, то Вы можете вызвать Blynk.virtualSync(V0). И получите самое последнее значение с сервера.
это по голове разработчику стукни чтоб кнопку добавил как везде "применить" которая принудительно все обновит и запишет.
Это все есть. Так что бить нас не надо :).
анройд. ваш сервер. в слайсере регулировка стоит от 1, а не от ноля. там ноля никогда и не должно быть
попробую Blynk.virtualSync(V0) поможет или нет. проблема считывания только после заливки кода в есп. пусть даже такого же. нужно слайсер подвигать и появятся значения. потом работает нормально. за ночь с настройками включить свет в 3 часа ночи, и каждые 2 часа на 2 минуты воды справилась. правда свет не выключился в 6, но это уже моя ошибка в коде
Ага. Теперь проблему понял. Да, это возможно наша бага. Пофиксим. Спасибо за репорт.
да не за что. а то я голову сломал
а с чем может быть связано дублирование периодическое сообщения в терминал?
на фото этого нет, но периодически бывает и не так уже редко
Терминал - Наша бага. Уже пофиксили. Скоро будет апдейт.
хорошо)
Слайдеры раюотают правильно. Проверили. Используйте Blynk.virtualSync
хорошо
Дмитрий.
Помогите еще разобраться с синхронизайцией двух устройств.
Два девайса (далее 1) и 2)) ESP8266 сидят на одном виджете и привязаны к одному токену:
1) сюда подключены выключатель и реле, которое управляет светом. свет управляется через через виртуальный пин V0
2) сюда подключен голосовой модуль, который распознает команду и передает её на вход ESP-шки. далее ESP
считывает состояние V0, и пишет Blynk.virtualWrite(V0, LOW) или HIGH, в зависимости от состояния V0;
При этом, 1) модуль отрабатывает, как надо, управляет светом, реагирует на команды кнопки виджета, если нажимать на самом виджете. Вся логика включения/выключения реле света прописана в BLYNK_WRITE(V0)
2) модуль корректно шлёт команды серверу, кнопка на виджете меняет состояние как надо, а вот 1) модуль никак не реагирует, свет не включается,не выключается. Раньше все было на REST, работало как надо. Решил вот перевести на родной API, но чёта не догоняю...
Получается, что на девайсе 1) BLYNK_WRITE(V0) отрабатывается только если я нажал на кнопку виджета на смартфоне пальцем. А если я сотояние этого виджета изменил с девайса 2) через Blynk.virtualWrite(V0, LOW) то девайс 1) об этом ничего не знает. Хотя в доках написано, что BLYNK_WRITE должен вызываться при каждом Blynk.run() ?
В общем, опытным путем я выяснил, что если состояние Vпина изменилось программно через virtualWrite, то сервер другим девайсам на том же токене это событие не рассылает (рассылает всем, только если ты нажал на кнопку виджета на смартфоне).
Safari, а что за голосовой модуль на esp? Или это отдельная железка на uart?
отдельная на uart
Если проблема в том, что вы поменяли значение слайдера до того как железка вышла онлайн, то Вы можете вызвать Blynk.virtualSync(V0). И получите самое последнее значение с сервера.
да помогло. только пишется немного иначе
Дмитрий здравствуйте, можете подсказать?
измерение темпиратуры идет от DS18B20 - 3 штуки, подключены к разным пинам. Железка MEGA2560 и W5100
Функция измерения темпиратуры написал сам (для оптимизации кода), там при резете идет задержка 750 миллисекунд. При измерении темпиратуры пропадает связь иногда, где-то через раз. Измерение происходит раз в минуту, на разных промежутках времени для трех датчиков, т.е. за раз сразу три датчика не опрашиваются.
вот код измерения темпиратуры
Как избавиться от
или какую библиотеку лучше использовать для DS18B20 ?
сам написал этот код, а как пользоваться millis не знаешь?
@russo Здравствуйте. Я не эксперт по железу, поэтому не могу ответить. Но у нас на форуме есть несколько примеров рабочего кода. Вот например один из топиков с кодом - http://community.blynk.cc/t/ds18b20-measure-value/6986/4 или вот - http://community.blynk.cc/t/solved-ds18b20-high-value-on-blynk-app/3167/17. Взгляните пожайлуйста. Может найдете как воспользвоватся.