Raspberry Pi Zeroに最適な有機ELミニ液晶「Adafruit PiOLED」が販売開始になりましたのでレポートします。
モノクロ1インチ有機ELディスプレイ搭載
これまで、GPIO経由でディスプレイを取り付けようとしたら、「ピンを全て占有してしまってセンサーを取り付けられなかった。大失敗!」といった苦い経験はありませんか?
Adafruit PiOLED
は、モノクロ 128x32 有機ELディスプレイを搭載し、あらゆるRaspberry Piシリーズに簡単に取り付けることができます。このミニディスプレイはI2Cピンのみを使用しているので、ボタン、LED、センサーなどに多くのGPIO接続が可能になります。
そう、小さいは正義なのです。
購入方法
海外では Pimoroniで販売されています。個人輸入に抵抗がない方は検討してみてはいかがでしょうか。
2017/08/21追記 国内でも販売開始になりました!スイッチサイエンスさんで販売開始です。
ただ小さいだけじゃない!PiOLED 3つの特長
(1) 有機ELディスプレイのため可読性が高い
PiOLEDのディスプレイは小さく、わずか約1インチ。もちろん小さいだけではなく、有機ELディスプレイは高コントラストで可読性にも優れています。
スクリーンは128x32 pixel の白色OLEDで構成されています。また、ご存知の方も多いと思いますが、有機ELディスプレイは自発光するためバックライト不要です。
(2) PiOLEDのセットアップはとても簡単
提供元のAdafruitはSSD1306チップセット用のPythonライブラリを公開しています。このサンプルコードでは、Pythonイメージングライブラリを使用して、好きなように画像やテキストを描画することができます。
また、再生レートは30fpsあるため、アニメーションやシンプルなビデオも表示できそうです。
(3) はんだ付け不要
組立のためのはんだ付け不要。完成品で動作テスト済み。PythonのプラグインをインストールするだけでOK。オリジナルのPi 1、B +、Pi 2、Pi 3、Pi Zeroを含むRaspberry Piで動作します。
セットアップ手順
今回は Raspberry Pi Zero W
を使ってセットアップ手順を紹介します。
まだこの段階では、PiOLEDをRaspberry Pi のGPIOピンに接続しないでください。
RPi.GPIO ライブラリのインストール
まず、 RPi.GPIO
ライブラリをインストールします。ライブラリを使用する前に、いくつかの依存関係がインストールされていることを確認します。
$ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install build-essential python-dev python-pip $ sudo pip install RPi.GPIO
次に、以下のコマンドを実行して、Python Imaging ライブラリ、python-smbus ライブラリをインストールします。
$ sudo apt-get install python-imaging python-smbus
最後に、以下のコマンドを実行してgitをインストールし、最新のAdafruit SSD1306 Pythonライブラリのサンプルコードをダウンロード後、実行します。
$ sudo apt-get install git $ git clone https://github.com/adafruit/Adafruit_Python_SSD1306.git Cloning into 'Adafruit_Python_SSD1306'... remote: Counting objects: 112, done. remote: Total 112 (delta 0), reused 0 (delta 0), pack-reused 112 Receiving objects: 100% (112/112), 34.60 KiB | 0 bytes/s, done. Resolving deltas: 100% (57/57), done. Checking connectivity... done. $ cd Adafruit_Python_SSD1306 $ sudo python setup.py install running install running bdist_egg running egg_info ~省略~ Using /usr/lib/python2.7/dist-packages Finished processing dependencies for Adafruit-SSD1306==1.6.1
I2C の有効化
raspi-configでI2Cを有効にします (既にI2Cが有効化されている場合、この手順は不要です)
$ sudo raspi-config
いったんRaspberry Pi 本体をシャットダウンをし、PiOLED をRaspberry Pi のGPIOピン に取り付けます。
$ sudo shutdown -h now
取り付けが終わったら、Raspberry Pi を起動します。
以下のようにi2cdetect コマンドで PiOLEDのアドレス0x3c
が表示されたのを確認します。
$ sudo i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
サンプルプログラムの実行
それでは全ての準備が完了したので、サンプルプログラムを実行してみましょう。
$ cd Adafruit_Python_SSD1306/
$ sudo python examples/stats.py
そうすると、ディスプレイで IPアドレス、CPU使用率、メモリー使用率、ディスク使用量が表示されるようになります。
(補足:たとえプライベートIPアドレスだとしても、我が家では晒さないルールになっているので隠しています。理由はここでは割愛)
起動時にバックグラウンド実行する手順
Raspberry Pi起動時に今回紹介したサンプルプログラムをバックグラウンドで常時実行したいときの手っ取り早い方法として、 /etc/rc.local
で最終行のexit 0
の前に、以下のように追記します。
$ sudo nano /etc/rc.local sudo python /home/pi/Adafruit_Python_SSD1306/examples/stats.py &
これで、Raspberry Pi 起動時から IPアドレス、CPU使用率、メモリー使用率、ディスク使用量が常時表示されるようになります。
まとめ
有機ELディスプレイが思った以上に良くて、何台か欲しくなってしまうほどの完成度でした。はんだ付けも要らない完成品なのがとても良いですね。
今回紹介したAdafruitが公開しているサンプルコードだけでも、とても便利に使えそうですね。
我が家では、IoTプラレールなどのオモチャの発車・停車ステータスを表示するために使おうと考えています。(IoTプラレールについては過去記事参照)
ぜひ、皆さまのご家庭でも楽しくご利用下さい。
cheero モバイルバッテリー 3200mAh [ 高品質Panasonic電池搭載 ] sleepion専用 本体装着用マグネット付 (ホワイト)
- 出版社/メーカー: cheero
- メディア:
- この商品を含むブログを見る