1

У меня есть машина Raspberry Pi и Windows 10, они будут подключаться напрямую через RJ45 и в той же подсети, чтобы они могли общаться. Они оба будут полностью в автономном режиме без доступа к интернету, однако важно, чтобы время на Raspberry Pi было точным.

Я знаю, что ПК будет проводить время лучше, чем Raspberry Pi, поэтому я надеялся, что смогу найти способ, как Pi будет проводить время с ПК. Это возможно?

1 ответ1

1

Windows может обслуживать время с помощью службы времени Windows / w32tm

Есть старая запись в блоге MSDN Райана Сайзмора о работе Windows в качестве сервера времени:

Недавно у меня был вопрос от клиента, могут ли они использовать w32time в качестве источника времени для других компьютеров и устройств в своей сети. Служба времени Windows полностью способна выступать в качестве источника времени для всего, что соответствует NTPv3.

Запуск сервера

  1. Запустите сервис w32tm

    Вы можете запустить службу Windows Time из области « Services панели управления.

  2. Проверить с помощью командной строки с повышенными правами / powershell

    Win + x даст вам возможность Command prompt (Admin) , где вы можете ввести:

    w32tm /query /configuration
    

    Вы ищете строку, которая гласит:

    Enabled: 1 (Local)
    
  3. Если не включено, вы можете запросить реестр и добавить правильный ключ, если необходимо:

    query: reg query HKLM\system\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer

    add: reg add HKLM\system\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer /v Enabled /t REG_DWORD /d 0x1 /f

    обновление: w32tm /config /update

Используйте ПК с Windows в качестве источника времени для Pi

Вы говорите, что уже знаете, как заставить Pi использовать определенный адрес, но если вы используете дистрибутив Pi на основе Debian (например, Raspbian), вы обычно можете использовать ntpdate , например

 # ntpdate windowsPCaddr

когда повышен (то есть либо root / sudo); где windowsPCaddr - это адрес ПК с Windows, который вы уже определили.

Поиск проблемы

Я смог найти и запустить службу на новой установке Windows 10. Однако вы можете получить

The following error occurred: The serveice has note been started. (0x80070426)

в этом случае вам необходимо запустить службу из раздела Services панели управления (или его можно найти в меню Пуск с помощью функции поиска для «Services'- она указана как„приложение Desktop“).

Другие столкнулись со следующей ошибкой:

w32tm does not exist as an installed service

В этом случае команда для использования:

w32tm /register

[это] фактический способ установить его (используя командную строку, которая была запущена от имени администратора). Иногда вам нужна перезагрузка, чтобы навести порядок, но я просто подождал некоторое время без перезагрузки.

С благодарностью на ответ Томаша Гандора.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .