Este é o comando radioclkd que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS
PROGRAMA:
NOME
radioclkd - decodifica o tempo do (s) relógio (es) de rádio conectado à porta serial
SINOPSE
radiocldd [ -tphv ] dispositivo
DESCRIÇÃO
radiocldd é um daemon simples que decodifica a hora de um dispositivo de rádio-relógio conectado a
as linhas de status DCD e / ou CTS e / ou DSR da porta serial de um computador. É capaz de
decodificar os sinais de tempo DCF77, MSF e WWVB. A hora recebida é então enviada para ntpd utilização
o driver de relógio de referência de memória compartilhada. O tipo de sinal de hora que está sendo recebido é
determinado automaticamente. Se você tiver problemas para fazer o programa funcionar usando
interrupções, o seguinte comando é conhecido por ajudar em muitos casos. Se isso falhar com você
sempre pode recorrer ao método de votação.
stty crtscts </ dev / ttyS0
Detalhes sobre um dispositivo barato e fácil de fazer para receber esses sinais de tempo podem ser encontrados
at
http://www.buzzard.org.uk/jonathan/radioclock.html
OPÇÕES
-p, --votação
Pesquise a porta serial para mudanças de status nas linhas DCD, CTS e DSR, em vez
do que usar interrupções
-t, --teste
Entre no modo de teste imprimindo a duração de cada pulso e o tempo decodificado no final
de cada minuto no stdout. A hora não é enviada para ntpd usando a memória compartilhada
driver de relógio de referência neste modo.
-h, --Socorro
Imprima uma breve sinopse dos argumentos da linha de comando.
-dentro, --versão
Imprima o número da versão e saia.
CONFIGURAÇÃO
A configuração é muito simples. Use o servidor 127.127.28.0 em seu arquivo ntp.conf para um relógio
conectado à linha DCD, servidor 127.127.28.1 para um relógio conectado à linha CTS, e
servidor 127.127.28.2 para um relógio conectado à linha DSR. Você também vai querer usar um
linha fudge no servidor para alterar o refid exibido.
CALIBRAÇÃO
Devido a atrasos na propagação do sinal de rádio, é processado pelo receptor
placa e a latência do sistema operacional o tempo decodificado pelo receptor será
ligeiramente deslocado do UTC real. Normalmente, esse atraso será inferior a 20 ms, a menos que
você é muito exigente quanto ao horário ou está usando mais de uma fonte de tempo, como um GPS
unidade, outro rádio relógio ou servidor NTP na Internet, você pode ignorar esta seção.
O básico do procedimento de calibração é determinar o deslocamento médio do rádio
receptor e use o fator de correção time1 em ntp.conf para trazer o receptor o mais próximo
possível em tempo real. A maneira mais fácil de determinar o deslocamento do rádio
o tempo dos receptores é executá-lo contra um relógio de referência que não sofre destes
problemas. O melhor relógio de referência seria uma unidade GPS. Pode ser uma unidade GPS que você
não queira se dedicar a guardar o tempo ou a uma unidade emprestada. Se isso não for possível você
poderia usar um servidor stratum 1 na Internet.
O método de calibração é bastante simples. Anexamos o relógio de referência de calibração a
o computador e distorcer o estrato do nosso receptor de rádio até dizer 5. Assim podemos ser
certifique-se de que o ntpd travará no relógio de referência de calibração. Precisamos ter certeza de que
ntpd está configurado para coletar estatísticas de pares, portanto, certifique-se de que temos algumas linhas semelhantes a
estes em ntp.conf
diretório de estatísticas / var / log / ntpstats /
estatísticas loopstats peerstats clockstats
filegen peerstats arquivo peerstats tipo dia habilitar
Depois disso, reiniciamos o ntpd e o deixamos em execução por várias horas. Podemos então fazer uma cópia
o arquivo peerstats. O truque é remover todas as entradas antes que o ntpd seja fechado
acordo com o relógio de referência de calibração e, em seguida, execute o script peer.awk no
scripts / diretório de estatísticas da distribuição ntp. Isso nos dará uma compensação média de nosso
receptores de rádio em milissegundos. Isso pode ser convertido em segundos e adicionado ao
linha fudge em ntp.conf para nosso receptor.
A etapa final é remover a mudança no nível de estrato para nosso relógio de referência e
reinicie o ntpd. Se você mover o receptor para qualquer distância significativa, você precisará
repita esta etapa de calibração. Do outro lado da sala ou ao redor do prédio atual vai ficar bem,
mas se você movê-lo para a próxima cidade, será necessário recalibrar.
IN USO
A versão do ntpd que vem com a maioria das distribuições Linux não tem o compartilhamento
driver de relógio de referência de memória compilado por padrão. Isso pode ser identificado verificando
os logs depois ntpd começou. Se o driver de relógio de referência de memória compartilhada não for
compilado em seguida, os logs conterão avisos sobre o driver do relógio de referência não ser
reconhecido. Compilar ntpd com o driver de relógio de referência de memória compartilhada, você deve especificar
da --enable-SHM opção ao executar configure.
Nem radiocldd or ntpd sempre marque o segmento de memória compartilhada para exclusão. Se você parar
usando o driver de relógio de referência de memória compartilhada, portanto, quaisquer segmentos de memória compartilhada irão
persistir até que você reinicie ou exclua manualmente o segmento usando ipcrm. Os segmentos podem ser
identificado como aquele com a chave 0x4e545030, 0x4e545031 ou 0x4e545032 usando o ipcs
comando.
Use o radioclkd online usando os serviços onworks.net