概要

RaspBerry Pi に I2C 接続の単色 128*64 ドットの OLED(有機 EL) ディスプレイを接続して、コンソール画面(CTRL+ALT+F1 を押したときの画面)を表示するディスプレイとして使う手順です。RaspBerry Pi 本体に接続した USB キーボードから 16x8 文字表示のコンソールにログインして、シェル上で操作できます。

DHCP 環境で RaspBerry Pi にリモートでログインしたいけれども IP アドレスが分からない場合、通常は外部ディスプレイを接続する必要があって面倒ですが、このコンソール画面があれば "ifconfig | less" コマンドで調べられます。調べるだけでなく "ifconfig eth0 192.168.0.1" などとして IP アドレスを変更したり "vi /etc/dhcpcd.conf" で設定ファイルを編集することまでできます。解像度は低いですが、超小型のディスプレイなので、普段から接続したままでも邪魔になりません。

oled01.jpg

動作

初期設定

自動設定スクリプトを使う場合

(1) 配線

(2) oled.zip をダウンロードして展開し、root 権限で自動設定スクリプト Install.sh を実行する

# sh Install.sh

(3) I2C の有効化

# raspi-config

手動で設定する場合

(1) 配線

(2) oled.zip をダウンロードして展開し oled コマンドを /bin/oled に置いて実行パーミションを付ける

# cp oled /bin/oled
# chmod a+x /bin/oled

(3) 8dot フォント(alt-8x8 他)をインストール

# export DEBIAN_FRONTEND=noninteractive
# apt-get install console-data

(4) I2C の有効化

# raspi-config

(5) 解像度の追加

mode "128x64-60"
    # D: 25.175 MHz, H: 31.469 kHz, V: 59.94 Hz
    geometry 128 64 128 64 8
    timings 39722 48 16 33 10 96 2
endmode

(6) oled サービスの追加

[Unit]
Description = oled daemon
After = multi-user.target
# After=display-manager.service
[Service]
ExecStartPre=/bin/bash -c "/bin/sleep 10; /bin/chvt 1; /bin/fbset '128x64-60'; /bin/setfont 'alt-8x8'; export TERM=linux; setterm -blank 0 > /dev/tty1"
ExecStopPost=/bin/bash -c "/bin/fbset '800x600-60'; /bin/setfont 'default8x16'"
ExecStart = /bin/oled
Restart = always
Type = simple
[Install]
WantedBy = multi-user.target

(7) OS 起動時にサービスを開始するように指定

# systemctl enable oled 

を実行する(不要になったら systemctl disable oled で無効化できる)。

補足

ソフトウェアのダウンロード

oled コマンドのオプション

# oled [-h] waitTime(100) i2cAddress(0x3c) i2cDeviceFile(/dev/i2c-0) 
オプション意味デフォルト値
waitTime画面転送時のフレーム間ウェイト時間100
i2cAddressI2C のスレーブアドレス0x3c
i2cDeviceFileI2Cのデバイスファイル/dev/i2c-0
framebufferDeviceFileフレームバッファのデバイス名/dev/fb0

oled コマンドのダウンロード


Counter: 15762, today: 6, yesterday: 1

キーワード:Raspberry pi, OLED, 有機EL, LCD, 液晶, コンソール, ログイン、USB, キーボード, スクリーンエディタ

[https://goo.gl/ZAZqIj]
fanoutsendai@lait.sakura.ne.jp

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS