GPSのPPS信号を使った Stratum-1 NTPサーバの作り方

Similar documents
Raspberry Pi

富士通製サーバ「SPARC M10/PRIMERGY」とMicrosemi製NTPネットワークタイムサーバ との接続検証報告





Microsoft Word - 46流力・ANSS14リーフレット_final.docx

第5回 マインクラフト・プログラミング入門

Microsoft Word - USB60F_Raspi_ doc

Raspberry Pi 3(Raspbian) での Actian Zen Edge 使用 株式会社エージーテック 2018 年 7 月 5 日

目次 1. 動作環境チェック 動作必要環境 Java のインストール Java のインストール Firebird のインストール Firebird のインストール Adobe Reader のインストール

PDFConverter

Helix Swarm2018.1アップグレード手順

目次 1. はじめに 本書対象者 PALRO のアプリケーションについて Ubuntu 8.04LTS の入手について Linux 上での開発環境の構築 事前準備 Ubuntu のインストール..

IBM API Connect 開発者ポータル構成ガイド 1章

Microsoft Word - CBSNet-It連携ガイドver8.2.doc

目次 1. 改版履歴 概要 WEB 版薬剤在庫管理システムのインストール 事前準備 インストール アプリケーションのセットアップ 日レセと連携するための有効化設定 WEB

D-STAR Xchange (dxchange) インストール方法 JARL D-STAR 委員会平成 28 年 5 月 19 日 V00.19 本システム ( 以下 dxchange と呼ぶ ) は D-PRS 信号を受信する局 (I-GATE 局 ) をレピータのサービスエリア内に設置すること

改版履歴 版数 改版日付 改版内容 /03/14 新規作成 2013/03まで製品サイトで公開していた WebSAM DeploymentManager Ver6.1 SQL Server 2012 製品版のデータベース構築手順書 ( 第 1 版 ) を本 書に統合しました 2

Taro-ラズパイのインストールと設定

Raspberry Piでエアコン操作 高町咲衣 たかまち さき

Linux ドライバのインストール

はじめに 1. 概要本書では SuitePRO V3 にて提供している迷惑メールフィルタのバージョンアップ手順について案内しています なお この手順につきましては 迷惑メールフィルタ機能について オンラインマニュアルの内容通りに設定されていることを前提条件とします

コンピューター・システムの時刻とネットワーク時刻同期

第5回 マインクラフト・プログラミング入門

ドライバインストールガイド

_01 日医標準レセプトソフトクラウド版 CLAIM 接続利用手順 ベンダー向け 2017 年 8 月 23 日 日本医師会 ORCA 管理機構株式会社

intra-mart ワークフローデザイナ

Installation Guide for Linux

Raspberry Pi で WEB カメラを使用 会津大学 RT ミドルウェア講習会 2017 The University of Aizu

EndRun Technologies社 SonomaD12 GPSとSonomaD12 CDMA-JのSPARC M10-1との接続検証結果

オフラインメンテナンス説明書-ver5.0.0

Microsoft Word - CBESNet-It連携ガイドver8.1.doc

CLAIM接続利用手順

2 つの遅延 マスターとスレーブの遅延とスレーブとマスターの遅延を計算しなければなりません まずマスターとスレーブの差を計算します : 最初に送られるタイムスタンプは T1 です T1 はマスターがその Ethernet のポートに Sync message を送った時刻であり Follow-up

0_テキストマイニング環境構築_mac

bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu on Windows ˆ Windows10 64bit Wi

Oracle Business Intelligence Standard Edition One のインストール

マスターからスレーブと スレーブからマスターへの 2 つの経路について時間差を計算する必要があります まずマスターからスレーブへの経路について時刻の差を算出します : 最初のタイムスタンプは T1 です マスターが Sync メッセージを送信した正確な時刻であり Sync メッセージがイーサネットポ

Nagios XI - SNMPでのLinux監視

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

SetCPU の使い方メモ

