Виртуальный модуль RTC для TelegramBot
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Виртуальный модуль RTC для TelegramBot
Предлагаю к рассмотрению:
- главный блок RTCvirtSRT_(CODE) для обращения на интернет-сервер реального времени
- вспомогательный блок DATEtoStrSRT_(CODE) для конвертации времени к строковому формату
- сервисный блок GetPeriodSRT_(FBD) для удобного расчета в проекте периода времени в часах и минутах.
Главный блок обязателен, а два других опциональны.
В прилагаемом примере обязательными становятся два блока, так как вся плата «Обработка глобального времени» взятая целиком, полностью имитирует наличие модуля RTC в проекте. Т.Е, если скопировать в свой проект всю плату, вы получите реальное время с регулярным "подведением" часов.
Я понимаю, что между корректировками времени может накопиться ошибка и весьма немалая, в виду того, что цикл обращения к интернету длинный и плохо влияет на все временные процессы в проекте. Но требования к точности хода в рамках бота не велики. Кроме того - вы всегда можете уменьшить время автономной работы по своему усмотрению, изменив параметр блока генератора "подвода" часов.
Оптимальный период между "подведениeм" часов в режиме - 1 минута.
/******************************************
04/03/2018 Изменен проект-пример: обнаружена неточность, был заблокирован автономный ход. Исправлено.
05/03/2018 Изменен проект-пример: Изменен вывод даты и времени строкой в плате реального времени
13/03/2018 Кардинально переработан бок: исключено отставание часов из-за пауз при обращении в интернет. Точность хода идеальная. Предусмотрен вывод "часа суток" и "минут в часе" в виде целочисленного значения. Легко строить будильники и суточные командоаппараты. Обновился состав прилагаемых файлов. Шаблон примера на FLP обновился полностью. Рекомендую использовать именно его.
/*******************************************
Пример и видеоинструкция прилагаются.
https://youtu.be/FW8m8tZFBFg
- главный блок RTCvirtSRT_(CODE) для обращения на интернет-сервер реального времени
- вспомогательный блок DATEtoStrSRT_(CODE) для конвертации времени к строковому формату
- сервисный блок GetPeriodSRT_(FBD) для удобного расчета в проекте периода времени в часах и минутах.
Главный блок обязателен, а два других опциональны.
В прилагаемом примере обязательными становятся два блока, так как вся плата «Обработка глобального времени» взятая целиком, полностью имитирует наличие модуля RTC в проекте. Т.Е, если скопировать в свой проект всю плату, вы получите реальное время с регулярным "подведением" часов.
Я понимаю, что между корректировками времени может накопиться ошибка и весьма немалая, в виду того, что цикл обращения к интернету длинный и плохо влияет на все временные процессы в проекте. Но требования к точности хода в рамках бота не велики. Кроме того - вы всегда можете уменьшить время автономной работы по своему усмотрению, изменив параметр блока генератора "подвода" часов.
Оптимальный период между "подведениeм" часов в режиме - 1 минута.
/******************************************
04/03/2018 Изменен проект-пример: обнаружена неточность, был заблокирован автономный ход. Исправлено.
05/03/2018 Изменен проект-пример: Изменен вывод даты и времени строкой в плате реального времени
13/03/2018 Кардинально переработан бок: исключено отставание часов из-за пауз при обращении в интернет. Точность хода идеальная. Предусмотрен вывод "часа суток" и "минут в часе" в виде целочисленного значения. Легко строить будильники и суточные командоаппараты. Обновился состав прилагаемых файлов. Шаблон примера на FLP обновился полностью. Рекомендую использовать именно его.
/*******************************************
Пример и видеоинструкция прилагаются.
https://youtu.be/FW8m8tZFBFg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось ussrsrtru 13 мар 2018, 22:31, всего редактировалось 3 раза.
"Зри в корень!" К. Прутков.
Виртуальный модуль RTC для TelegramBot
[ref]ussrsrtru[/ref], блоки для ардуино уно подходят или только для esp?

- Phazz
- Полковник
- Сообщения: 3121
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 233 раза
- Поблагодарили: 114 раз
Виртуальный модуль RTC для TelegramBot
Лично я выход в интернет использую только с esp. Как работает в инете ардуино не разбирался. Но по тексту блока видно, что WiFi упоминается один раз в функции void timeSynch(int zone) : при проверке наличия подключения.
if (WiFi.status() == WL_CONNECTED) {
// Настройка соединения с NTP сервером
configTime(zone * 3600, 0, TimeServer1 , TimeServer2 );
int i = 0;
Serial.println("\nWaiting for time");
Если кто-то имеет шилд ардуино и знает, как проверить там наличие подключения - перепишите первую строку и можно проверять.
if (WiFi.status() == WL_CONNECTED) {
// Настройка соединения с NTP сервером
configTime(zone * 3600, 0, TimeServer1 , TimeServer2 );
int i = 0;
Serial.println("\nWaiting for time");
Если кто-то имеет шилд ардуино и знает, как проверить там наличие подключения - перепишите первую строку и можно проверять.
"Зри в корень!" К. Прутков.
Виртуальный модуль RTC для TelegramBot
Спасибо! Да, теперь точность действительно хорошая. Со старым блоком RTCvirtSRT при задании запроса времени с ntp сервера 1 раз в полчаса, у меня было отставание в несколько минут (7-9). Сейчас - сказка!
Виртуальный модуль RTC для TelegramBot
Да, обращение к интернет останавливало основной цикл и таймеры FLP просто безбожно врали.
Пришлось в блоке перейти на millis() и теперь корректировать ход можно раз в час - идут как атомные
))
Пришлось в блоке перейти на millis() и теперь корректировать ход можно раз в час - идут как атомные

"Зри в корень!" К. Прутков.
-
- Лейтенант
- Сообщения: 450
- Зарегистрирован: 26 фев 2018, 21:27
- Откуда: Haifa
- Имя: Alex
- Благодарил (а): 2 раза
- Поблагодарили: 5 раз
Виртуальный модуль RTC для TelegramBot
Можно ли использвать блок RTCvirtSRT_(CODE).ubi не с Телеграм ботом а например с RemoteXY ?
Подключение RemoteXY через облако.
Подключение RemoteXY через облако.
- Phazz
- Полковник
- Сообщения: 3121
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 233 раза
- Поблагодарили: 114 раз
Виртуальный модуль RTC для TelegramBot
[ref]Brand2[/ref], да вообще не пролема, но только remoteXY ESP не поддерживается в flprog.
-
- Лейтенант
- Сообщения: 450
- Зарегистрирован: 26 фев 2018, 21:27
- Откуда: Haifa
- Имя: Alex
- Благодарил (а): 2 раза
- Поблагодарили: 5 раз
Виртуальный модуль RTC для TelegramBot
ESP12 можно програмировать в FLProg ,задав в REMOTE XY конфигурацию как ARDUINO UNO(MEGA) +ESP01,загрузить полученный код в FLProg, а потом перед
компиляцией в самом скетче вместо
1 #define REMOTEXY_MODE__ESP8266_HARDSERIAL_CLOUD
прописать
1 #define REMOTEXY_MODE__ESP8266WIFI_LIB_CLOUD
#include <ESP8266WiFi.h>
и загрузить в ESP12
компиляцией в самом скетче вместо
1 #define REMOTEXY_MODE__ESP8266_HARDSERIAL_CLOUD
прописать
1 #define REMOTEXY_MODE__ESP8266WIFI_LIB_CLOUD
#include <ESP8266WiFi.h>
и загрузить в ESP12
Виртуальный модуль RTC для TelegramBot
Присоединяюсь - ограничений работы часов нет.Phazz писал(а): 25 мар 2018, 06:11[ref]Brand2[/ref], да вообще не пролема, но только remoteXY ESP не поддерживается в flprog.
"Зри в корень!" К. Прутков.
-
- Лейтенант
- Сообщения: 450
- Зарегистрирован: 26 фев 2018, 21:27
- Откуда: Haifa
- Имя: Alex
- Благодарил (а): 2 раза
- Поблагодарили: 5 раз
Виртуальный модуль RTC для TelegramBot
Странно,почему то в Telegram bot блок RTCvirtSRT_(CODE).ubi работает,с Remote XY нет,выдает 0,данные посылаю в UART и на Remote XY одновременно.
- Сергей
- Лейтенант
- Сообщения: 578
- Зарегистрирован: 31 авг 2015, 15:06
- Имя: Сергей
- Контактная информация:
Виртуальный модуль RTC для TelegramBot
[ref]ussrsrtru[/ref], доброй ночи. Подскажите есть ли у Вас в планах сделать возможность настроить подключение к wifi esp-шки без прошивки? К примеру, как в роутерах, кнопка-режим точки доступа - через веб морду вводим название сети/пароль и переходим в рабочий режим... Как то так?
Отправлено спустя 11 минут 3 секунды:
Просто, конечные пользователи не всегда смогут перепрошить себе еспху.
Пока видится вариант, подключить к ней еще и блютуз. В проекте из Вашего блока вывести два строковых входа с логином и паролем от вайфая. И через сторонние приложения, типа remotexy вводить имя сети и пароль, с телефона... Но это все костыли костыли.
Отправлено спустя 11 минут 3 секунды:
Просто, конечные пользователи не всегда смогут перепрошить себе еспху.
Пока видится вариант, подключить к ней еще и блютуз. В проекте из Вашего блока вывести два строковых входа с логином и паролем от вайфая. И через сторонние приложения, типа remotexy вводить имя сети и пароль, с телефона... Но это все костыли костыли.
Виртуальный модуль RTC для TelegramBot
Не вижу проблем с этим. Я задавал себе вопрос "а сможет ли пользователь каким - то образом ввести логин и пароль" и, признаться, не видел ответа. Поэтому решил прошивать в параметрах блока. Но ничего не стоит вывести два входа к блоку и все. С помощью коллег мы уже модернизировали ПБ и он теперь переключается на ту точку, которая доступна из списка в нем. Если будет время - сделаем и ваше предложение.
"Зри в корень!" К. Прутков.
- grin-mpx
- Лейтенант
- Сообщения: 477
- Зарегистрирован: 17 июл 2017, 18:39
- Откуда: Днепр. UA
- Имя: Григорий
Виртуальный модуль RTC для TelegramBot
В идеале было-бы удобно задавать параметры соединения внешними переменными, а не изменениями внутри блока. Тогда была-бы возможность без перепрошивки подключаться к любой точке доступа. У меня к сожалению, на это мозгов пока не хватает. Пока положил проект в ящик, но с ботом таки побаловался. Спасибо авторам за блок.
Я про это:
Я про это:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Сергей
- Лейтенант
- Сообщения: 578
- Зарегистрирован: 31 авг 2015, 15:06
- Имя: Сергей
- Контактная информация:
Виртуальный модуль RTC для TelegramBot
Вывести, данные подключения к файфаю, из блока не проблема. Вопрос в том как бы сделать ввод имени сети и пароля (либо без него, если в точке доступа исп. фильтрация по МАКам) в готовое устройство. В идеале это кнопка на устройстве для переключения его в режим точки доступа с известными параметрами и обращение к ней через веб браузер для ввода имени вайфая и сохранению его в еепром. От куда потом Ваш блок будет брать эти параметры... Для этого надо код блока доработать.ussrsrtru писал(а): 29 мар 2018, 22:50 Но ничего не стоит вывести два входа к блоку и все. С помощью коллег мы уже модернизировали ПБ и он теперь переключается на ту точку, которая доступна из списка в нем. Если будет время - сделаем и ваше предложение.
Костыльный способ это прикручивать блютуз и через например ремотеXY вводить эти строки. Каскада для этих целей не подойдет.
Виртуальный модуль RTC для TelegramBot
Подумаем. Но это вопрос не этого топика. Здесь тема про часы
))
Отправлено спустя 1 минуту 15 секунд:

Отправлено спустя 1 минуту 15 секунд:
Сделаем...grin-mpx писал(а): 29 мар 2018, 23:31В идеале было-бы удобно задавать параметры соединения внешними переменными, а не изменениями внутри блока. Тогда была-бы возможность без перепрошивки подключаться к любой точке доступа. У меня к сожалению, на это мозгов пока не хватает. Пока положил проект в ящик, но с ботом таки побаловался. Спасибо авторам за блок.
Я про это:
"Зри в корень!" К. Прутков.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя