GPS NTP タイムサーバユニット

最終更新日:2023年6月5日
作成日:2023年6月5日

ここでは、W5500-EVB-PICO + Grove Shield for Pi Picoを使用した、提供可能なGPS NTP タイムサーバを紹介します。


仕様】

 

GPSタイムサーバ
備考
時刻修正方式 GPS センテンス$xxRMCを読み取って調整
動作状態 SNTPサーバ(時刻同期)
HTTPサーバ(設定)
 
時刻精度 GPSモジュールの精度に準ずる 内部時間は処理時間分の遅れあり
LANインターフェース 10/100BASE-TX RJ-45
対応プロトコル SNTPv4  
外形寸法(mm)    
電源電圧(V) DC5V
消費電流210mA(実測値)
USBマイクロBで提供
ACアダプタは100−240VAC50/60Hz
GPSアンテナ  感度 Tracking: -162dBm
Capture: -148dBm
Cold start: -146dBm
外形寸法(mm) 48*24*8mm
ケーブル長(m) Groveケーブルによる
固定方法 LEGOと同じサイズの穴 × 2

GPSアンテナ調査】

本装置で使用するGPSアンテナはM5Stack社のGPSユニットです。しかし、予め基本設定がされているデータ垂れ流しタイプのGPSモジュールであれば、コネクタ変換を施すことで使用することは可能です。
例えば、簡易取付型カーナビで使用されているステレオプラグ対応のGPSアンテナであっても、コネクタをGroveにあわせて用意して戴ければ動作します。※センテンス形式には条件があります。

  • シリアル9600bpsでデータ垂れ流し
  • NMEA-0183のセンテンス文字列(ASCII)の内RMC情報があること。
  • GPRMCとGNRMC以外の場合、ソースコードをレタッチします。

ちなみにRMCセンテンス仕様は以下の通りです。
※GPRMCとGNRMCに違いがあることが判りました。パースの仕方に注意が必要です。

センテンス例:$GPRMC,085120.307,A,3541.1493,N,13945.3994,E,000.0,240.3,181211,,,A*6A
単語例 説明 意味
GP
   
RMC
  GPS測位まとめデータのような存在
085120.307 時刻  8:51:20.307
A データ有効性 A/B/V/W A= valid current data
3541.1493 緯度 DDMM.MMMフォーマット 緯度:35度41.1493分
N 緯度方角 N/S N = 北緯
13945.3994 経度 経度;139度45.3994分
E 緯度方角 E/W E=東経
000.0 地表における移動の速度 移動の速度:000.0[knot]
240.3 地表における移動の真方位 移動の真方位:240.3度
181211 日付 DDMMYY UTC日付:2011年12月18日
  磁北と真北の間の角度の差。  
  磁北と真北の間の角度の差の方向。E/W  
A 測位モード N/A/D/E/M/S/ A=自律方式
*6A チェックサム  
センテンス例2:$GNRMC,004055.000,A,3430.62710,N,13316.68285,E,0.05,115.20,251220,,,A,V*0B
単語例 説明 意味
GN
   
RMC
  GPS測位まとめデータのような存在
004055.000
時刻 
00:40:55.000
V データ有効性 A/B/V/W V= navigation receiver warming
3430.62710
緯度 DDMM.MMMフォーマット 緯度:34度30.62710分
N 緯度方角 N/S N = 北緯
13316.68285
経度 経度;133度16.68285分
E 緯度方角 E/W E=東経
0.05  地表における移動の速度 移動の速度:0.05[knot]
115.20
地表における移動の真方位 移動の真方位:115.20度
251220
日付 DDMMYY UTC日付:2020年12月25日
  磁北と真北の間の角度の差。  
  磁北と真北の間の角度の差の方向。E/W  
N 測位モード N/A/D/E/M/S/ A=データ無効
V
ナビゲーション状態 S/C/U/V V:無効(RAIM 機能 OFF)
*0B チェックサム  


    セットアップ】

    使用方法】

