Shigezoneさんで2.2インチ(320×240)のSPI接続のディスプレイを購入したので、Raspberry Pi3のディスプレイとして使用してみました。
Raspberry Pi3上のRaspbian Stretch環境で試しています。
#接続
基本はこのサイトの情報の通りにやっています。
こちらのサイトではバックライトのLEDの電源を抵抗を取り付けて取っているようですが、3V3の電源ピンは2つあるので、ラズパイから直接取るようにしました。
#設定
①「Raspberry Pi の設定」か「sudo raspi-config」コマンドでSPIインタフェースを有効にします。
これにより「boot/config.txt」に「dtparam=spi=on」が追加されます。
以降の設定は以下サイトの通りにやっています。
http://arkouji.cocolog-nifty.com/blog/2016/07/raspberry-pi-32.html
②配線が間違っていなければ、以下のコマンド実行でディスプレイにRaspbianの画面が表示されると思います。
sudo rpi-update
sudo reboot
#再起動後
sudo modprobe fbtft_device name=tm022hdh26 rotate=90
sudo mv /usr/share/X11/xorg.conf.d/99-fbturbo.conf ~
sudo FRAMEBUFFER=/dev/fb1 startx
あとは、起動後に以下の2行を実行すればのディスプレイに表示されるようになります。
sudo mv /usr/share/X11/xorg.conf.d/99-fbturbo.conf ~
sudo FRAMEBUFFER=/dev/fb1 startx
#自動起動設定
とりあえず「/etc/rc.local」に「modprove~」以降の行を追加しました。
多分「mv~」以降の2行で良いんだとは思います。
#…
modprobe fbtft_device name=tm022hdh26 rotate=90
mv /usr/share/X11/xorg.conf.d/99-fbturbo.conf ~
FRAMEBUFFER=/dev/fb1 startx
exit 0
GUIで使い物になるアプリはほとんどないので、コンソールを起動してCUIならぎりぎり使えないことは無いかと思います。
#TightVNCインストール
VNCサーバが標準のRealVNCだとディスプレイに出力されている画面がそのまま表示されるので、この環境だとかなり使いにくくなります。
以下のサイトを参考にVNCサーバをRealVNCからTightVNCに変更しました。
(両方はインストールできません。インストール時にRealVNCが削除されます。)
VNC接続した場合には広い画面を使用可能になります。
https://qiita.com/okkun_osaka/items/e170be03a937395a15da
https://qiita.com/sugasaki/items/8f73b4cb239744ac2570
上記2サイトに記述されていたコマンドですが、以下のような内容です。
sudo apt-get purge realvnc-vnc-server
sudo apt-get install tightvncserver
vncserver :1
#VNC接続用のパスワードを入力する
sudo vi /etc/init.d/vncboot
#vncbootの内容を入力する
sudo update-rc.d vncboot defaults
sudo chmod 755 /etc/init.d/vncboot
sudo reboot
(vncbootの中身)
#! /bin/sh
### BEGIN INIT INFO
# Provides: vncboot
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start VNC Server at boot time
# Description: Start VNC Server at boot time.
### END INIT INFO
# /etc/init.d/vncboot
USER=pi
HOME=/home/pi
export USER HOME
case "$1" in
start)
echo "Starting VNC Server"
#Insert your favoured settings for a VNC session
su $USER -c '/usr/bin/vncserver :1 -geometry 1280x720 -depth 24'
;;
stop)
echo "Stopping VNC Server"
su $USER -c '/usr/bin/vncserver -kill :1'
;;
*)
echo "Usage: /etc/init.d/vncboot {start|stop}"
exit 1
;;
esac
exit 0