
オープンソースソフトウェア「RaspAP」向けのタッチ操作対応電子ペーパー表示ツールがGitHubで公開された。2.13インチ電子ペーパーディスプレイを使用してRaspberry PiのWi-Fi接続状況、VPN状態、システム情報を一画面で確認でき、タッチ操作でネットワーク設定を直接変更できる。
「raspap_display」と名付けられたこのPythonスクリプトは、122×250ピクセルの電子ペーパーディスプレイ(横向き使用時は250×122ピクセル)に対応している。プロジェクトは現在、RaspAPの公式リポジトリにフォークされており、GPL-3.0ライセンスの下で公開されている。メイン画面では、ホストWi-Fi接続状況(wlan0)、アクセスポイント状態(wlan1)、VPN接続状況、CPU温度、GeoIPによる外部IP位置情報を同時表示する。
タッチ操作により、Wi-Fi接続のオン/オフ切り替え、VPN選択リストへの移動、システムメニューへのアクセス、詳細情報画面の表示が可能だ。VPN選択画面では最大4つのVPN接続を一度に表示し、上下スクロールで全リストを確認できる。
システム情報とネットワーク詳細を多画面表示
情報画面では2つのページに分けて詳細データを提供している。1ページ目にはネットワーク情報として、ホスト接続のSSIDとIPアドレス、APホットスポットの状態とSSID、接続クライアント数を表示する。2ページ目ではCPU使用率、CPU温度、GeoIP位置情報といったシステム統計を確認できる。
システムメニューからはRaspberry Piの再起動、シャットダウンが直接操作可能で、物理キーボードやSSH接続なしでの基本操作を可能にしている。
APIキャッシュ機能により効率的なデータ更新を実現している。APのSSIDは10秒、APクライアント数は5秒、GeoIP位置情報は15分間隔でキャッシュされ、CPU温度と使用率は5秒ごとに更新される。タッチ応答性は約0.1秒間隔でポーリング処理され、タッチ後は即座にUI更新が行われる。
導入要件と設定方法
動作にはRaspberry Pi 3B+以降、Raspberry Pi OSにRaspAPがインストールされた環境が必要だ。ハードウェアとしては2.13インチ電子ペーパーディスプレイ(epd2in13_V4ドライバー対応)とGT1151タッチコントローラーが求められる。
Python環境ではバージョン3.7以降が必要で、python3-pil、python3-requests、python3-gpiozero、python3-spidev、python3-smbusライブラリーのインストールが前提となる。Raspberry Piの設定でSPIとI2Cインターフェースの有効化も必須だ。
VPN機能を使用する場合は、OpenVPNクライアントの導入と.ovpn設定ファイルの配置、/etc/openvpn/client/内でのシンボリックリンク作成が必要となる。また、vpn_connections.jsonファイルでVPN接続設定を定義する。
RaspAP APIキーの設定により、アクセスポイント状態、SSID、クライアント数をより確実に取得できる。APIキーが設定されていない場合はシステムコマンドによるフォールバック処理が動作するが、効率性や詳細度で劣る可能性がある。
スクリプトはsystemdサービスとして登録することで、システム起動時の自動開始ができる。ログ出力はjournalctlで確認でき、トラブルシューティング時にはログレベルをDEBUGに変更できる。
関連情報
関連商品(広告)
※Amazonへのリンクにはアフィリエイトリンクが含まれています。リンク先から購入の際に発生する紹介料は、FabSceneの運営費になります。