« 2016年12月 | トップページ | 2017年3月 »

2017/01/22

【16番】Raspberry Pi 3でJMRI

ノートPCでもよいのですが場所を取るので、無線LANに対応しているRaspberry Pi 3を使って、ディスプレイ、マウス、キーボードなしの"フェイスレス"でJMRIを動作させたので、備忘録としてメモしておきます。



OSはUbuntuベースのUbuntu Mateにしました。2017年1月の時点で16.04LTSとなっています。インストール手順は、ネット上の情報を参考にしながら進めます。

Installing operating system images on Linux

Ubuntu Mateのディスクイメージを入手し、linux上でmicroSD(ここでは/dev/sdb/。システムによって違うので、細心の注意を!)に書き込みます。
$ sudo dd bs=4M if=ubuntu-mate-16.04-desktop-armhf-raspberry-pi.img of=/dev/sdb

使用したmicroSDが8GBで少し容量が足りず、ddコマンドでエラーとなったので、以下のコマンドでファイルシステムの整合性をチェックして修復します。
$ sudo e2fsck -f /dev/sdb2
$ sudo resize2fs /dev/sdb2
$ sudo fsck.ext4 -f /dev/sdb2

逆に、使用するmicroSDの容量がディスクイメージより大きい場合は、dpartedなどで/dev/sdb2のパーティションを拡げておきます。

Raspberry Pi 3に、準備したmicroSD、ディスプレイ、キーボード、マウスをつなぎ、最後に電源をつなぐと、起動後にUbuntu Mateの初期設定画面になるので、フェイスレスで使う時のユーザーIDとパスワードを設定し、併せて自動ログインにしておきます。

Raspberry Pi 3上のUbuntu Mateは、パソコンに比べると動作が重く、プログラムのアップデートは、特に遅いです。初期設定のままでは知らぬ間にプログラムのアップデートが始まってしまうので、無線LANにつなぐ前に設定を変更しておきます。

パネルから"ソフトウェアとアップデート"を起動し、アップデート"タブで"セキュリティアップデートがあるとき"を"すぐに表示"に変更した後、無線LANに接続します。

必要に応じてレポジトリの参照先を国内サーバーに変更します。

•Ubuntu Weekly Recipe
 第450回 Raspberry Pi 3にUbuntu 16.04 LTSをインストールする(Ubuntuカーネル編)

時間がある時に、最初のプログラムのアップデートをしておきます。(1時間半位かかった思います。。)
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo reboot

Raspberry Pi自身のファームウェアの更新をする場合には、以下のコマンドを実施します。(無理に更新する必要はありません。)
$ sudo rpi-update
$ sudo reboot

ネットワーク経由でログインできるように、xrdpをインストールしておきます。
$ sudo apt-get install xrdp

日本語入力の設定を整えます。パネルから"言語サポート"を起動して、追加のファイルをインストールします。

PR3が使えるように、自分のユーザーIDをdialoutグループに追加します。
$ sudo adduser ${USER} dialout

JMRIをダウンロードして、ホームディレクトリ配下の"JMRI"にインストールします。
$ cd ~
$ wget https:(ダウンロードファイルのurl)
$ tar xzfv ./download

Javaは1.8なので追加の作業はありません。PR3、コマンドステーション(DCS51K)をつなぎ、PanelProを起動して動作を確認します。
$ cd ~/JMRI
$ ./PanelPro

動作が確認できたら、システム起動時の自動起動にJmriFacelessを登録します。
$ crontab -u ${USER} -e
自動起動コマンドファイルの編集画面になるので、最後の行に以下を追加します。
@reboot /home/ユーザーID/JMRI/JmriFaceless

再起動させて自動起動を確認します。
$ sudo reboot

システムを終了させる時にはいきなり電源は切らず、終了コマンドを入力します。
$ sudo poweroff

microSDカードのアクセスが終わった頃合で、電源を外します。

ディスプレイ、キーボード、マウスを外せば、フェイスレスとなりますが、電源を切る際には、他のPCから端末を立ち上げ、ログインしてシステムを終了させる必要があります。
$ ssh -X ユーザーID@Raspberry PiのIPアドレス
$ sudo poweroff

このままでは電源OFFにパソコンが必要なので、リセットボタンの追加を検討しています。

続く。。


PS.Ubuntu Mate 16.04 LTS on Raspbery Pi3 が 重いからといって、"brltty"を強制的にアンインストールすると、パッケージの整合性が取れなくなって「振り出しに戻る」となりますのでご注意下さい。(経験者談)
Ubuntu Mate 16.04 LTS on Raspberry Pi3 が 重い件 の 対処

【16番】HOユニトラック手動ポイント6番(その3:DCC ポイントマシン)

テーブルトップレイアウトでも、手の届きづらいところのポイントに限って、DCC対応で電動化する計画です。






取り付けは簡単で、アドレスはデフォルトで"1"となってます。

続く。。

2017/01/01

【16番】Digitrax PR3とJMRI


先人の方々のWebを参考に、JMRI version 4.2とPR3とDCS51Kで、iPhone 5sのWiThrottleliteからコントロールできるようになりました。無線LANは普段使っているものです。

Ubuntu 14.04LTSが認識したPR3は、そのままではJMRI/Preferences Pane/Connectionsから見えないので、ターミナル画面から次のコマンドで、自分のユーザーIDをdialoutグループに追加しました。

$ sudo adduser ${USER} dialout

パソコンにPR3にDCS51Kに電源アダプターと結構場所を取るので、置き場所に工夫が必要です。

続く。。

« 2016年12月 | トップページ | 2017年3月 »