27 A) B) B) B) A) B) IPv6 IPv6 IPv4 IPv6 1 1 (9 2 ) (9 3 ) (9 4 ) (1) (2) IPv6 (1) RaspberryPi (1) OS (2) (2) RaspberryPi (3) wireshar

リバースプロキシー (シングル構成) 構築手順

1. A/D 入力について分解能 12bit の A/D コンバータ入力です A/D 入力電圧とディジタル値との対応は理論上 入力電圧 0V : 0 入力電圧 +3V : 4095 です 実際はオフセットと傾きがあり ぴったりこの数値にはなりません 2. A/D 入力に使用する信号 STM32L_A

目次 1. 改版履歴 概要 WEB 版薬剤在庫管理システムのインストール 事前準備 インストール アプリケーションのセットアップ WEB 版薬剤在庫管理システムの初期設定

目次 本書の取り扱いについて... 3 事前準備... 4 MultiPoint Server 2011 OEM 版のインストール (OS リカバリー用のディスク領域を使う場合の起動方法 )... 5 MultiPoint Server 2011 OEM 版のインストール (OS リカバリー用のメデ

ラズパイの USB バスパワーを OFF/ON する方法 2019/03/15 株式会社アートファイネックス 1. 概要 ラズパイを使用し RFID リーダ ライタ (USB 給電タイプ ) を制御する場合 何らかの理由によりリーダ ライタをリセットするために USB ケーブルを抜き差しして電源を切

How to Install and Configure Panorama Panorama のインストールと設定 Panorama は Palo Alto Networks のサポートサイトからダウンロード可能な VMware イメージです 本書は Panorama のインストールと Panora

日医標準レセプトソフト クラウド版の構築手順

OpenAM 9.5 インストールガイド オープンソース ソリューション テクノロジ ( 株 ) 更新日 : 2013 年 7 月 19 日 リビジョン : 1.8

インターネット EDI システムを使用する前の準備 目次 動作環境について... 2 Internet Explorer7.0 / 8.0 をご利用の場合の設定方法... 3 [1] インターネット EDI システムを利用するための標準的な設定... 3 [2] ブラウザ型で帳票を利用する場合に必要

目次 目次... 2 はじめに SQL Server 2005 製品版へのアップグレード SQL Server 2005 製品版へのデータベース (DPM インスタンス ) の構築 / 設定 データベース (DPM インスタンス ) の構築

4 自己登録 の画面が表示されたら 送信 をクリックします 5 アクションが完了しました : 成功 が表示されたら 画面を下にスクロールし 画面右下隅の OK をクリックします 6Windows 用または Mac 用のキャンパスクラウドエージェントをクリックしてダウ ンロードしてください 8 ダウン

④辻修平_37-48.smd

REX-C56EX FAX送信 第5.0版

メール設定

目次 ページ 1. 本マニュアルについて 3 2. 動作環境 4 3. ( 前準備 ) ライブラリの解凍と保存 5 4. モデルのインポート 6 5. インポートしたモデルのインピーダンス計算例 8 6. 補足 単シリーズ 単モデルのインポート お問い合わせ先 21 2

IE用事前設定手順書

ターミナルアダプタ INSメイトV30Slim セットアップ手順書 株式会社エムアイシー

マニュアル面付け.indd

RDX へのバックアップ 3 ベアメタル復旧手順書 2014 年 11 月

(2) [ バックアップツール ] が表示されます [1] [2] [3] [4] [5] [6] Windows Storage Server 2012 バックアップ手順 (V_01) < 画面の説明 > [1] バックアップ項目リスト登録されているバックアップセットの一覧です [2] 新規 ボタ

R76/Gaia ブリッジ構成設定ガイド

PowerPoint プレゼンテーション

ご利用方法 Yahoo! Japan ID をお持ちのお客様 最終更新日 :2017/06/06 1 / 19

GLOOBE 2019 バージョンアップ/オプション追加編

A : kerl kerl Erlang/OTP Erlang/OTP 2 2 Elixir/Phoenix URL 2 PDF A.2 Bash macos.bash_profile exp

MAC の Horizon Auton インストール方法 Page 1 of 25

Microsoft PowerPoint - Tutorial_2_upd.ppt

2013年『STSSスキルコミュニティ』 テーマ別Kickoff資料

$ cmake --version $ make --version $ gcc --version 環境が無いあるいはバージョンが古い場合は yum などを用いて導入 最新化を行う 4. 圧縮ファイルを解凍する $ tar xzvf gromacs tar.gz 5. cmake を用

ARCHITREND ZERO バージョンアップ/オプション追加編

FlashAir TM Tutorial FlashAir のチュートリアル FlashAir でライブ配信 1 用意するもの HLS FlashAir からのブート 環境設定作業 動作確認... 8 FlashAir Developers

アーカイブ機能インストールマニュアル

Raspberry Pi ZeroによるIoT入門

Transcription:

[1] コメントを追加 [2] GPSのPPS信号を使うと非常に高精度なNTPサーバが作れるそうなので 実際にRaspberry Piを使ってやってみました GP Sモジュールは測位計算をする時に非常に正確な時刻を得ることができます これを利用してGPSモジュールの中にはPPS 信号を出力するものがあります PPSはPulse Per Secondの略で 正確に1秒間隔で出力されるパルス信号のことです 詳細な手順は後回しにして まずはどれくらい正確な時刻が得られたのかをお見せします Internet上のNTPサーバを使うと 数ms程度の精度だったのがRaspberry Piに接続したGPSのPPSを使うと数μs程度の精度が得られました 以下のグラフはRaspberry Pi と TS-109 NAS)のそれぞれでNTPサーバを動かし 上位のNTPサーバとの時刻オフセット をMRTGを使って表したグラフです MRTGがマイナスの値を扱えないので 5ms のオフセットをかけてあります つまり 中央の5msのラインより上がプラスのオフセット 下がマイナスのオフセットです まず NTPサーバとして ntp.nict.jp を指定した時の時刻オフセットです TS-109はサーバとしてntp.nict.jpとRaspberry Piと両方を指定していました だいたい数ms程度のオフセットに収まっていることがわかります ネット上のNTPサーバを使っても百分の一秒程度の精度が得られるのですが PPSを使うとさらに高精度な時刻同期をする ことができます 以下のグラフはNTPの参照クロックとしてNICTのサーバからPPSへと変更したときの時刻オフセットです Page 1 of 6 -- サイト内検索 -- -- プライバシーポリシー --