『日付と時刻』>『インターネット時刻』タブ>『設定の変更』>今すぐ更新 で実現出来ます。

上記方法はマニュアルでの設定になります。定期的な設定はタスクスケジューラで実現します。

コマンドスクリプトを実行して設定した方が確実かと思います。

schtasks /create /tn "TimeDame adjustment" /tr "w32tm /resync" /sc Daily /st 15:00

上記スクリプトは毎日15時に“w32tm /resync”というコマンドを実行するというスクリプトで、タスクスケジューラに『TimeDame adjustment』と云う名前で登録するというモノです。※名前は任意です。
/createは新規作成ですので、一旦作成したら/change に変更して更新登録とすべきかと思います。※/changeでは/sc使えません。時刻変更する場合は以下のように書けばよいようです。実行する際にログオンパスワードを要求されます。
※上書きも許されるようです。

schtasks /change /tn "TimeDame adjustment" /tr "w32tm /resync" /st 16:00

w32tm /resync”は既にインタネット時刻設定にntpサーバが登録済みである必要があります。
実際にこのコマンドが実行されるとコマンドプロンプトが起動します。気になる場合はScriptのラップを掛けて解決できるようです。

w32tmの/monitorオプションは、ローカル・コンピュータとリモート・コンピュータ(NTPサーバ)間の時刻差や上位NTPサーバの名前を確認できます。

w32tm /monitor /computers:192.168.0.199

タスクスケジューラ用のコマンドについてはいろいろなサイトに紹介記事がありますので割愛します。@ITの記事を参考にしています。
https://www.atmarkit.co.jp/ait/articles/1207/12/news146.html
NTPの仕組みについても@ITの以下のサイトを参考にしました。
https://www.atmarkit.co.jp/ait/articles/0508/12/news089.html

Raspberry Piハードウエア的にRTCが搭載されていないので、起動時に時刻同期するようにするのがリーズナブルです。
設定ファイル /etc/systemd/timesyncd.conf を編集することが一般的のようです。

NTP=192.168.0.199 LocalNTP


コロン表記】

時刻表記を『時分』で扱うため、動作しているのかどうか安易に示す方法としてコロン表記を点滅表記するようにしています。現状0.5秒点灯0.5秒消灯の点滅です。

このコロン表記ですが、諏訪精工舎が1970年に特許出願したモノだとのことです。1秒間隔での区切り点滅とのことです。出願後20年経っていますので、ここに問題は残っていないと思います。
※重田暁彦氏著『「雪見だいふく」はなぜ大ヒットしたのか 77の「特許」発想法』より



オブジェクト自体はベクター殿のストレージをお借りしています。

https://www.vector.co.jp/vpack/browse/person/an051501.html


製作物に戻る


免責事項

本ソフトウエアは、あなたに対して何も保証しません。本ソフトウエアの関係者(他の利用者も含む)は、あなたに対して一切責任を負いません。
あなたが、本ソフトウエアを利用(コンパイル後の再利用など全てを含む)する場合は、自己責任で行う必要があります。

本ソフトウエアの著作権はToolsBoxに帰属します。
本ソフトウエアをご利用の結果生じた損害について、ToolsBoxは一切責任を負いません。
ToolsBoxはコンテンツとして提供する全ての文章、画像等について、内容の合法性・正確性・安全性等、において最善の注意をし、作成していますが、保証するものではありません。
ToolsBoxはリンクをしている外部サイトについては、何ら保証しません。
ToolsBoxは事前の予告無く、本ソフトウエアの開発・提供を中止する可能性があります。

商標・登録商標

Microsoft、Windows、WindowsNTは米国Microsoft Corporationの米国およびその他の国における登録商標です。
Windows Vista、Windows XPは、米国Microsoft Corporation.の商品名称です。
LabVIEW、National Instruments、NI、ni.comはNational Instrumentsの登録商標です。
I2Cは、NXP Semiconductors社の登録商標です。
その他の企業名ならびに製品名は、それぞれの会社の商標もしくは登録商標です。
すべての商標および登録商標は、それぞれの所有者に帰属します。