さて、ラズパイOSでRassberyPi4での運用でのTIPSです。
ご存じの通り、RTC(リアルタイムクロック)を内蔵していないので、
時計がNTP同期が前提だと思います。
でもNTPサーバーがオフラインで建てられない時は困りますね。
その場合FAではPLCがあります。
PLCから時刻をもらってラズパイに反映する時にはまったので備忘録です。
いろいろな記事を探すと
DATE mmddhhnnyy.ss
という違和感ありまくりの文字列で時刻を設定できるという記事があります。
DATE -s yyyy-mm-dd hh:nn:ss
でもいいということで実行すると、確かに時刻が変わったように表示されますが
時刻を取得すると変わっていません。
man date
でマニュアルを見ると、確かにこのやり方でいいのですが、実際変わっていません。
さてどうしたものかと探すと
timedatectlで設定するようです。
sudo timedatectl set-time yyyy-mm-dd hh:nn:ss
でOKっぽいですが、変わりません。
そうNTP同期が邪魔をするらしい。
ということでNTPを切ります。
sudo timedatectl set-ntp no
sudo timedatectl set-time yyyy-mm-dd hh:nn:ss
これで、ラズパイの時刻が変わります。
設定の日付情報はPLCから持ってきてください。
やり方は任せます。(笑)
Windowsの場合、APIを叩いてシステム情報を操作しますが、
Linuxの場合それ向けのコマンドを実行してやってもらうのが
楽にプログラムから操れるコツかなと思っています。
まあこれもラズパイ5になるとRTC乗っているということで、
この情報もいらなくなりますね。
ではでは。