Code Monkey home page Code Monkey logo

rgb-led-matrix-disp's Introduction

rgb-led-matrix-disp

概要

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

LEDパネル制御ライブラリ

以下も必要。

Controlling RGB LED display with Raspberry Pi GPIO

このあたりを参考にPython用ライブラリのビルドが必要。

フォント

以下からダウンロードしfontsディレクトリを作成して入れてください。

setting.yamlの設定

項目 内容
modefile-path モード切替制御ファイルの置き場所。Node-Red等外部アプリから特定文字列を記載したmodeというファイルを置くことでLEDの表示を切り替えできる
notion-token Notionのトークンを設定する
notion-db-id 「名言」を取得してくるNotionのデータベースIDを設定する

注意

modefile-pathに指定したディレクトリは権限777などにしないとPython側からmodeファイルを削除できないかもしれない

Notion側設定

  • インテグレーションをデータベースのShareに追加
  • NotionトークンとデータベースIDをsetting.yamlにセット
  • データベースのName列に名言を入れる

特殊記法

  • Nameに特定の文字を入れることで表示内容を動的に変更することができます。

記載例

Youtubeを始めて{0}日です;datecount:"2021/08/30"
  • リプレースホルダは {0} と記載します(現状1個のみで{1},{2}は対応してない)
  • セミコロン; の後に 変換タイプ:パラメーター の形式で動的表示の方法を指定。

指定した日付から今日までの経過日数を表示する(datecount)

変換タイプ

datecount

説明

パラメーターで与えた日数から今日までの経過日数を表示します

Youtubeを始めて{0}日です;datecount:"2021/08/30"

結果

Youtubeを始めて256日です

Node-redのインストール

Alexaで制御する場合はNode-Redが必要。

AlexaからRaspberry Piを経由して家電を音声で操作する を参考にしてください。

サンプルも入れています

flows.json

温度・湿度・気圧表示モジュール

使用部品

  • 温湿度・気圧センサ 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**"

参考

rgb-led-matrix-disp's People

Contributors

a-tak avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.