Raspberry pi Zero WにWio Terminalを繋いでディスプレイ表示する
はじめに
Seeedから発売されている、Wio TerminalがRaspberry pi(以下、ラズパイ)のディスプレイになるとのことで、今回試してみました。
ラズパイとWio TerminalはUSBで接続します。
Seeedの公式Wikiの以下の記事
Raspberry Pi用HMIディスプレイを作る - Seeedウィキ(日本語版)
に方法はかかれてますので、基本はここの内容に従って作業をすればよいです。
ただこのサイト、
と見にくいのに注意。例えば、「sudoサービスlightdmの再起動」は「sudo service lightdm restart」というコマンドを翻訳してしまったと思われます。
Raspberry Pi Zero Wで動くか(手順的な面と性能的な面)がわからなかったので、実際にやってみました。
結論としては、それなりに動きました。
見ての通り、解像度は320 x 240なのでやれることは限られてます。WiFiやBluetoohの切り替えとかにはつかるかもしれません。配置するウェジットを工夫すればちょっとしたことができかも?
設定でUSBの数だけWio Terminalを繋げるそうなので、Wikiではラズパイ(Zeroではない)の4つのUSBポートに4台つなげる例が書かれてます。が、あまり実用的には思えないですね。
本命は、WikiにもあるPyQtGraph等をつかって直接GUI表示する方法ですね。これは次に試してみようとおもっています。
さて、以降では、今回動作させるまでの手順+αをまとめます。Raspberry Pi Zero Wということで、セットアップ等は非常に時間がかかるので、VTuberの雑談配信やアニメをみながら作業するのがよいかと思います。(個人的嗜好)
今期アニメだと「戦翼のシグルドリーヴァ」が結構好き。
戦翼のシグルドリーヴァ 1(完全生産限定版) [Blu-ray]
- 発売日: 2020/12/23
- メディア: Blu-ray
環境
以下に、今回使用した環境をまとめておきます。
項目 | 内容 |
---|---|
H/W | Raspberry pi Zero W |
OS image | Raspberry Pi OS (32-bit) with desktop and recommended software. Version: August 2020, 2020-08-20 |
SD容量 | 16GB |
その他デバイス | Wio terminal |
USBケーブル | Wio terminal付属のもの |
大まかな手順
Wio Terminalの準備
Wio Terminalに、ディスプレイ表示用のファームウェアを書き込む必要があります。
ソースはgithubに公開されてるので、自分でもってきてArduino IDEで作成することができる一方、
Wikiからダウンロードできるuf2ファイルを使って、対応ファームを入れ替えることもできます。
Raspberry Pi用HMIディスプレイを作る - Seeedウィキ(日本語版)
PCにWio Terminalを繋いで、Wio Terminalのディスプレイに向かって左側面にある電源スイッチを、ONの位置から下に素早く2回引き下げます。すると、PC側にドライブとして認識されます。
そこにuf2ファイルをコピーすると、再起動してファイルを読み込んで起動します。mbedライクですね。
用意されてるuf2ファイルは2種類あって、Wio Terminalの画面右下にある青いスイッチでマウスを操作できるもの(USBDisplayAndMouseControl)と、マウスを使わないかわりリフレッシュレートが高いもの(NullFunctional)。今回はUSBDisplayAndMouseControlを使ってみました。
ラズパイ側の準備
$ sudo apt install raspberrypi-kernel-headers raspberrypi-kernel
その後、githubからドライバのソースを取得。作業はユーザのホームディレクトリ配下で行いました。
$ git clone https://github.com/Seeed-Studio/seeed-linux-usbdisp
その後、ビルドしてインストール、再起動。
$ cd ~/seeed-linux-usbdisp/drivers/linux-drive $ make $ sudo make install $ sudo reboot
設定ファイルを、Xサーバの設定ディレクトリにコピー。
sudo cp ~/seeed-linux-usbdisp/drivers/linux-driver/xserver_conf/10-disp.conf /usr/share/X11/xorg.conf.d/
ウィンドウマネージャ(lightdm)を再起動。
$ sudo service lightdm restart
WikiではここでWio TerminalをUSBポートに接続とありますが、Raspberry pi Zだと繋いだとたん電力不足でリブートしていまいますので、ラズパイ起動時に接続しておくのが良いです。
以上になります。
その他メモ
HDMIへディスプレイ出力を戻したい
Wio terminalにディスプレイ表示を切り替えると、HDMIへには出力されなくなります。
HDMIに戻すには、
1) 設定ファイル名を変更して無効にし、
$ mv /usr/share/X11/xorg.conf.d/10-disp.conf /usr/share/X11/xorg.conf.d/10-disp.conf.disable
2) ディスプレイマネージャ(lightdm)を再起動します。
$ sudo service lightdm restart
切り替えに少し時間がかかります。