東京デバイセズのTDFA1104は、USB 接続で簡単に扱える 4 桁 7 セグメント LED ディスプレイです。
Raspberry Pi と組み合わせれば、システムモニタや IoT デバイスの状態表示などに最適。この記事ではCPU温度を1秒ごとにリアルタイム表示するまでの手順をわかりやすく解説します。
製品の簡単な紹介
- 型番 : TDFA1104
- 表示 : 赤色 LED、0.8 inch、4 桁
- 電源 : USB バスパワー (5 V / 300 mA max)
- 通信 : USB 2.0 で PC/Raspberry Pi から制御OK
- コマンド :
td-usb tdfa1104 set <文字列>
で最長 4 文字を表示可能 (ピリオド「.」は桁数に含まず)
数字はもちろん、.-_~ACEFGHIJLPUYbcdhnortu
などの英字も表示できるので、温度・時刻・エラーコードなど多彩な用途に活躍します。
準備するもの確認
必要なもの | 備考 |
---|---|
Raspberry Pi (4 B / 5 B / Zero 2 W など) | Raspberry Pi OS がインストール済み で、SSH かモニタ付きで操作できる状態 |
TDFA1104 本体 | USB-A⇔mini-B ケーブル付属 |
インターネット接続 | パッケージ更新・リポジトリ clone 用 |
ビルドに必要なツールのインストール
sudo apt update
sudo apt install -y git build-essential libusb-dev
USB 権限の設定
TDFA1104 はベンダ ID 0x32ee、プロダクト ID 0x1783 で認識されます。
udev
ルールを追加し、非 root でもアクセス可能にします (再起動不要)。
sudo tee /etc/udev/rules.d/99-usb-tokyodevices.rules <<'EOF'
SUBSYSTEM=="usb", ATTR{idVendor}=="32ee", ATTR{idProduct}=="1783", MODE="0666"
EOF
sudo udevadm control --reload-rules
sudo udevadm trigger
制御用コマンド TD-USB の構築
TDFA1104 への送信は CLI ツール TD-USB を利用します。READMEに沿って Linux 向けにビルドしましょう。
git clone https://github.com/tokyodevices/td-usb.git
cd td-usb
make # ./td-usb が生成される
動作確認:
./td-usb # バージョン情報が表示されれば OK
コーディング – Python で CPU 温度を 1 秒ごとに表示
Raspberry Pi では /sys/class/thermal/thermal_zone0/temp
に CPU 温度 (ミリ℃) が出力されています。
この値を読み取り、少数 1 桁に整形して TDFA1104 に流し込みます。
--loop
オプション付きで td-usb
を起動し、標準入力に温度を送ると高速 & 低負荷です。
#!/usr/bin/env python3
import subprocess
import time
import os
# td-usb を --loop モードで起動
proc = subprocess.Popen(
['./td-usb', 'tdfa1104', 'set', '--loop'],
stdin=subprocess.PIPE,
text=True
)
try:
while True:
# 1) CPU 温度を取得 (ミリ℃ → ℃)
with open('/sys/class/thermal/thermal_zone0/temp') as f:
millic = int(f.read().strip())
temp_c = millic / 1000.0
# 2) 文字列を整形 (例: 45.2)
disp = f'{temp_c:4.1f}'[:4] # 4 桁に丸める
# 3) TDFA1104 に送信
proc.stdin.write(disp + '\n')
proc.stdin.flush()
time.sleep(1)
except KeyboardInterrupt:
pass
finally:
proc.terminate()
ファイルに保存後、実行権限を付与して起動します。
chmod +x show_cpu_temp.py
./show_cpu_temp.py
# TDFA1104 が「48.6」「48.7」…と 1 秒ごとに更新される
負荷をかけたりアイドル状態にしたりすると、値が即座に変化することを確認できます。
まとめ
- TDFA1104 は USB だけで動作する手軽な 7 セグ LED。
- TD-USB ツールをコンパイルすれば Linux からワンコマンド制御。
- モニタリング表示やIoT ダッシュボードとしておすすめ。