著者:Nate_Larson
私は最近、Odd Jayyの悪名高いロボット製作に協力しているときに、PimoroniのHyperPixel高解像度 Raspberry Pi ディスプレイを手に入れました。ただのHyperPixelではなく、2.1 round HyperPixelです。このディスプレイを使いこなす必要があり、私は使い方をよりよく理解するための動機付けとなるようなプロジェクトを見つけたいと思っていました。
丸いディスプレイはちょっと変わっているので、すぐに思いついたプロジェクトは、アナログスタイルの時計でした。このウェブベースの手短かで簡単な時計作りには、Raspberry Pi 3 Bを使用しましたが、40ピンのヘッダを備えた最新のRaspberry Piコンピュータなら、どれでも使えるはずです。
基本的なRaspberry Piのセットアップ
まず、Raspberry Pi Imagerを使って、Raspberry Pi OS Lite(32ビット)のオペレーティングシステム(OS)を搭載したmicroSDカードをフラッシュすることから始めます。これは、プログラム内でオペレーティングシステムを選択する際に、「Raspberry Pi OS (other)」というカテゴリで見つけることができます。また、この時に設定メニューを使って、Piのホスト名、ユーザー名、固有のパスワードを割り当て、次にSSHの有効化、無線LANの詳細設定、適切なロケーションの詳細設定を行うと、残りのセットアップが容易になります。
Piが起動を完了したことを確認したら、そのIPアドレスを見つける必要があります。これにはいくつかの方法がありますが、通常はネットワークルータにログインして、接続されているクライアントのリストを確認します。もしくは、Piと同じWi-Fiネットワークに接続されているデバイスで、Angry IP ScannerなどのIPスキャナを使用することができます。OSをフラッシュする際に、先ほど指定したホスト名のデバイスを探します。私の場合、192.168.40.7でPiが見つかりました。
sudo apt update
HyperPixelソフトウェア
ここで、HyperPixelをセットアップするために、Pimoroniのドライバコードをダウンロードしてインストールする必要があります。
ターミナルに以下の各コマンドを入力してください。
git clone https://github.com/pimoroni/hyperpixel2r
cd hyperpixel2r
sudo ./install.sh
注意:上記の最初のコマンドの後にエラーメッセージが表示された場合、以下のコマンドを使用してgitをインストールする必要があるかもしれません。
sudo apt install git
ドライバをインストールしたら、config.txtファイルを編集してディスプレイを動作させる必要があります。これは、次のコマンドで行うことができます。
sudo nano /boot/config.txt
次の行を見つけるまでスクロールし、行の先頭に#を入力してコメントアウトしてください。
dtoverlay=vc4-kms-v3d
Ctrl + Xを押してから、Yを押して変更を保存し、Enterキーで元のファイル名を保持します。
キオスクモードのセットアップ
Piが自動的にログインして、表示したいページを起動するように、ターミナルに次のように入力して、Raspberry Pi Configuration Toolを起動します。
sudo raspi-config
「System Options」を選択します。
今回はOSのLite版を使用したため、時計を表示するためのグラフィカルユーザーインターフェース(GUI)がありません。したがって、このプロジェクトを動作させるためには、最小限のGUIをインストールする必要があります。そのためには、ターミナルウィンドウで次のコマンドを実行します。
sudo apt-get install --no-install-recommends xserver-xorg x11-xserver-utils xinit openbox
次に、時計のウェブページを表示するために、次のコマンドでChromiumウェブブラウザをインストールします。
sudo apt-get install --no-install-recommends chromium-browser
Openboxは、上記コマンドで最初にインストールされたウィンドウマネージャです。これを、autostartとenvironmentファイルを編集して、起動時にchromiumブラウザを起動し、指定したウェブページをロードするように設定します。
autostartファイルを開きます。
sudo nano /etc/xdg/openbox/autostart
画面やウェブページを表示し続けたいので、画面が消えないようにするために、以下のコマンドをファイルに追加してください。
xset -dpms # turn off display power management system
xset s noblank # turn off screen blanking
xset s off # turn off screen saver
また、自動起動ファイルに以下の行を追加することで、Chromiumがエラーや更新メッセージ、ダイアログボックス、またはウェブページの邪魔になるものを表示しないようにすることができます。
# Remove exit errors from the config files that could trigger a warning
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/chromium/'Local State'
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/; s/"exit_type":"[^"]\%2B"/"exit_type":"Normal"/' ~/.config/chromium/Default/Preferences
# Run Chromium in kiosk mode
chromium-browser --noerrdialogs --disable-infobars --kiosk $KIOSK_URL
--check-for-update-interval=31536000
これらの更新を保存し、Ctrl + Xを押してから、Yを押して変更を保存し、Enterキーを押して元のファイル名を保持したまま、更新内容を保存してファイルを閉じます。
では、environmentファイルを開いてください。
sudo nano /etc/xdg/openbox/environment
ここでは、以下の例にあるDigi-Keyのウェブサイトのように、Chromiumが表示すべきウェブページを定義することになります。私はオンラインで時計の文字盤のウェブサイトを検索しました。ライブの時計が中央に全画面表示されているのを見つけたとき、それがとても気に入ったので、そのページのURLをコピーしました。すでに存在する利用可能なオプションもたくさんあり、またウェブページ制作の経験があれば、独自の画面を制作する良い機会になるでしょう。私が最終的にデザインに採用した時計の文字盤のページは、https://www.clockfaceonline.co.uk/clocks/magical/です。もちろん、好きなページを選ぶことができます。
このテキストを追加し、ファイルを閉じて保存してください。
export KIOSK_URL= https://www.digikey.com
表示するウェブページを変更する必要がある場合は、このファイルを編集するだけです
あとは、Piが起動時にXサーバを起動するように設定するだけです。
~/.bash_profileがすでに存在するかどうか確認します。
ls -la ~/.bash_profile
その場合、ファイルを編集することができます。
sudo nano ~/.bash_profile
しかし、存在しない場合は、編集するファイルを開く前に、まず以下のコマンドでファイルを作成してください。
touch ~/.bash_profile
次のテキストを追加してください。これでXサーバが起動します。また、HyperPixelはタッチスクリーンディスプレイなので、カーソルを削除します。
[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && startx -- -nocursor
ファイルを保存して閉じてから、以下のコマンドを実行してください。
source ~/.bash_profile
エラーが出なければ、Piを再起動してビルドは完了です。
sudo reboot
さらなる進化をめざす
この例では時計を作成しましたが、他のウェブページや特定のファイルにも簡単に適応できます。このデバイスは、ローカルファイルを含め、Chromiumブラウザでネイティブに表示できるものなら何でも表示可能です。例えば、PiをシャットダウンしてmicroSDカードを取り出し、PCに戻してください。それから、カードのブートディレクトリに、アニメーションGIFなど表示したいファイルを追加します。
メモリカードをPiに戻して起動し、environmentファイルのテキストを以下のように変更します(ファイル名は表示するファイルに合わせます)。
Export KIOSK_URL=file:///boot/my_gif_file.gif
ファイルを保存して、再起動します。これで、Piはあなたが選択したファイルを表示するようになります。
まとめ
これでRaspberry Piで動く、ウェブベースの時計がHyperPixelの丸型のディスプレイに美しく表示されるようになりました。このビルドは、あらゆるウェブページやスマートホームダッシュボードを表示するように簡単に設定することができます。ディスプレイのタッチスクリーンは、モバイルフレンドリーなウェブページを簡単に操作でき、キオスクセットアップにより、起動時にウェブページを自動的にフルスクリーンで表示させることができます。
主要部品とコンポーネント
- 1778-PIM579-ND
- 2648-RASPBERRYPI3-ND
- 3247-USDCOEM-16GB-ND
- 2648-SC0623-ND
ご質問やご意見がおありですか?Digi-Keyのオンラインコミュニティであり、技術情報源でもある
TechForumに投稿して下さい。