Raspberry Pi で LED時計を作ってみた で作成した16x32 RGB LEDマトリックスパネル制御アプリを再整理し、新たにNotionの特定のデータベースから拾い出したタイトルをスクロール表示する機能を追加した。
現状、rpi-rgb-led-matrixのPython用ライブラリの場所はソース内に直接記載している。
matrix.py
の以下の部分。
sys.path.append("/home/pi/rpi-rgb-led-matrix/bindings/python/rgbmatrix")
from rgbmatrix import RGBMatrix, RGBMatrixOptions
sudo pip3 install pyyaml
sudo pip3 install notion-client
以下も必要。
Controlling RGB LED display with Raspberry Pi GPIO
このあたりを参考にPython用ライブラリのビルドが必要。
以下からダウンロードしfonts
ディレクトリを作成して入れてください。
項目 | 内容 |
---|---|
modefile-path | モード切替制御ファイルの置き場所。Node-Red等外部アプリから特定文字列を記載したmodeというファイルを置くことでLEDの表示を切り替えできる |
notion-token | Notionのトークンを設定する |
notion-db-id | 「名言」を取得してくるNotionのデータベースIDを設定する |
modefile-pathに指定したディレクトリは権限777などにしないとPython側からmodeファイルを削除できないかもしれない
- インテグレーションをデータベースのShareに追加
- NotionトークンとデータベースIDをsetting.yamlにセット
- データベースの
Name
列に名言を入れる
- Nameに特定の文字を入れることで表示内容を動的に変更することができます。
Youtubeを始めて{0}日です;datecount:"2021/08/30"
- リプレースホルダは
{0}
と記載します(現状1個のみで{1},{2}は対応してない) - セミコロン
;
の後に変換タイプ
:パラメーター
の形式で動的表示の方法を指定。
datecount
パラメーターで与えた日数から今日までの経過日数を表示します
Youtubeを始めて{0}日です;datecount:"2021/08/30"
Youtubeを始めて256日です
Alexaで制御する場合はNode-Redが必要。
AlexaからRaspberry Piを経由して家電を音声で操作する を参考にしてください。
サンプルも入れています
- 温湿度・気圧センサ AE-BME280
- 明るさセンサ(照度センサ) TSL2561も回路図にあるが使用していない
-
I2CをRasp Configで有効にする
-
関連モジュールインストールと設定
sudo apt-get update sudo apt-get install i2c-tools sudo apt-get install python-smbus sudo pip3 install smbus2 sudo chmod a+rw /dev/i2c-1
-
権限の設定
sudo vim /etc/udev/rules.d/99-com.rules
SUBSYSTEM=="i2c-dev", GROUP="i2c", MODE="066**6**"