ubuntu/LinuxMintで電波を利用した時刻同期をPCで実行するJJYシミュレータWeb版の利用

1.概要

PC環境では時刻の同期にNTPを利用します。しかし、時計の世界では電波による時刻同期が利用されます。日本国内に2箇所の電波発信塔があり、その電波に合わせることで時計の時刻をずれることなく同期することができます。

NTPと電波同期の両方を利用することで、NTPで同期した時刻を電波に変えてPCのスピーカーから発信して、時計の時刻を同期できます。この資料を見つけたので試してみました。外部スピーカーが必要になるのでデスクトップPCの方が良さそうです。

電波時計を複数(腕時計、目覚まし時計)所有していますが、室内の電波の状態が悪く時刻同期できないため、ベランダなどに出て時刻同期をしていました。ネットを調べるとJJYシミュレータWeb版が存在し、ubuntu/LinuxMint環境でも動作したので、本内容を記述します。

2.詳細

ubuntuのDesktopPCには外部電源で動作する外付けのスピーカーを接続しています。ubuntu側は設定->サウンドでシステムの音量を最大にし、更に過増幅をオンにします。スピーカーのボリュームは通常のボリューム状態に設定したままで、JJYシミュレータWeb版を起動します。これで、PCの時刻と電波時計の時刻を同期できます。注意点はPCの時刻をNTPサーバと同期させておくことです。

(1) 設定

参考資料のJJYシミュレータWeb版をFirefoxで開き、Startボタンを押します。
Webページに緑色、黄色、赤色が移動しながら点灯し、ピー、ピーと音が鳴ります。
これで準備できました。

(2) 電波時計の同期

外付けスピーカーの側に電波時計を設置して同期します。
2〜3分程度で同期できました。

3.所見

電波時計の電波は建物内部では受信が難しい場所があり、屋外で設定する必要がありありますが、時間の経過でズレてしまいます。設定環境を用意すると定期的な調整ができて便利です。

スピーカー音でなく、スピーカーを鳴らすためにコイルに流れる電流を利用して微弱な電波を発信する仕組みと思われるので、スピーカーの出力を大きめに設定するほうが良いと思っています。この仕組みを考えてシステム化した方は素晴らしいと思います。

私の利用環境の問題かも知れませんが、スピーカーを内蔵するNotePCで試験をした範囲では時刻動機をうまくできていません。コイルに流れる電流を利用して電波を発信するのでNotePCのスピーカーはコイルの作りが異なるのかもしれません。

4.追加

NTPサーバとの同期方法は2種類があります。一度で大きなズレを修正するntpdateコマンドとデーモンによる少しずつ時刻を動悸させる仕組みです。コンピュータシステムでは時刻は様々なことに利用されており、一度に時刻が変わってしまうと大きな問題になります。

例えば、トランザクション処理を稼働しているサーバ環境でntpdateコマンドで時刻を過去の日付に戻してしまったとします。時系列に処理をしていた仕組みが時刻がちょ服する自体となり、システム停止となってしまいます。時刻はコンピュータシステムでは重要な資源です。

それで、細かい時刻調整を行う仕組みが用意されています。例えば1秒を少しだけ長くして進んでいる時刻をNTPサーバの時刻に合わせることやその逆のことをします。この手順を実施することでトランザクション処理のような問題の発生を未然に防止します。

ntpdateコマンドに-qのオプションをつけることで、接続先のNTPサーバとの接続確認をすることができます。重要なシステムの場合、間違った接続をして時刻同期に問題が出る前にコマンドで確認をします。

参考

[本ブログ内参照]
LinuxMintにTeams for Linuxを導入しました

コメント