Виртуальный модуль RTC для TelegramBot

Пользовательские блоки для коммкникации и связи GSM, GPRS, IR, Bluetooth и другие
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Ответить
Аватара пользователя
ussrsrtru
Рядовой
Сообщения: 36
Зарегистрирован: 27 фев 2018, 14:33
Имя: Sergey

Виртуальный модуль RTC для TelegramBot

Сообщение ussrsrtru »

Предлагаю к рассмотрению:
- главный блок 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 раза.
"Зри в корень!" К. Прутков.
whitevip
Лейтенант
Сообщения: 492
Зарегистрирован: 01 апр 2017, 20:25
Имя: Имя

Виртуальный модуль RTC для TelegramBot

Сообщение whitevip »

[ref]ussrsrtru[/ref], блоки для ардуино уно подходят или только для esp?
:smile37:
Аватара пользователя
Phazz
Полковник
Сообщения: 3121
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 233 раза
Поблагодарили: 114 раз

Виртуальный модуль RTC для TelegramBot

Сообщение Phazz »

[ref]whitevip[/ref], это только для esp
Аватара пользователя
ussrsrtru
Рядовой
Сообщения: 36
Зарегистрирован: 27 фев 2018, 14:33
Имя: Sergey

Виртуальный модуль RTC для TelegramBot

Сообщение ussrsrtru »

Лично я выход в интернет использую только с 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");

Если кто-то имеет шилд ардуино и знает, как проверить там наличие подключения - перепишите первую строку и можно проверять.
"Зри в корень!" К. Прутков.
Аватара пользователя
ussrsrtru
Рядовой
Сообщения: 36
Зарегистрирован: 27 фев 2018, 14:33
Имя: Sergey

Виртуальный модуль RTC для TelegramBot

Сообщение ussrsrtru »

Коллеги - обновлен ПБ и пример.
"Зри в корень!" К. Прутков.
31april
Рядовой
Сообщения: 9
Зарегистрирован: 27 окт 2016, 18:15
Откуда: Обнинск
Имя: Игорь

Виртуальный модуль RTC для TelegramBot

Сообщение 31april »

ussrsrtru писал(а): 13 мар 2018, 22:31Коллеги - обновлен ПБ и пример.
Спасибо! Да, теперь точность действительно хорошая. Со старым блоком RTCvirtSRT при задании запроса времени с ntp сервера 1 раз в полчаса, у меня было отставание в несколько минут (7-9). Сейчас - сказка!
Аватара пользователя
ussrsrtru
Рядовой
Сообщения: 36
Зарегистрирован: 27 фев 2018, 14:33
Имя: Sergey

Виртуальный модуль RTC для TelegramBot

Сообщение ussrsrtru »

Да, обращение к интернет останавливало основной цикл и таймеры FLP просто безбожно врали.
Пришлось в блоке перейти на millis() и теперь корректировать ход можно раз в час - идут как атомные :)))
"Зри в корень!" К. Прутков.
Brand2
Лейтенант
Сообщения: 450
Зарегистрирован: 26 фев 2018, 21:27
Откуда: Haifa
Имя: Alex
Благодарил (а): 2 раза
Поблагодарили: 5 раз

Виртуальный модуль RTC для TelegramBot

Сообщение Brand2 »

Можно ли использвать блок RTCvirtSRT_(CODE).ubi не с Телеграм ботом а например с RemoteXY ?
Подключение RemoteXY через облако.
Аватара пользователя
Phazz
Полковник
Сообщения: 3121
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 233 раза
Поблагодарили: 114 раз

Виртуальный модуль RTC для TelegramBot

Сообщение Phazz »

[ref]Brand2[/ref], да вообще не пролема, но только remoteXY ESP не поддерживается в flprog.
Brand2
Лейтенант
Сообщения: 450
Зарегистрирован: 26 фев 2018, 21:27
Откуда: Haifa
Имя: Alex
Благодарил (а): 2 раза
Поблагодарили: 5 раз

Виртуальный модуль RTC для TelegramBot

Сообщение Brand2 »

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
Аватара пользователя
ussrsrtru
Рядовой
Сообщения: 36
Зарегистрирован: 27 фев 2018, 14:33
Имя: Sergey

Виртуальный модуль RTC для TelegramBot

Сообщение ussrsrtru »

Phazz писал(а): 25 мар 2018, 06:11[ref]Brand2[/ref], да вообще не пролема, но только remoteXY ESP не поддерживается в flprog.
Присоединяюсь - ограничений работы часов нет.
"Зри в корень!" К. Прутков.
Brand2
Лейтенант
Сообщения: 450
Зарегистрирован: 26 фев 2018, 21:27
Откуда: Haifa
Имя: Alex
Благодарил (а): 2 раза
Поблагодарили: 5 раз

Виртуальный модуль RTC для TelegramBot

Сообщение Brand2 »

Странно,почему то в 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 вводить имя сети и пароль, с телефона... Но это все костыли костыли.
Аватара пользователя
ussrsrtru
Рядовой
Сообщения: 36
Зарегистрирован: 27 фев 2018, 14:33
Имя: Sergey

Виртуальный модуль RTC для TelegramBot

Сообщение ussrsrtru »

Не вижу проблем с этим. Я задавал себе вопрос "а сможет ли пользователь каким - то образом ввести логин и пароль" и, признаться, не видел ответа. Поэтому решил прошивать в параметрах блока. Но ничего не стоит вывести два входа к блоку и все. С помощью коллег мы уже модернизировали ПБ и он теперь переключается на ту точку, которая доступна из списка в нем. Если будет время - сделаем и ваше предложение.
"Зри в корень!" К. Прутков.
Аватара пользователя
grin-mpx
Лейтенант
Сообщения: 477
Зарегистрирован: 17 июл 2017, 18:39
Откуда: Днепр. UA
Имя: Григорий

Виртуальный модуль RTC для TelegramBot

Сообщение grin-mpx »

В идеале было-бы удобно задавать параметры соединения внешними переменными, а не изменениями внутри блока. Тогда была-бы возможность без перепрошивки подключаться к любой точке доступа. У меня к сожалению, на это мозгов пока не хватает. Пока положил проект в ящик, но с ботом таки побаловался. Спасибо авторам за блок.
Я про это:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31 авг 2015, 15:06
Имя: Сергей
Контактная информация:

Виртуальный модуль RTC для TelegramBot

Сообщение Сергей »

ussrsrtru писал(а): 29 мар 2018, 22:50 Но ничего не стоит вывести два входа к блоку и все. С помощью коллег мы уже модернизировали ПБ и он теперь переключается на ту точку, которая доступна из списка в нем. Если будет время - сделаем и ваше предложение.
Вывести, данные подключения к файфаю, из блока не проблема. Вопрос в том как бы сделать ввод имени сети и пароля (либо без него, если в точке доступа исп. фильтрация по МАКам) в готовое устройство. В идеале это кнопка на устройстве для переключения его в режим точки доступа с известными параметрами и обращение к ней через веб браузер для ввода имени вайфая и сохранению его в еепром. От куда потом Ваш блок будет брать эти параметры... Для этого надо код блока доработать.
Костыльный способ это прикручивать блютуз и через например ремотеXY вводить эти строки. Каскада для этих целей не подойдет.
Аватара пользователя
ussrsrtru
Рядовой
Сообщения: 36
Зарегистрирован: 27 фев 2018, 14:33
Имя: Sergey

Виртуальный модуль RTC для TelegramBot

Сообщение ussrsrtru »

Подумаем. Но это вопрос не этого топика. Здесь тема про часы :)))

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

Вернуться в «Коммуникация и связь»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя