前回記述した内容はRaspberry-Pi4でした。
最近、Raspberry-Pi3 model B+を利用したちょっとしたユニットを作ることになり、またまた環境構築やらいろいろと手がけています。なので、忘れないように、何をしていたかメモしておきます。
1.Raspberry-Pi3(以下RP3と略す)と2.8inchの静電容量方式のタッチパネルを組み合わせてスタンドアローンユニットを作ります。
必要なことは以下の通り
ーOSの入手とマイクロSDへの書き込み
ー開発環境の構築
ー2.8インチLCDへの表示設定
ーFTDI社製のUSB-シリアルのドライバーのインストール
1.1 OSの入手とマイクロSDへの書き込み
利用しているPCはMacなので、Raspberry-Piの公式サイトへ行ってDesktop環境のOSを選択します。Mac用のSD書き込みツールがダウンロードされるので、ダウンロードされたファイルを起動して、マイクロSDへ書き込みをします。
書き込みが終わったらRP3へいれて起動、その後はお決まりの手順です。
sudo apt-get update
sudo apt-get upgrade
1.2 開発環境の構築
開発環境はQt二しているので、Qtをインストールします。
sudo apt-get install -y qt-sdk qtbase5-dev libgl1-mesa-dev
1.3 2.8インチLCDへの表示
今回は、これが肝ですが、想定以上に”楽”でしたね。参照するURLはこれ。
https://learn.adafruit.com/adafruit-pitft-28-inch-resistive-touchscreen-display-raspberry-pi/easy-install-2
一連のインストール作業は以下の通り。
cd ~
sudo pip3 install –upgrade adafruit-python-shell click==7.0
sudo apt-get install -y git
git clone https://github.com/adafruit/Raspberry-Pi-Installer-Scripts.git
これで、表示設定の環境はできあがり。
表示設定では、GUIの無いコンソールだけの表示とHDMI出力と同じ表示をするというのと、表示をオフにする、という3つです。
設定方法は、上記のインストールで設定した Raspberry-Pi-Installer-Scripts の中でスクリプトを実行します。
まずはコンソール表示のみにする方法
cd Raspberry-Pi-Installer-Scripts
sudo python3 adafruit-pitft.py –display=28c –rotation=90 –install-type=console
ここで、–install-type=console の部分のみが変更点になります。
GUIデスクトップをLCDの解像度で表示するには、こうします。
sudo python3 adafruit-pitft.py –display=28c –rotation=90 –install-type=fbcp
ちなみにこれらの設定では、HDMIでの高解像度表示が無くなりますので、フルHDでのさご湯に戻る場合は、uninstallをしていします。
sudo python3 adafruit-pitft.py –display=28c –rotation=90 –install-type=uninstall
別にScriptなどが削除されるわけでは無く、ただのスイッチとしての指定なのでuninstallを指定をします。が、もう少し名称考えて欲しかったかな。
1.4 FTDIの設定
これはいつも悩みますね。VCPを入れた方が良いのかドライバーを入れた方が良いのか・・・
今回も2xxをインストールしておきます。
https://www.ftdichip.com/Drivers/D2XX.htm
ここから、下の方に行くと、Raspberry-pi用のリリースがあります。バイナリドライバーなのでコンパイルとか不要です。(VCPを入れようとするとカーネルリコンパイルが必要になるみたいですが、Makeの時点で参照先が違っているようです。面倒なので実施してませんが・・・VCPについては既に標準として組み込まれているようなのですが・・・)
ここからは、ダウンロードしたファイルを展開して、ReadMe.txtに書かれているとおりに実施して終了。
FTDIは必要かどうかはまだ分かりません。
一応、これで準備したいことは終わりです。
では、コードを書きます・・・・
Qtにネットワーク関係のコードを書く場合は、コンパイル時に unreference XXXというエラーがでます。あちらこちら調べましたが、プロジェクトファイル(xxx.pro)に、以下の追加をすれば良いとのことで、えー、それだけ、と思ったけど、それだけでした。
追加した文
QT += network
これぐらい自動で入れてくれても良いのにな・・・・