UECS Piファームウエアを自分用にカストマイズする①

 新シリーズです。アルスプラウト株式会社より配布されているUECS Pi Basicを自分用に使いやすくカストマイズする方法を紹介するシリーズです。

「自分用に」といっても「私が」カストマイズした経験に基づいていますのであしからず。内容は、Linuxも含めて初心者の方を対象にしています。ネットですでに公開されている情報をもとにしていますので、熟練者の方には重複する情報になると思います。Linuxのコマンドをご存知の方がよいのですが、そこは必要最小限にとどめますので初心者の方も参照してみてください。

ご紹介する内容は、

  1. UECS Piを直接触ってみる(ログイン方法、ネットワーク設定)
  2. OSの最新化、raspi-config導入、ディスプレイ、キーボードの変更
  3. Wifi(無線LAN)でつなげる
  4. sshでWindowsから操作する

の予定です。あくまで予定ですので書いてるうちに変更するかもしれません。今回は、1の「UECS Piを直接触ってみる」から。「直接」というのは、OSの画面に直接ログインして操作してみるという意味です。

UECS Pi Basicファームウエアを立ち上げたときの画面。GUIはなく、CUIでコマンドで操作する必要がある。


まずは立ち上げてみる



Rasberry Pi 3Bの例
Raspberry Pi 4では、電源はUSBタイプC、ディスプレイはmicroHDMIに変更になっているのでケーブルを購入するときに要注意

上の図のようにHDMIディスプレー、USBキーボードを接続し、UECS Piのファームウエアを書き込んだmicroSDカードを挿入してmicroUSBの電源を入れます。(経験者には当たり前のことかもしれませんが)
キーボードはできれば、英語配列のキーボードがいいです。日本語のキーボードでは特殊記号のキー配置が違うので苦労します。(このテーマで重要な"_"アンダースコアは"0"の右のキーをShiftした"="のはず)  日本語キーボードを使いたい方は、次回に変更に仕方を記載するので少し我慢してください。
電源を入れると冒頭の写真の画面が表示されます。ここでユーザーIDとパスワードを入力しますが、これを記載するとセキュリティー上の問題があるので記載しません。Arsprout株式会社に問い合わせる必要があります。以前は、Raspberry Pi標準のユーザーID/パスワードだったのですが、セキュリティー強化で変更になったものと思います。
現在のUECS Piファームウエアでは、root権限のユーザーと通常のユーザーがあります。これから行う作業には、特権ユーザー(rootユーザー)の権限が必要なものがあります。以前はpiユーザーで"sudo"コマンドを使用すれば作業を実施できましたが、新しい通常ユーザーではsudoの権限も許可されていませんので、rootユーザーを使用する必要があります。そんな理由で私はrootユーザーを使用しています。ただし、使用するときにはOSを壊さないように慎重に。もし必要があればもとに戻れるようにバックアップを取ってから作業しましょう。
ユーザーIDを入力して改行するとパスワード入力を要求してきます。パスワード入力は表示されませんので慎重に入力してください。間違ったらもう一度ユーザーID入力からやり直しです。

ネットワーク設定を変更する(+"nano"の使い方)

UECS Piファームウエアの最初のネットワークIPアドレスは、192.168.1.70です。多くのネットワーク機器(ルーターやハブ)の省略値は192.168.0.xxです。(192.168.0までをセグメントといいます) このセグメントが一致していないとネットワークはつながりません。家庭や職場のインターネットのルーターのセグメントを変更すると他の機器も変更しないといけないのでここはUECS Pi側を変更する方が簡単です。
UECS PiのIPアドレスは、PCとUECS PiだけのネットワークでPCのIPアドレスを固定に変更した環境で、WEBブラウザからUECS Piのノード設定画面から設定することもできますが、ここでは直接Raspberry Piの画面から変更する方法を紹介します。
まずインターネットに接続されたあなたのLANのセグメントを調べます。Windows PCの方はコマンドプロンプト画面から"ipconfig"と入力してIPアドレスを表示するか、「設定」→「ネットワークとインターネット」でインターネットに接続されているネットワークの状態の「プロパティ」を押して表示します。ここではあなたのLANセグメントが192.168.0であるとして話を進めます。
Windows PCのIPアドレス表示例

