Este es el comando radioclkd que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
radioclkd - decodificar la hora de los radio reloj (s) conectados al puerto serie
SINOPSIS
radioclkd [ -tphv ] de dispositivos
DESCRIPCIÓN
radioclkd es un demonio simple que decodifica la hora de un dispositivo de reloj de radio conectado a
las líneas de estado DCD y / o CTS y / o DSR del puerto serie de una computadora. Es capaz de
decodificar las señales horarias DCF77, MSF y WWVB. La hora recibida se envía a ntpd usando
el controlador de reloj de referencia de memoria compartida. El tipo de señal horaria que se recibe es
determinado automáticamente. Si tiene problemas para que el programa funcione utilizando
interrumpe, se sabe que el siguiente comando ayuda en muchos casos. Si esto te falla
siempre puede recurrir al método de votación.
stty crtscts </ dev / ttyS0
Se pueden encontrar detalles sobre un dispositivo barato y fácil de fabricar para recibir estas señales horarias.
at
http://www.buzzard.org.uk/jonathan/radioclock.html
OPCIONES
-pag, --encuesta
Consulte el puerto serie para ver si hay cambios de estado en las líneas DCD, CTS y DSR en lugar de
que usar interrupciones
-t, --prueba
Ingrese al modo de prueba imprimiendo la longitud de cada pulso y el tiempo decodificado al final
de cada minuto en stdout. La hora no se envía a ntpd usando la memoria compartida
controlador de reloj de referencia en este modo.
-h, --ayuda
Imprima una breve sinopsis de los argumentos de la línea de comandos.
-v, --versión
Imprima el número de versión y luego salga.
CONFIGURACIÓN
La configuración es muy sencilla. Utilice el servidor 127.127.28.0 en su archivo ntp.conf para un reloj
conectado a la línea DCD, servidor 127.127.28.1 para un reloj conectado a la línea CTS, y
servidor 127.127.28.2 para un reloj adjunto a la línea DSR. También querrá utilizar un
fudge line en el servidor para cambiar el refid mostrado.
CALIBRACION
Debido a retrasos en la propagación de la señal de radio, el receptor la procesa.
placa y la latencia del sistema operativo el tiempo decodificado por el receptor será
ligeramente desviado del UTC real. Normalmente, este retraso será inferior a 20 ms, por lo que, a menos que
es muy quisquilloso con la hora o está utilizando más de una fuente de tiempo, como un GPS
unidad, otro radio reloj o servidor NTP en Internet, puede ignorar esta sección.
Lo básico del procedimiento de calibración es determinar la desviación promedio de la radio.
receptor, y use el factor de modificación time1 en ntp.conf para acercar el receptor lo más posible
posible al tiempo real. La forma más sencilla de determinar el desplazamiento de la radio.
El tiempo del receptor es ejecutarlo contra un reloj de referencia que no sufra de estos
problemas. El mejor reloj de referencia sería una unidad GPS. Esta podría ser una unidad GPS que
no deseo dedicarlo a guardar el tiempo, o una unidad prestada. Si esto no es posible tu
podría utilizar un servidor de estrato 1 en Internet.
El método de calibración es bastante sencillo. Adjuntamos el reloj de referencia de calibración a
la computadora y modifique el estrato de nuestro receptor de radio para decir 5. De esta manera podemos ser
asegúrese de que ntpd se bloqueará en el reloj de referencia de calibración. Necesitamos asegurarnos de que
ntpd está configurado para recopilar estadísticas de pares, así que asegúrese de tener algunas líneas similares a
estos en ntp.conf
dir de estadísticas / var / log / ntpstats /
estadísticas loopstats peerstats clockstats
filegen peerstats file peerstats tipo día habilitado
Después de eso, reiniciamos ntpd y lo dejamos funcionando durante varias horas. Entonces podemos hacer una copia
el archivo peerstats. El truco consiste en eliminar todas las entradas antes de que ntpd se cierre
agregación con el reloj de referencia de calibración y luego ejecute el script peer.awk en el
directorio scripts / stats de la distribución ntp. Esto nos dará una compensación media de nuestra
receptores de radio en milisegundos. Esto se puede convertir en segundos y agregar al
fudge line en ntp.conf para nuestro receptor.
El último paso es eliminar el cambio en el nivel de estrato de nuestro reloj de referencia y
reinicie ntpd. Si mueve el receptor una distancia significativa, necesitará
Repita este paso de calibración. Al otro lado de la habitación o alrededor del edificio actual estará bien,
pero si lo mueve a la siguiente ciudad, deberá volver a calibrarlo.
IN USO
La versión de ntpd que viene con la mayoría de las distribuciones de Linux no tiene el compartimiento
controlador de reloj de referencia de memoria compilado de forma predeterminada. Esto se puede identificar marcando
los registros después ntpd Está empezado. Si el controlador del reloj de referencia de memoria compartida no
compilados, los registros contendrán advertencias sobre el controlador del reloj de referencia que no se
Reconocido. Compilar ntpd con el controlador de reloj de referencia de memoria compartida debe especificar
la --habilitar-SHM opción al ejecutar configure.
Neither radioclkd or ntpd nunca marque el segmento de memoria compartida para su eliminación. Si te detienes
utilizando el controlador de reloj de referencia de memoria compartida, por lo tanto, cualquier segmento de memoria compartida
persistir hasta que reinicie o elimine manualmente el segmento usando ipcrm. Los segmentos pueden ser
identificado como el que tiene la clave 0x4e545030, 0x4e545031 o 0x4e545032 usando el ips
mando.
Utilice radioclkd en línea utilizando los servicios de onworks.net
