Arsprout Piを使ってみた③ ーファームウエアのカストマイズ UECS Piとの相違点ー

 今回はArsprout Piのファームウエアのカストマイズを行うときに、以前紹介したUECS Piファームウエアのカストマイズと変わっている点をご紹介します。

繰り返しますが、ファームウエアをカストマイズすると開発元のサポート対象外となりますので、その点はご承知おきください。

まず、Raspberry PiのOS、DebianにログインするときのユーザーやパスワードはUECS Piとは違いますので、開発元に問い合わせるなどして入手してください。
この記事で使用している画面イメージは、Windows 11からSSHでログインしたものを使用しています。SSHが使用できるようにする設定は変更ありませんので、以前の記事「UECS Piファームウエアを自分用にカストマイズする④」を参照してください。
SSHにログインするときに、UECS Piのファームウエアと同じホスト名やIPアドレスを使用しているとHost key verification failedのエラーが出るかもしれません。そのときはこちらの記事を参考にして対処してください。
それでは、まずファームウエアのOSから確認していきましょう。
今回の使用報告ではArsprout Piファームウエアのarsprout-pi-1.8.2を使用しています。

OSはDebian 11

Debianのバージョンは/etc/debian_versionに書かれています。
Arsprout PiのファームウエアはDebian 11 (bullseye)です。UECS PiはDebian 9 (stretch) を使っていました。Debian 9の正式サポートはすでに終了しています。Debian 11は"old stable"で古い安定版でしょうか。最新の安定版は12です。詳細はDebian Releases https://www.debian.org/releases/index.en.html
を確認してください。(日本語ページの情報は古いので注意) それを踏まえて。。

raspi-configのネットワーク構成設定に注意

raspi-configもDebianの新しいリリースで更新されていて、起動するといきなり下記の画面がでます。
ディフォルトのユーザーがわからないというだけなので、OKを選択すればメニュー画面が表示されます。

Advanced Optionの中にNetwork Configというメニューが追加になっています。選択するとdhcpcdかNetworkManagerを選択できる画面が表示されますが、結論から言うとArsprout Piユーザーは変更してはいけません


Linuxのネットワーク構成について、まとまって説明している文献がないので正しく説明できるかどうかわかりませんが、自分の理解としてはこのようになります。(間違いご指摘歓迎)
Debian8(jessi)では、Networking Servceが構成を管理しています。この環境ではおなじみの/etc/network/interfacesに構成を定義します。
Debian9(Stretch)では、dhcpcdが標準(?)となりました。dhcpcdがネットワーク構成を管理する環境では/etc/network/interfacesではなく/etc/dhcpcd.confに定義することが推奨されています。しかし、UECS Piではdhcpcdは使用しておらず/etc/network/interfacesに定義していました。Arsprout Piのファームウエアでもこれを踏襲しています。
メニューのNetworkManagerはDebian11 (bullseye) から提供されている新しいネットワーク構成ツールです。(Linuxのほかのディストリビューションでは、NetworkManagerが主流になっているらしい)
ネットワーク構成ツールによって構成を定義するファイルが違うので、この設定を変更すると予期せぬ結果になります。
私は誤ってdhcpcdを選択してしまい、dhcpcdのサービスが立ち上がる設定になり、ネットワーク設定で混乱してしまいました。
Arsprout Piも従来からのNetworking Serviceを使用しているので、下の画面のようにdhcpcdのサービスが立ち上がっていないのが正しい状態です。raspi-configでdhcpcdを指定してしまうとdhcpcdが立ち上がってしまいます。

Networkingのサービスを状態表示した。Arsprout Piではdhcpcdは立ち上がっておらず、networking.serviceがactiveになっている

ディスプレイ解像度の変更

UECS Piのファームウエアのカストマイズ記事UECS Piファームウエアを自分用にカストマイズする②で、小型のディスプレイを使用する場合に解像度を変更する方法をご紹介しました。

以前はraspi-configでディスプレイの解像度を設定できました。しかし、Debian11のraspi-configでは指定できなくなりました。Display OptionsのVNC Resolutionという項目がありますが、これはVNCサーバー経由でネットワークからGUIのデスクトップを使用するときの設定のようです。これを変更してもHDMIで接続されたディスプレイの解像度は変わりません。下記のように/boot/config.txtを編集してhdmi_groupとhdmi_modeを指定する必要があります。

ここでhdmi_groupはディスプレイの種類。PC用のディスプレイは2を指定。hdmi_modeで解像度を指定しますが、下記のリンクのhdmi_modeの項を参照して値を決めてください。hdmi_groupで指定したCEA用とDMT用のテーブルがあるのでお間違いなく。
ここでは640×480で設定するために4を指定しています。
さらに前々回の記事でLCDの設定の部分にも書きましたが、Arsprout Piでは、config.txtをテンプレートで書き換えています。したがって、/boot/config.txtを変更してrebootした後解像度は変わっていますが、そのあとにArsprout Piのアプリケーションが/boot/config.txtを書き換えます。もう一度rebootすると設定は戻っているということです。恒久的に反映させるためにはテンプレートを書き換える必要があります。
テンプレートは、/opt/scripts/config_template.txtですのでこれを編集する必要があります。(仕様は変更されるかもしれません)

計4回にわたってArsprout Piについて書いてきました。OSの新リリースに対応したUECS Piの後継が提供されて、Raspbrry Piの新しいハードウエアが使用できるようになりました。私としてはひと安心というところです。Arsprout Piは現在1.9.0まで更新されています。今後の更新も期待したいと思います。

*「UECS Pi」、「Arsprout Pi」はアルスプラウト株式会社が提供する汎用DIY環境制御ソフトウェアです。
https://www.arsprout.co.jp/products/others/uecs-pi/
https://www.arsprout.co.jp/products/arsprout-pi/

*「UECS」は農業用のセンサー機器や制御機器用の通信・動作の共通仕様です。UECS研究会が公開しています。https://www.uecs.jp/outline/outline-index


関連リンク:EzITコンサルティング www.ezitc.dev






コメント

このブログの人気の投稿

Arsprout Piを使ってみた② ー構成定義を中心にUECS Piとの違いを考えるー

Arsprout Piを使ってみた① ーUECS Piからの変更点を中心にー