Перейти к содержанию
    

Arduino NTP клиент. Как задать сервер времени?

Заказчик хочет по WEB - интерфейсу задавать сервер времени. Но сервер времени задается на стадии создания структуры:

 

Quote

NTPClient timeClient(ntpUDP, "pool.ntp.org", utcOffsetInSeconds);

Как это изменить из программы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, Димон Безпарольный сказал:

Как это изменить из программы?

В смысле? pool.ntp.org - задать в виде строки-массива? Или в чем тут хитрость?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

char NtpServer[] = "pool.ntp.org";

NTPClient timeClient(ntpUDP, NtpServer, utcOffsetInSeconds);

и меняйте хоть заменяйтесь

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 hours ago, x893 said:

char NtpServer[] = "pool.ntp.org";

NTPClient timeClient(ntpUDP, NtpServer, utcOffsetInSeconds);

и меняйте хоть заменяйтесь

Я чего - то не понимаю. Это можно делать в цикле программы? Но ведь будет создаваться новая копия NTPClient или нет? А что будет со старой?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 часа назад, Димон Безпарольный сказал:

Но ведь будет создаваться новая копия NTPClient или нет? А что будет со старой?

Ну это ваш клиент, как он поступает только ему и вам известно. В моем случае новое соединение не создается, просто меняются параметры данного, как у вас он сделан - смотрите в исходники...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

15 hours ago, Димон Безпарольный said:

Как это изменить из программы?

timeClient.stop();

timeClient.setPoolServerName(AnotherPollName);

timeClient.begin();

 

P.S.

Как же в этой ардуине все примитивно. 
Иногда кажется чего мы мучаемся с этими RTOS-ами. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, AlexandrY сказал:

Как же в этой ардуине все примитивно. 

Азуры нет, да? :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 3/27/2021 at 1:01 PM, AlexandrY said:
On 3/27/2021 at 1:01 PM, AlexandrY said:

timeClient.stop();

timeClient.setPoolServerName(AnotherPollName);

timeClient.begin();

 

P.S.

Как же в этой ардуине все примитивно. 
Иногда кажется чего мы мучаемся с этими RTOS-ами. 

Спасибо!

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 3/27/2021 at 1:01 PM, AlexandrY said:

timeClient.stop();

timeClient.setPoolServerName(AnotherPollName);

Оказалось все непросто. Нет таких функций. Код не компилируется:

 

Quote

'class NTPClient' has no member named 'stop'

Понять не могу. Смотрю сюда:

https://github.com/arduino-libraries/NTPClient/blob/master/NTPClient.h

 

И вижу функцию 

void setPoolServerName(const char* poolServerName);

Но почему - то не компилируется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, Димон Безпарольный said:

Но почему - то не компилируется.

Это к профессору Кнуту.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, Димон Безпарольный сказал:

Но почему - то не компилируется.

Пишите на Си, там все проще и понятнее, чем на плюсах...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 minutes ago, mantech said:

Пишите на Си, там все проще и понятнее, чем на плюсах...

Да пофиг на чём.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, x893 сказал:

Да пофиг на чём.

Для профессионалов - да, пофиг, но для начинающих лучше проще, ИМХО.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, mantech said:

Для профессионалов - да, пофиг, но для начинающих лучше проще, ИМХО.

Начинающим надо для начала сходить в гости к профессору Кнуту.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...