Adafruit LED matrixラジオ体操
秋月電子で売っているきれいなLEDマトリクスでいろいろニュースを表示しつつ、毎朝ラジオ体操をできるようにしてみた。
1) 物品の準備
Raspi関連
– Raspberry Pi3 Model B
– Raspi の電源アダプタ
– マイクロSDカード(SDカードにするアダプタ付き)
– SDカードリーダ
– USBスピーカLED Matrix関連
– Adafruit LED matrix 16x32贔屓目だと思うがすごく綺麗。街中でこれに匹敵する綺麗さのやつを探しているが、パチンコ屋の店頭にあるやつくらいしか見当たらず
– それ以外電源周り色々は、Adafruitのサイト参照。。。
– LED matrix用の電源アダプタ
– LED matrix用の電源アダプタとLED Matrix側の電源端子をつなぐジャッンパワイヤ、ジャックなど色々Adafruitのサイトの情報が正しいのはあくまでもLED Matrixに電源をつなぐところくらいまで。GPIOの結線以降はここに戻ってきた方がよい
2) Raspberry Piのセットアップ
OSなど
この方の記事がよくまとまっていてよい。
SDカードに焼いて差し込んで起動するだけなので、自分で当初調べながらやったところ、デフォルトでsshdが上がっていなかったのでだいぶイライラ切り分けに時間を要した。丁寧な方のノウハウを頂きましょう。USBスピーカを有効にして、内蔵の音声出力ジャックを無効化する。
今回LED Matrix制御に利用するHenner Zeller氏作成のライブラリは、Raspi内臓の音声モジュールとは共存できない。このため、USBスピーカをつないで内臓の音声出力ジャックを無効化してやる必要がある。
実は若干忘れ気味。USBスピーカを鳴らす方法は、こちらの記事がよさそう。
Raspberry Pi でUSBスピーカーを動かす
内蔵の音声出力ジャックを無効化する方法はこちらがよさそう。
Disable the Built-in Sound Card of Raspberry Pi
sudo vi alsa-blacklist.conf
でファイルを開いて、以下を入力
blacklist snd_bcm2835
3) Raspiへの結線、およびサンプルコードの稼働
LED Matrix と電源アダプタの接続
ここが慣れなくて一番厄介だったはずだがあまり記憶になく。。。とにかく+/ー間違えずに繋げばよい。。。LED Matrix とRaspiの接続
Henner Zeller氏の解説のようにやる。「😄」マークを結線のみでよい。
https://github.com/hzeller/rpi-rgb-led-matrix/blob/master/wiring.md
他のアイコンの結線は、もっとLED Matrixを大量に並べるときのためのもの。出来てみるとさほど難しくないのだが、ミスなくraspiとLED側と突合するのが厄介だった
4) Henner Zeller氏製のrpi-rgb-led-matrixのセットアップ
Raspiへログインし、ここからコードをすべて持ってくる
https://github.com/hzeller/rpi-rgb-led-matrix
その後、以下の手順に準拠して、rpi-rgb-led-matrixのライブラリを導入する
https://github.com/hzeller/rpi-rgb-led-matrix/blob/master/python/README.md
cd (持ってきたコードを展開したディレクトリ)
cd python
sudo apt-get update && sudo apt-get install python2.7-dev python-pillow -y
make build-python
sudo make install-python
実はCのサンプルコードも同梱されており、そちらの方が速い、というようなことが書いてあるが、やっぱりデータを手軽にいじるにはPythonのような言語がよい。サンプルを走らせて楽しむ。
cd samples
sudo ./runtext.py --led-rows=16 --led-brightness=20
5) コードを作って動かす
crawler.py
rss or 某ニュースサイトからニュースを取得してきて配下の「newsimg」フォルダに画像にして保存するもの。予め画層しておいた方がLED matrixに食わせやすい。なお、予め配下の「font」フォルダにTrueType or OpenTypeのフォントを入れておく必要あり。色々調整したが、以下が好み:
– 16px向け -> mplus-2c-medium
– 8px向け -> 美咲フォントfeeder.py
crawler.pyが集めてきた画像をランダムに表示する。画像がなければ待って、見つかった時点で表示を再開する。nhk.sh
rtmpdump + mplay2 で NHK第一を聞くシェルスクリプト。
上記モジュールがapt-getで導入済みであればOK動かし方
上記をBlynkのようなIoTフレームワークから叩くか、cronで時間がきたら実行するなどすると、ラジオで目覚ましー>ニュースを見ながらラジオ体操 ができる。
2A + 5Vが出るモバイルバッテリ2個を組み合わせると持ち出しもできるので、実は昔懐かし夏休みラジオ体操ができるのだが、近所の公園で息子の同級生の親御さんに会う勇気はまだ、持ち合わせておらず。。。一旦は家の中でこんな風に動かしましょう。。。
./crawler.py &
./nhk.sh &
sudo ./feeder.py
以下、コードです。
crawler.py
|
|
feeder.py
|
|
nhk.sh
|
|