Выполнение процесса по точному времени

VlaR
Offline
Зарегистрирован: 17.02.2016

Уважаемые, подскажите как реализовать алгоритм срабатывания реле по точному времени, например 8.00 и 20.00??? Ардуина имеет выход в инет, может как через синхронизацию по ntp, что-то не нашёл примеры реализации.  

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

так вроде навалом примеров с NTP, вот, например прямо на arduino.cc - http://playground.arduino.cc/Code/NTPclient

Григорий2016
Григорий2016 аватар
Offline
Зарегистрирован: 05.05.2016

Доброго времени суток.

Прошу помощи по теме...



Использую универсальную библиотеку для работы с ZS-042. Скачал от седа: iarduino.ru/file/235.html

Необходимо в 6 утра включить реле, а в 7 утра выключить реле. Ну и вечером с 18 до 19.

Не могу присвоить переменной Х время с модуля ZS-042 путём int x = time.gettime("h") выдаёт следующую ошибку:

"exit status 1
invalid conversion from 'char*' to 'int' [-fpermissive]"

потом намерен использовать оператор If х>6 && х<7 "включаем реле" else "выключаем реле"

Что делать? Куда копать?
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ну, ясно ж сказано,  time.gettime("h") возвращает указатель на символ, а не число. Что у Вас за библиотека-то?

Григорий2016
Григорий2016 аватар
Offline
Зарегистрирован: 05.05.2016

Цитата:
 Что у Вас за библиотека-то?

Указал ссылку где скачал. как охарактеризовать её я не знаю...

Araris
Offline
Зарегистрирован: 09.11.2012

Функция gettime() в данной библиотеке не возвращает число, она возвращает значение типа char.

Вместо int x = time.gettime("h"); напишите int x = atoi(time.gettime("h"));

Григорий2016
Григорий2016 аватар
Offline
Зарегистрирован: 05.05.2016

Araris, огромное СПАСИБО!!!

redsunset
Offline
Зарегистрирован: 12.09.2018

Библиотека написана на Русском языке, ну хоть чуть чуть почитайте сайт откуда её скчиваете )))

time.gettime(); // эта функция не возвращает не значение типа char а возвращает указатель на строку!
 
int x = time.hours; // часы от 1 до 12.
int xx = time.Hours; // часы от 0 до 23.
int y = time.minutes; // минуты от 0 до 59.
int z = time.seconds; // секунды от 0 до 59.
int a = time.year; // год от 0 до 99.
int b = time.month; // месяц от 1 до 12.
int c = time.day; // день месяца от 1 до 31.
int d = time.weekday; // день недели от 0 до 6 (0-воскресенье, 6-суббота).
int z = time.midday // 0-am, 1-pm.
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

redsunset, Вы бы на даты публикаций на которые отвечаете иногда смотрели :)

redsunset
Offline
Зарегистрирован: 12.09.2018

ЕвгенийП, а сюда и из поисковиков люди заходят, так пусть лучше они реальные ответы видят, а не повторные темы содают d:-ь