Страница 1 из 1

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

Добавлено: 04 мар 2018, 14:04
ussrsrtru
Предлагаю к рассмотрению:
- главный блок RTCvirtSRT_(CODE) для обращения на интернет-сервер реального времени
- вспомогательный блок DATEtoStrSRT_(CODE) для конвертации времени к строковому формату
- сервисный блок GetPeriodSRT_(FBD) для удобного расчета в проекте периода времени в часах и минутах.

Главный блок обязателен, а два других опциональны.
В прилагаемом примере обязательными становятся два блока, так как вся плата «Обработка глобального времени» взятая целиком, полностью имитирует наличие модуля RTC в проекте. Т.Е, если скопировать в свой проект всю плату, вы получите реальное время с регулярным "подведением" часов.
Я понимаю, что между корректировками времени может накопиться ошибка и весьма немалая, в виду того, что цикл обращения к интернету длинный и плохо влияет на все временные процессы в проекте. Но требования к точности хода в рамках бота не велики. Кроме того - вы всегда можете уменьшить время автономной работы по своему усмотрению, изменив параметр блока генератора "подвода" часов.
Оптимальный период между "подведениeм" часов в режиме - 1 минута.

/******************************************
04/03/2018 Изменен проект-пример: обнаружена неточность, был заблокирован автономный ход. Исправлено.
05/03/2018 Изменен проект-пример: Изменен вывод даты и времени строкой в плате реального времени
13/03/2018 Кардинально переработан бок: исключено отставание часов из-за пауз при обращении в интернет. Точность хода идеальная. Предусмотрен вывод "часа суток" и "минут в часе" в виде целочисленного значения. Легко строить будильники и суточные командоаппараты. Обновился состав прилагаемых файлов. Шаблон примера на FLP обновился полностью. Рекомендую использовать именно его.
/*******************************************
Пример и видеоинструкция прилагаются.
https://youtu.be/FW8m8tZFBFg

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

Добавлено: 04 мар 2018, 20:36
whitevip
[ref]ussrsrtru[/ref], блоки для ардуино уно подходят или только для esp?

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

Добавлено: 04 мар 2018, 20:38
Phazz
[ref]whitevip[/ref], это только для esp

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

Добавлено: 05 мар 2018, 12:00
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");

Если кто-то имеет шилд ардуино и знает, как проверить там наличие подключения - перепишите первую строку и можно проверять.

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

Добавлено: 13 мар 2018, 22:31
ussrsrtru
Коллеги - обновлен ПБ и пример.

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

Добавлено: 15 мар 2018, 18:02
31april
ussrsrtru писал(а): 13 мар 2018, 22:31Коллеги - обновлен ПБ и пример.
Спасибо! Да, теперь точность действительно хорошая. Со старым блоком RTCvirtSRT при задании запроса времени с ntp сервера 1 раз в полчаса, у меня было отставание в несколько минут (7-9). Сейчас - сказка!

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

Добавлено: 15 мар 2018, 23:01
ussrsrtru
Да, обращение к интернет останавливало основной цикл и таймеры FLP просто безбожно врали.
Пришлось в блоке перейти на millis() и теперь корректировать ход можно раз в час - идут как атомные :)))

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

Добавлено: 24 мар 2018, 22:02
Brand2
Можно ли использвать блок RTCvirtSRT_(CODE).ubi не с Телеграм ботом а например с RemoteXY ?
Подключение RemoteXY через облако.

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

Добавлено: 25 мар 2018, 06:11
Phazz
[ref]Brand2[/ref], да вообще не пролема, но только remoteXY ESP не поддерживается в flprog.

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

Добавлено: 25 мар 2018, 07:50
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

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

Добавлено: 26 мар 2018, 12:47
ussrsrtru
Phazz писал(а): 25 мар 2018, 06:11[ref]Brand2[/ref], да вообще не пролема, но только remoteXY ESP не поддерживается в flprog.
Присоединяюсь - ограничений работы часов нет.

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

Добавлено: 26 мар 2018, 13:02
Brand2
Странно,почему то в Telegram bot блок RTCvirtSRT_(CODE).ubi работает,с Remote XY нет,выдает 0,данные посылаю в UART и на Remote XY одновременно.

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

Добавлено: 28 мар 2018, 03:13
Сергей
[ref]ussrsrtru[/ref], доброй ночи. Подскажите есть ли у Вас в планах сделать возможность настроить подключение к wifi esp-шки без прошивки? К примеру, как в роутерах, кнопка-режим точки доступа - через веб морду вводим название сети/пароль и переходим в рабочий режим... Как то так?

Отправлено спустя 11 минут 3 секунды:
Просто, конечные пользователи не всегда смогут перепрошить себе еспху.
Пока видится вариант, подключить к ней еще и блютуз. В проекте из Вашего блока вывести два строковых входа с логином и паролем от вайфая. И через сторонние приложения, типа remotexy вводить имя сети и пароль, с телефона... Но это все костыли костыли.

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

Добавлено: 29 мар 2018, 22:50
ussrsrtru
Не вижу проблем с этим. Я задавал себе вопрос "а сможет ли пользователь каким - то образом ввести логин и пароль" и, признаться, не видел ответа. Поэтому решил прошивать в параметрах блока. Но ничего не стоит вывести два входа к блоку и все. С помощью коллег мы уже модернизировали ПБ и он теперь переключается на ту точку, которая доступна из списка в нем. Если будет время - сделаем и ваше предложение.

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

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

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

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

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

Добавлено: 30 мар 2018, 18:36
ussrsrtru
Подумаем. Но это вопрос не этого топика. Здесь тема про часы :)))

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