ラズパイ

Raspberry Piの時刻を合わせる方法と正確な時刻に合わせる方法

Raspberry Piの時刻を合わせる方法と正確な時刻に合わせる方法

Raspberry Piは、電源を切って翌日電源を入れると

日時が電源を切った時刻になっています。

 

インターネットにつながると

日時が更新され正確な時刻になります。

 

Raspberry Piは、

RTC(リアルタイムクロック)と

呼ばれる時計機能がありません

そのため、時刻は止まってしまいます。

 

インターネット環境がない所で使用するときに

使い勝手が悪くなります。

ここでは、時刻の解決策を紹介します。

 

Raspberry Pi 時刻問題の解決方法

日時を合わせる方法は

どんな方法があるのか紹介します。

 

①手動で時刻を合わせる

②コードを使って時刻を入力する

③RTCモジュールを使う

 

①手動で時刻を合わせる

システム設定画面から

手動で時刻を合わせます。

 

②コードを使って時刻を合わせる

コードをつかって

日時を合わせる方法です。

 

Raspberry Piの時刻を変更するには、

datetimeライブラリを使用して、

現在の時刻を入力します。

Raspberry Pi の時刻を変更するコードです。

 

import datetime
import subprocess

# 新しい日付と時刻を設定する
new_date = datetime.datetime(2023, 3, 24, 12, 30) # 設定したい日付と時刻に変更してください

# dateコマンドでRaspberry Piの日付と時刻を変更する
subprocess.call(["sudo", "date", "-s", new_date.strftime("%Y-%m-%d %H:%M:%S")])

 

 

このコードでは、datetimeライブラリを使用して、

新しい日付と時刻を定義しています。

subprocessモジュールを使用して、

新しい日付と時刻を指定します。

strftime()関数を使用して、

新しい日付と時刻をdateコマンドで認識される形式に変換しています。

 

sudoコマンドでPythonスクリプトを

実行する必要がある場合があります。

 

③RTCモジュールを使う

Raspberry Piは、

RTC(リアルタイムクロック)と

呼ばれる時計機能がありません

 

Raspberry Piを再起動すると、

システム日時が狂うという問題は、

RTC(リアルタイムクロック)が

搭載されていないために起こります。

RTCは、電源が切れても時刻を保持できるため、

再起動後でも正しい日時を維持することができます。

 

RTCモジュールを接続する

RTCモジュールを追加して、

Raspberry PiにRTCを搭載する必要があります。

 

【RTCモジュール DS3231】

RTCモジュールをRaspberry Piにつなぎます。

配線は次のとおりです。

この配膳図のように接続します。

 

RTCモジュールをRaspberry Piに接続します。

RTCモジュールは、I2C接続に対応していることが必要です。

 

充電式電池を使用する

RTCモジュールDS3231を使用する場合

LIR2032 充電式バッテリーを使用します。

 

LIR2032 充電式バッテリーがなく

リチウム電池CR2302を使用する場合

充電回路を加工する必要があります。

ダイオード または 抵抗

どちらかを外して

CR2302を使用します。

 

詳細な使用方法は、

取り扱い説明書を読んで使用しましょう。

 

RTCモジュールの設定

RTCモジュールは、

I2Cバスを介してRaspberry Piに接続します。

RTCモジュールをRaspberry Piに接続する方法は、

以下の手順に従って行います。

 

Raspberry Piの設定ファイルである

「/boot/config.txt」ファイルを編集します。

以下の行を追加します。

dtparam=i2c_arm=on

 

I2Cインターフェースを有効にします。

以下のコマンドを実行します。

sudo raspi-config

 

メニューから「5 Interfacing Options」を選択し、

「P5 I2C」を選択して有効化します。

 

RTCモジュールを認識するために、

I2Cツールをインストールします。

以下のコマンドを実行します。

sudo apt-get install i2c-tools

 

RTCモジュールが認識されているかどうかを確認します。

以下のコマンドを実行します。

sudo i2cdetect -y 1

 

RTCモジュールが認識されている場合は、

表示される表の中に「UU」の文字が表示されます。

 

RTCを使用するためのツールをインストールします。

以下のコマンドを実行します。

sudo apt-get install python-smbus
sudo apt-get install python-serial
sudo apt-get install i2c-tools
sudo apt-get install python-rpi.gpio
sudo apt-get install git
git clone https://github.com/abelectronicsuk/ABElectronics_Python_Libraries.git
cd ABElectronics_Python_Libraries/RTCDS3231
sudo python setup.py install

 

これらの手順を実行することで、

RTCモジュールをRaspberry Piに接続し、

再起動後にも正しいシステム日時を

維持することができるようになります。