22時30分頃にNTPサーバを入れ替えたり ntp.conf を書き換えたりの作業をしたせいでオフセットが突出している箇所が ありますが それより右の平らな部分ではPPSを使った時刻同期に変わっています これはPPS使用時の時刻オフセットを別のスケールで測定したグラフです Raspberry Piの方は 20μsのオフセット TSー109の方は500μsのオフセットをかけてあります Raspberry Piは直接PPSを使用しているので数μsのオフセット値が得られています TS-109の方はRaspberry Pi を上位サーバとして参照していますが こちらは100μs程度の精度です GPSモジュールのPPS信号を使うと ほぼ数μs程度の精度で時刻同期をすることができました 以下が詳細な手順です 概要 使用したGPSモジュールは Adafruit Ultimate GPS Breakout [3]というものです これにGPS外部アンテナ [4] を接続して使っています GPSモジュールのシリアル出力はUARTに入力しています Raspberry Piでは/dev/ttyAMA0からデータを取り込みます GPSモジュールのPPS信号はRaspberry PiのGPIO 18につなげています Raspberry Pi に最初から入っているNTPサーバではPPSと同期できないので NTPサーバもビルドする必要があります [追記:2018/01/29] 最新の OS (4.9..59+) では ntp が入っていないので 自分で入れる必要がありました 以下のコマンドを実行します $ sudo apt-get install ntp 以下のページを参考にしました 書いてあることをほぼなぞるだけでできてしまいました http://www.satsignal.eu/ntp/raspberry-pi-ntp.html [5] GPS無しでNTPサーバを動かす まず GPS無しでNTPサーバを動かしてみます ntp.conf を編集します $ sudo nano /etc/ntp.conf 次の1行を加えるだけです Page 2 of 6