さて、UECS Pi側のネットワーク定義ですが、/etc/network/interfacesというファイルにあります。このファイルを編集するのですが、nanoというエディターが使えます。画面から"nano /etc/network/interfaces"と入力します。
ここではrootユーザーを使用して操作している前提です。root権限のないユーザーでは、/etc/networkの編集権限がないので保管するときに権限がないと言って拒否されます。表示するだけなら"nano"を"cat"に変更すれば見ることができます。"nano"の前に”sudo”をつければ一時的に権限を与えることができますが、UECS Piの通常のユーザーはsudo権限もありません。当面rootを使った方が簡便です。
<追記>編集前に最初のファイルのバックアップを取っておくことをお勧めします。コピーはcpコマンドで行います。
    cp /etc/network/interfaces /etc/network/interfaces.bak
/etc/networkのフォルダーの変更にroot権限が必要です。


エディターnanoの立ち上げ
この画面はハードコピーを取るためにWindowsのTerminal画面からssh経由で操作したも。Windowのタイトルとかが入ってますが、中身はRaspberry piのCUI画面と同じです。

すると全画面のnanoの編集画面に切り替わります。(下の画面右)このnanoの画面では、カーソルキーで移動し普通に文字入力して編集できます。
ネットワークの初心者の方のために簡単に変更点を説明しておきます。下の画面左は、一般的なシンプルなネットワーク構成です。自宅にインターネット回線を引いて、送られてきたルーターをつなげればほぼこんな構成になります。
①はUECS PiのIPアドレスです。②は、接続先を探しに行くときの宛先アドレスですが、ルーターのIPアドレスを指定します。③はネームサーバーのアドレスで、これもルーターの中にDNSという機能があるのでルーターのIPアドレスを指定します。ネームサーバーはホスト名をIPアドレスに変換する機能です。DHCPという機能もルーターの中にあって、例えばPCはネットワークに接続したときに使用できるIPアドレスをDHCPからもらいます。PCがたくさんある場合にはネットワークに接続するタイミングによりIPアドレスが変わる場合があります。
①、②、③の行は、UECS Piファームウエアの初期状態では192.168.1.xxとなってますので192.168.0.xxに編集します。
ネットワーク設定
左の図は、よくあるネットワーク構成。右の図は、nanoで/etc/network/interfacesを編集している画面。

編集が終わったらctrl+xキーを押します。"Save modified buffer?"と聞かれますので"y"を入力。続いて"File Name to Write: ..."と聞かれますので元のファイルに上書きする場合はそのまま改行キーを押します。
ちなみにnanoのコマンドでよく使うのは、ctrl+k(選択部分を切り取り)。コピー機能はないのでいったん切り取り、ctrl+u(切り取ったものを張り付け)でもとに戻します。さらにコピーしたいところにカーソルを動かしてもう一度ctrl+uでコピーします。とりあえずこれだけ覚えておけばnanoは使えます。
nanoの編集画面をctrl+xで終了する手順

ネットワーク構成を編集したら立ち上げなおします。コマンドから"reboot -h now"と入力すると早く立ち上げなおしできます。単に"reboot"と入力すると遮断が始まるまでに時間がかかります。いきなりRaspberry piの電源を切るのは避けましょう。SDカードに書き込み途中の場合はトラブルのもとになるかもしれません。ちなみに遮断するときは同に"shutdown -h now"ですぐに遮断が始まります。遮断が終わってから電源を切りましょう。

ネットワークの確認

立ち上げなおしたら"ifconfig"コマンドで確認します。赤枠の部分のIPアドレスを確認。念のためpingを打ってみましょう。"ping 192.168.0.1"でルーター宛に送ります。下の画面のようになればOK。timeoutとかになると定義が違ってますので見直しましょう。pingを止めるにはctrl+cキーでキャンセルできます。

少し長くなりましたが、ここまでできるとRaspberry PiのCUI(コマンド画面)に少し慣れたのではないでしょうか。
ネットにはいろいろなコマンドの情報がありますので必要な時に検索して、使って覚えたらいいと思います。
*「UECS Pi」はアルスプラウト株式会社が提供する汎用DIY環境制御ソフトウェアです。https://www.arsprout.co.jp/products/others/uecs-pi/

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

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


コメント

このブログの人気の投稿

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

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

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