最終更新日:2023年6月5日
作成日:2023年6月5日ここでは、W5500-EVB-PICO + Grove Shield for Pi Picoを使用した、提供可能なGPS NTP タイムサーバを紹介します。
- GPSモジュールはM5Stack社のGPSユニット(U032)を検討します。Grove Shield for Pi Picoを使う事を検討したため、Groveコネクタ接続で使えるのは便利です。2mのGroveケーブルは市販されております。ラインバッファを噛ますことでケーブル長の延長は可能かと思います。
- 時刻表示はTM1637を搭載した7セグメントLED 4桁表示タイプを検討します。コロン付きのモノが時刻表示らしく見えるはずです。
GPSタイムサーバ 備考 時刻修正方式 GPS センテンス$xxRMCを読み取って調整 動作状態 SNTPサーバ(時刻同期)
HTTPサーバ(設定)時刻精度 GPSモジュールの精度に準ずる 内部時間は処理時間分の遅れあり LANインターフェース 10/100BASE-TX RJ-45 対応プロトコル SNTPv4 外形寸法(mm) 電源電圧(V) DC5V
消費電流210mA(実測値)USBマイクロBで提供
ACアダプタは100−240VAC50/60HzGPSアンテナ 感度 Tracking: -162dBm
Capture: -148dBm
Cold start: -146dBm外形寸法(mm) 48*24*8mm ケーブル長(m) Groveケーブルによる 固定方法 LEGOと同じサイズの穴 × 2
本装置で使用する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 RMCGPS測位まとめデータのような存在 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 RMCGPS測位まとめデータのような存在 004055.000時刻 00:40:55.000V データ有効性 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社の登録商標です。
その他の企業名ならびに製品名は、それぞれの会社の商標もしくは登録商標です。
すべての商標および登録商標は、それぞれの所有者に帰属します。