Skip to content

tatsuo98se/3d_led_cube2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

Requirements

Python 2.7
pip install pillow
pip install numpy
pip install flask
pip install opencv-python
pip install pyzmq
pip install pyserial
pip install pyaudio
pip install hamlish-jinja
pip install requests
[Optional] pip install cython
[Optional] pip install pyrealsense

for macOS

brew install opencv
brew install boost
brew install portaudio

pyaudioをインストールする前にportaudioを導入してください。

Tested with

macOS

各ファイルの役割

ファイル名の命名規則

"main_"から始まるもの

呼び出しのエントリーポイントとなるファイル

"main_*_service.py"

このファイルの呼び出しで、一つのLEDのアトラクションを提供するもの

"main_*_module.py"

"_service.py"を補助するために必要なサービス
利用するには、このファイルも実行する必要がある

"main_test.py", "main_sample"

テストを実行するためのエントリーポイント

main_block_service.py

受け取ったブロックの組み合わせを表すのJson命令をLED CUBEとシミュレータに表示する。
表示に成功した命令は、./log/order_history以下にログとして保存する

main_paint_service.py

お絵かきコンテンツを実行する
ポート5301にお絵かきのWebUIを表示する

main_realsense_service.py

人影のコンテンツを実行する
main_realsense_module.pyの実行も必要

main_block_test.py - 標準入力からブロックの組み合わせを表すのJson命令を受信して表示するスクリプト

ローカル環境確認用
コンソールへの以下の入力で、HTTP経由での命令と等価の動作となる

HTTPでの表示命令 main_block_test.pyでのコンソールへの表示命令入力
HTTP POST
http://(サーバーのIP)/api/show
コンテンツ: (JSON表示命令)
show:{(JSON表示命令)}
HTTP POST
http://(サーバーのIP)/api/abort
abort

led_framework.py - pythonプログラム用、Json表示命令受信クラス

実装例

from led_framework import LedFramework

LedFramework().show({"orders":[{"id":"object-fill"},{"id":"object-cube"}]})

main_audio_module.py

音楽を再生するREST APIサービスを立ち上げる
3D LED CUBEフレームワーク内からはSoundInterfaceクラス経由でアクセスも可能

for led_coloring

Requirements

pip install watchdog pip install opencv

ImageMagick-7.0.7-8-portable https://www.imagemagick.org/script/download.php パスを設定する。Windowsのパス設定は「コントロールパネル→システム→システムの詳細設定→環境変数(N)

各ファイルの役割

for led_coloring - スキャン文書から塗り絵を読み込み表示するアプリケーション

  • 対象フォーマット .jpg, .jpeg .png, .tif(single) .tif(multi)
  • スキャン解像度 200dpi
  • スキャン入稿フォルダ ./asset/coloring/scan_in2/
  • 塗り絵フォーム ./asset/coloring/3dledcube_form.xlsx

つかい方(複合機連携なし)

塗り絵フォームを印刷して塗り絵をする. スキャンしてファイルを保存する. スキャン文書をスキャン入稿フォルダに格納する

つかい方(複合機連携あり)

「複合機連携セットアップ手順(後述)」に従い設定する. 塗り絵フォームを印刷して塗り絵をする. 複合機でスキャナー(ネットワーク)から登録した宛先を選択する. 塗り絵をスキャンする.

複合機連携セットアップ手順

  • スキャン入稿フォルダの公開
    PCでスキャン入稿フォルダを共有フォルダ設定する.
    Everyoneに読み書き権限を付与する.
    PCのIPアドレスを確認する.
  • 複合機の宛先表登録(DocuPrint CM310/210z) 複合機とLANケーブルを接続した状態で電源ON.
    IPアドレスをDHCPにして再起動し、IPアドレスを確認.
    PCのブラウザからCWISでアクセスする.
    [宛先表>サーバーアドレス]を押下後、[新規登録]を選択.
    [サーバーアドレスの登録]で宛先を登録する.
     名前:任意
     サーバータイプ:SMB
     サーバーアドレス:192.168.100.xxx
     ポート:139
     ログイン名:(空)
     パスワード:(空)
     共有名:scan_in
     サーバーパス:(空)
  • スキャン設定(デフォルト)の設定
    以下を設定する.
     解像度:200dpi
     カラーモード:カラー
     画像フォーマット:TIFF
     フォルダ作成:ON
  • DocuPrint CM210 z の場合の追加手順 ./asset/coloring/MoveTiffFile.cmdを実行する
    -> scan_inに格納されたTiff画像を、scan_in2へ移動する

以上