[環境] [時刻] Windows で時刻あわせ (8) GPSで簡易時刻あわせ

2020年7月25日

 テスト環境などで、どうしてもネットワークから時刻が取得できない状況があり、そうはいっても PC 本体のクロックに依存すると標準時との誤差が分単位で出てしまうので、せめて数秒内の誤差で運用したいことがあります。ということで時刻サーバーを導入・・・といってもあれはうん十万するような代物なのでカジュアルには導入できません(汗

 そこで GPS の USB ドングルであれば比較的安価に入手できるので、それを使って時刻を取得する方法を考えてみます。
 今回は Vk-172 なる USB GPS ドングルが入手できたのでそれを使用して時刻を取得してみます。

 USB ドングルを挿すと COM ポートとして認識するので、その COM ポートに teraterm などで接続すると 1 秒に一度テキストが送信されてきます。
 流れてくるテキストのうち、先頭が $GPRMC のものに注目します。テキストは CSV 形式になっており 2 列目が時刻(UTC), 10列目が日付です。また 3 列目がステータスで有効(=A),警告(=V) などを表すようです。

$GPRMC,143116.00,V,,,,,,,110919,,,N*7C

 これは NMEA フォーマットというらしく、フォーマットの詳細は https://www.hiramine.com/physicalcomputing/general/gps_nmeaformat.html などが詳しいのでそちらを参照してください。

 このテキストを拾って時刻を取得,設定する Powershell Script が以下です。
 https://gist.github.com/ooltcloud/c780872fbbe5248bb782ef9b0401e8d2

 警告もお構いなしで、日付と時刻が受信出来たら即時刻設定、という凶悪(?)な仕様になっているので、ご使用の際は気を付けてください(汗






タグ:
カテゴリー: OS, Windows, 時刻, 環境設定

Follow comments via the RSS Feed | Leave a comment | Trackback URL

コメントを投稿する

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


«   »
 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org