PCと接続したRaspberry Pi3にたまにしか電源を入れない時の時刻取得方法

Pocket

RaspberryPi3の第3弾です。

今までRaspberryPi3(以下ラズパイ)に関して、ブログで2回紹介しました。

これでラズパイをPCに直接接続して、色々できるようになりました。

でも、ラズパイにはバックアップ電池がないので、使う時しか電源を入れないような使い方をしてるとラズパイの時計が狂ってしまいます。

実験等でラズパイを使ってデータ収集して、その時の時刻をファイル名にしてCSVファイルを作成するようなことがあると思いますが、時刻がズレてるとどのファイルが新しいのかわからなくなってしまいます。(><)
これでは困ってしまいますよね?(^^;

そこで今回は、たまにしかラズパイに電源を入れない時でも、(そこそこ?(^^;)正確な時刻を取得する方法を紹介します。

やり方
  1. ラズパイのPythonスクリプトを実行する時に、PCの時刻を渡すようにします。
  2. Python側はPCから時刻Aを受け取ったら、ラズパイの時刻Bを取得します。
  3. CSVファイルを生成する時など、時刻を取得したい時に時刻Cを取得します。
  4. A+C-Bを演算すれば取得したい時刻になります。

ここでは、Enterを入力すると「HelloWorld! 時刻」を表示するPythonスクリプトを作ったので、それで説明します。

準備

上記1はTeratermのマクロを使用します。

Teraterm

▼以下のようなマクロを用意します。

赤枠部分はラズパイのHelloWorldスクリプトがあるフォルダに変更して下さい。フォルダに空白が含まれる場合は”(ダブルクォーテーション)で囲って下さい。また、青枠部分はスクリプト名で、後に空白1文字を付けて下さい。

1行目は、PCの時刻を取得して年月日時分秒形式で変数NOW_DATEに代入しています。
2行目はラズパイのディレクトリをHelloWorldスクリプトがあるフォルダに変更してます。
3行目は1秒待ってます。(不要かも)
4行目は取得した時刻をHelloWorldスクリプトに渡してPythonを実行してます。

尚、本マクロは以下からダウンロード出来ます。

Pythonスクリプト

Pythonスクリプト側は時刻を受け取れるようにします。

以下からHelloWorldスクリプトをダウンロードしてラズパイに保存して下さい。

▼以下がスクリプト全文になります。

赤枠部分がPCから時刻を受け取って、ラズパイの時刻を取得する部分です。(やり方リストの2番)
青枠部分が時刻を取得する関数になってます。(やり方リストの3番、4番)
緑枠部分がmain文で、end以外の入力があったら「HelloWorld! 時刻」を表示します。

使ってみる

前回説明したようにしてPCとラズパイをクロスLANケーブルで接続して、Teratermでラズパイにログインします。

▼コントロール→マクロからHelloWorld実行.ttlを選択

▼HelloWorldスクリプトが実行されるので、お好きなタイミングでEnterを入力すればその時の「HelloWorld! 時刻」が表示されるし、endを入力すれば終了(End!表示)します。

最後に

いかがでしょうか?
お使いのPythonスクリプトに赤枠青枠部分を追記しておけば、いつでも最新時刻が取得できるようになるので、時刻をファイル名にすることも可能になります。
皆さんもお試し下さい。

happyChappy(@happyChappy1115)でした。

Sponsored Link

Posted from するぷろ for iOS.

Pocket

コメントを残す