server ntp.nict.jp iburst NTPサーバを再起動します $ sudo /etc/init.d/ntp restart NTPサーバの動作をチェックします $ ntpq -p remote refid st t when poll reach delay offset jitter ============================================ *ntp-a2.nict.go..nict. 1 u 17 64 377 6.547 0.940 0.894 こんなような出力がでればOK. この状態で1日動かしてMRTGでデータをとりました PPS無しのGPSを使ってNTPサーバを動かす 次に PPSは使わずにGPSを接続してNTPサーバを動かします GPSモジュールは通常 NMEA0183というフォーマットで時 刻や位置などの測位結果をテキストのメッセージとして出力しています これを使ってNTPの同期をとることができます PPSは1秒おきのパルスに過ぎないのでPPSだけでは時刻はわかりません GPS+PPS またはインターネットのNTPサーバ PPS)という組合せによって GPSで秒単位の時刻を取得し それとの差分をPPSのパルスで知ることによって正確な時刻同 期を行うことができます まず GPS関連のツールをインストールします $ sudo apt-get install gpsd gpsd-clients python-gps 上述のように 私はGPSの出力をUARTに入力しているので Raspberry PiではGPSの入力が /dev/ttyama0 になります gpsd を以下のように起動します $ sudo gpsd /dev/ttyama0 -F /var/run/gpsd.sock GPSが動いているか確認します $ cgps -s GPSの動作確認は gpsmon でもOK ntp.conf の編集をします $ sudo nano /etc/ntp.conf 以下の2行を追加します server 127.127.28.0 minpoll 4 maxpoll 4 fudge 127.127.28.0 refid GPS stratum 15 NTPを再起動して 確認します $ sudo /etc/init.d/ntp restart $ ntpq -p remote refid st t when poll reach delay offset jitter Page 3 of 6

============================================= SHM(0).GPS. 15 l 4 16 377 0.000 330.130 354.492 *ntp-a2.nict.go..nict. 1 u 58 64 377 6.504 0.867 0.404 こんなような出力ならOK. SHMはShared Memoryの略です 127.127.28.0 というのはNTPの参照クロックとしてPPSを使用するという意味です 他 にどのような参照クロックがあるのかは以下のページでわかります ちなみに後でPPSを使う時にType22を追加します http://www.eecis.udel.edu/~mills/ntp/html/refclock.html [6] ついでに gpsd の設定をしておきます $ sudo nano /etc/default/gpsd 以下のようにします START_DAEMON="true" USBAUTO="true" DEVICES="" GPSD_OPTIONS="/dev/ttyAMA0" GPSD_SOCKET="/var/run/gpsd.sock" PPSを使ったNTPサーバを動かす /etc/modules に次の1行を追加します pps-gpio /boot/config.txt に次の1行を加えます dtoverlay=pps-gpio,gpiopin=18 Raspberry Pi を再起動します モジュールがロードされたことを確認します $ lsmod grep pps pps_gpio 2993 1 pps_core 8756 2 pps_gpio PPSが有効になったかどうか確認します $ dmesg grep pps [ 4.384297] pps_core: LinuxPPS API ver. 1 registered [ 4.386474] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti [ 4.416234] pps pps0: new PPS source pps.-1 [ 4.418431] pps pps0: Registered IRQ 178 as PPS source pps tools をインストールします $ sudo apt-get install pps-tools PPS をテストします $ sudo ppstest /dev/pps0 trying PPS source "/dev/pps0" found PPS source "/dev/pps0" Page 4 of 6

