目次
概要
秋月電子通商で販売されている I2C接続小型キャラクタLCDモジュール AQM0802A を使った Raspberry Pi CPU用 LCD モニタを製作します。
実力1mA程度の低消費電力LCDなので、ホーム・サーバ用に適しています(LCDの年間電気代は約1円)。LCDをRaspberry Pi の40ピン拡張GPIO端子に直結するだけなので、製作も簡単です。
サンプル・スクリプトを使って、時刻、CPU負荷、CPU温度、メモリ使用量、ストレージ用マイクロSDカード使用量を棒グラフで表示します。

ソフトウェアの機能
サンプル・ソフトウェアには、以下の機能を実装しました。予告なく拡張する場合があります。
- 時刻/CPU負荷/CPU温度/メモリ使用率/マイクロSDカード使用率の表示機能
- 異常通知機能(Wall通知)
- 起動時のグラフ・アニメーション(見てのお楽しみ)
- IPアドレス表示 (GPIO 27 チョン押し)
- システム・シャットダウン機能(GPIO 27 長押し)
時刻表示
下図は20:23を示す時刻表示画面です。上段のグラフは、左端が18時、中央が深夜0時、右端が翌朝6時の12時間の時刻の目安位置を示します。日中は朝6:00~18:00を表示します。

下図は約2時間後です。針が少し進んでいるのが分かります。

CPU負荷表示
下図はCPUの負荷表示です。4コアの Raspberry Pi 4 の場合、棒グラフに0~4までの値を表示します。

CPU温度表示
下図はCPU温度表示の一例です。透明なケースに収納してみました。棒グラフには40℃~80℃を表示します。

メモリ使用量表示
0~100%までのメモリ使用率を表示します。

ストレージ用SDカード使用率
ストレージ用のマイクロSDカード使用率です。
最も重要かもしれません。

製作方法
必要な部品
秋月のI2C接続 LCD AQM0802Aシリーズに対応しています。
- Rasapberry Pi 1~4, Zero, Zero Wなどに対応
- I2C接続小型キャラクタ LCD モジュール AQM0802A
- 完成品 M-09109 [AE-AQM0802]
- キット K-06795 [AE-AQM0802]
- バックライト付き K-12238 [AE-AQM0802A-BL]
- Raspberry Pi 専用 K-11354 [AE-AQM0802+PCA9515]
- ミニブレッドボード 25穴 (配線用)
- ジャンパワイヤ メス-オス
- タクトスイッチ (シャットダウン機能使用時 GPIO 27)
- Raspberry Pi 専用ケース
半田付け無しで製作可能
完成品の M-09109 [AE-AQM0802] を用いれば、半田付け不要で製作できます。ミニブレッドボード 25穴から LCDの4本の信号を取り出し、Raspberry Piに接続するだけです。

回路図
Raspberry PiのI2C信号と電源をLCDモジュールに直接、接続します。LCDの電源VDDは、Raspberry Piの GPIO16に接続し、電源供給機能とリセット機能を1本の線で実現しました。

サンプル・ソフトウェア
Raspberry Piで下記のコマンドを入力すれば、サンプル・ソフトウェアexample_cpu.shのダウンロードと実行が行えます。
$ cd ⏎
$ git clone https://bokunimo.net/git/raspi_lcd ⏎
$ cd ~/raspi_lcd ⏎
$ make clean ⏎
$ make ⏎
$ ./example_cpu.sh ⏎
本サンプル・ソフトウェアは、Bashスクリプトで書きましたが、Pythonで書いた別のサンプル・ソフトウェアexample.py も収録してあります。
Raspberry PI用ケース
常時通電する場合は、必ず専用ケースに入れ、またLCDなどが Rasapberry Pi 本体基板の導電部分でショートしないように、ポリイミドテープなどで保護します。
下図は透明なケースに収容した時の一例です。

また、BitTradeOne の Apple Pi や、トランジスタ技術2016年8月号に付属の基板を使用して製作することも出来ます。一番右の青ボタンでIPアドレス表示やシステムのシャットダウン操作が可能です。

Linux コマンド
サンプル・プログラムexample_cpu.shで使用した Linux コマンド は以下の通りです。
表示項目 | Linux コマンド |
---|---|
時刻 | date “+%R:%S” |
CPU負荷 | uptime |
CPU温度 | cat /sys/devices/virtual/thermal/thermal_zone0/temp |
メモリ使用量 | free |
SD使用量 | df |
関連記事
下記は、本ページの関連記事です。I2Cリピータなしで動作する原理などを説明しています。(下図の上部にあるタイトルをクリックすると閲覧できます。)
また、ESP32-WROOM-02や32の製作例を紹介する書籍「超特急Web接続! ESPマイコン・プログラム全集」(左)では、Apple Pi を使った見守りシステムのスクリプトを紹介しており、「Pythonで作る IoTシステム プログラムサンプル集」(右)では、Raspberry Piを使って様々な IoT 実験例を紹介しています。
ぜひ、各誌の目次などをご覧いただき、購入を検討していただければ幸いです。
筆者サポートページ(ESPマイコン):
https://bokunimo.net/bokunimowakaru/cq/esp/
筆者サポートページ(Python):
https://bokunimo.net/iot/cq/