ok, found 1 source(s), now start fetching data... source 0 - assert 1388146614.000084899, sequence: 381 - clear 0.000000000, sequence: 0 source 0 - assert 1388146615.000082106, sequence: 382 - clear 0.000000000, sequence: 0 source 0 - assert 1388146616.000084314, sequence: 383 - clear 0.000000000, sequence: 0 source 0 - assert 1388146617.000081521, sequence: 384 - clear 0.000000000, sequence: 0 source 0 - assert 1388146618.000081728, sequence: 385 - clear 0.000000000, sequence: 0 source 0 - assert 1388146619.000080936, sequence: 386 - clear 0.000000000, sequence: 0 source 0 - assert 1388146620.000081143, sequence: 387 - clear 0.000000000, sequence: 0... 次に PPSが使えるNTPサーバをビルドします $ mkdir ntp $ cd ntp $ sudo apt-get install libcap-dev $ wget http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2.8p7.tar.gz [7] $ tar xvfz ntp-4.2.8p7.tar.gz $ cd ntp-4.2.8p7 $./configure --enable-linuxcaps $ make $ sudo make install NTPサーバーを新しく作ったものに入れ替えます $ sudo /etc/init.d/ntp stop $ sudo cp /usr/local/bin/ntp* /usr/bin/ $ sudo cp /usr/local/sbin/ntp* /usr/sbin/ $ sudo /etc/init.d/ntp start /etc/ntp.conf に以下の2行を追加します server 127.127.22.0 minpoll 4 maxpoll 4 fudge 127.127.22.0 flag3 1 refid PPS それから PPSを使うためには他のサーバーに prefer 指定が必要とのことなので NICTのサーバの後ろに prefer を付けます server ntp.nict.jp iburst prefer NTPサーバを再起動して ntpq -p してみるとこんなふうになっているはずです remote refid st t when poll reach delay offset jitter ============================================ SHM(0).GPS. 15 l 15 16 377 0.000 11.207 21.121 opps(0).pps. 0 l 14 16 377 0.000-0.002 0.002 *ntp-a2.nict.go..nict. 1 u 21 64 377 6.501 0.258 0.914 さらに ntpq -c rv の出力はこんな感じ associd=0 status=0115 leap_none, sync_pps, 1 event, clock_sync, version="ntpd 4.2.8p3@1.3265 Mon Jul 13 11:28:54 UTC 2015 (3)", processor="armv6l", system="linux/3.18.11+", leap=00, stratum=1, precision=-18, rootdelay=0.000, rootdisp=1.075, refid=pps, reftime=d94e2d5d.88677330 Mon, Jul 13 2015 21:28:13.532, clock=d94e2d62.c11182ca Mon, Jul 13 2015 21:28:18.754, peer=19590, tc=4, mintc=3, offset=0.008924, frequency=-19.734, sys_jitter=0.003815, clk_jitter=0.319, clk_wander=0.017 Page 5 of 6

この場合 オフセットは 約9µs です PPSを参照しているので stratum=1 になっています GPS/GNSS [8] RaspberryPi [9] English 日本語 Source URL: https://nyanchew.com/jp/gps%e3%81%aepps%e4%bf%a1%e5%8f%b7%e3%82%92%e4% BD%BF%E3%81%A3%E3%81%9F-stratum-1-ntp%E3%82%B5%E3%83%BC%E3%83%90%E3%81%AE%E4 %BD%9C%E3%82%8A%E6%96%B9 リンク [1] https://nyanchew.com/files/raspberry-pi-pps_0.jpg [2] https://nyanchew.com/jp/comment/reply/706#comment-form [3] http://www.adafruit.com/products/746 [4] http://www.adafruit.com/products/960 [5] http://www.satsignal.eu/ntp/raspberry-pi-ntp.html [6] http://www.eecis.udel.edu/~mills/ntp/html/refclock.html [7] http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2.8p7.tar.gz [8] https://nyanchew.com/jp/category/digital-life-j/gpsgnss [9] https://nyanchew.com/jp/category/digital-life-j/raspberrypi Page 6 of 6 -- サイト内検索 -- -- プライバシーポリシー -Powered by TCPDF (www.tcpdf.org)