タグ「RaspberryPi」を含む投稿[68件](6ページ目)
Art-Netは受信したデータのスタックの仕方を変えてうまくいきました。
約1/100秒毎でスタックし、1/40秒毎で出力しています。
試験的な処理ですが、Delayもユニバース単位で綺麗に動きます。
Art-Netの送受信の試験製作はこれにて終了。
ただ、テストで使っていた中華電器のArt-Netデコーダが不良品でした。
8アウトの製品ですが、普通に使うとDMXポートが1つしか信号を出さない。
組み合わせを吟味すると半分の4ポートは出力されますが、マニュアル通りに使って正しく動かないのでは現場じゃ使えません。
届いた時にMAdot2でテストしてちゃんと動いたような気がするのですが・・・
Art-Netのデコーダは市販品もありますが、RaspberryPiでここまで出来てしまうと自作した方が圧倒的に安い。市販品の国内価格は7-8万円ですが、材料費だけなら2万もしません。
レガシーDMXのインターフェースは基板から自作になりますが、PICマイコンでSPIからDMXにプロトコル変換するだけなのでそれほど難しくないハズ。パッチマシンとしてまとめる際には必要ですから作ってしまいましょう。
#RaspberryPi #[Art-Net]
約1/100秒毎でスタックし、1/40秒毎で出力しています。
試験的な処理ですが、Delayもユニバース単位で綺麗に動きます。
Art-Netの送受信の試験製作はこれにて終了。
ただ、テストで使っていた中華電器のArt-Netデコーダが不良品でした。
8アウトの製品ですが、普通に使うとDMXポートが1つしか信号を出さない。
組み合わせを吟味すると半分の4ポートは出力されますが、マニュアル通りに使って正しく動かないのでは現場じゃ使えません。
届いた時にMAdot2でテストしてちゃんと動いたような気がするのですが・・・
Art-Netのデコーダは市販品もありますが、RaspberryPiでここまで出来てしまうと自作した方が圧倒的に安い。市販品の国内価格は7-8万円ですが、材料費だけなら2万もしません。
レガシーDMXのインターフェースは基板から自作になりますが、PICマイコンでSPIからDMXにプロトコル変換するだけなのでそれほど難しくないハズ。パッチマシンとしてまとめる際には必要ですから作ってしまいましょう。
#RaspberryPi #[Art-Net]
RaspberryPiが手に入らない。手に入ってもボリボリ価格。
世界的な半導体不足を実感した瞬間でした。
3月下旬には入荷するそうです。
#RaspberryPi
世界的な半導体不足を実感した瞬間でした。
3月下旬には入荷するそうです。
#RaspberryPi
ガラクタ週間が終わり、終日本業のデスクワークでした。
会場図面書いて、照明プランの概要まとめ、見積りというデスクワークの王道メニューです。
嫌いじゃないのですが、ガラクタネタが中途なのでソワソワします。
今やっているArt-Netは卓とデコーダが必要な作業なので、荷物も多いし広いスペースも必要です。しばらくはお休みかな。
明日から現場が続きますが、RaspberryPiだけ持って行って現在のソースをオブジェクト指向っぽく書く練習をしようかなぁ。
そうそう、製作というレベルではありませんが、ピンスポット用の照準器を増産しました。その実態は小型カメラ用の自在雲台を介して短いピカティニーレールをピンに取り付けるクランプです。
細かい部品を買い増しして組み立てるだけなので15分くらいの作業でしたが、なぜ思い立って作ったかと言えば数日後の現場で数年ぶりにピンを振ることになったからです。
鈍った腕でも対応出来そうな演目ですが、お年頃からくる目のコンディションでバインド照準器が使えませんので、ダットサイトなどの目印が遠くに見える照準器に頼らないとダメだと思われます。
このクランプは5-6年前に作った代物です。以前作った物は部下にあげてしまったので、余っていた部品で改めて自分用をこさえたワケです。
#RaspberryPi #Python
会場図面書いて、照明プランの概要まとめ、見積りというデスクワークの王道メニューです。
嫌いじゃないのですが、ガラクタネタが中途なのでソワソワします。
今やっているArt-Netは卓とデコーダが必要な作業なので、荷物も多いし広いスペースも必要です。しばらくはお休みかな。
明日から現場が続きますが、RaspberryPiだけ持って行って現在のソースをオブジェクト指向っぽく書く練習をしようかなぁ。
そうそう、製作というレベルではありませんが、ピンスポット用の照準器を増産しました。その実態は小型カメラ用の自在雲台を介して短いピカティニーレールをピンに取り付けるクランプです。
細かい部品を買い増しして組み立てるだけなので15分くらいの作業でしたが、なぜ思い立って作ったかと言えば数日後の現場で数年ぶりにピンを振ることになったからです。
鈍った腕でも対応出来そうな演目ですが、お年頃からくる目のコンディションでバインド照準器が使えませんので、ダットサイトなどの目印が遠くに見える照準器に頼らないとダメだと思われます。
このクランプは5-6年前に作った代物です。以前作った物は部下にあげてしまったので、余っていた部品で改めて自分用をこさえたワケです。
#RaspberryPi #Python
PythonのThreadとQueueの使い方はだいたい理解しました。
0.005秒のsleepで動作周期を持たせたThreadで512個の整数を延々と加算してqueue.putに出力し、本処理では0.001秒のsleepで動作周期を持たせたqueue.get_nowaitで取り出しながら0.1秒毎に表示を更新しています。処理負荷が小さくメモリ使用量も安定していてスムーズです。本処理での時間軸の管理はアセンブラっぽいカウンタ処理ですが、厳密な処理周期は不要なのでsignalを使うほどでもありません。
Threadを使うメリットは高速化だと書く人が多いですが、私にとっては、処理によって違う要求時間を仕分け出来て、ポーリングだけど割り込みっぽいことが出来ることです。画面の更新はそれほど頻繁でなくていいけど、毎秒44回更新されるDMXの信号の処理は遅れたくないのですが、シングルスレッドでこの辺りを制御するのは案外面倒なのです。
気を付ける点はQueueのputやgetのタイミングです。Queueは変数ではなくFIFO特性のスタックなことが肝ですが、C言語のスタックやポインタにセマフォが混ざった構成なので、C言語のこのあたりを知ってないと理解しにくいかも。PythonにC言語っぽい作法が残っているのが不思議ですが・・・
ThreadとQueueを使ってキーボードの入力も作り直します。
#RaspberryPi #Python
0.005秒のsleepで動作周期を持たせたThreadで512個の整数を延々と加算してqueue.putに出力し、本処理では0.001秒のsleepで動作周期を持たせたqueue.get_nowaitで取り出しながら0.1秒毎に表示を更新しています。処理負荷が小さくメモリ使用量も安定していてスムーズです。本処理での時間軸の管理はアセンブラっぽいカウンタ処理ですが、厳密な処理周期は不要なのでsignalを使うほどでもありません。
Threadを使うメリットは高速化だと書く人が多いですが、私にとっては、処理によって違う要求時間を仕分け出来て、ポーリングだけど割り込みっぽいことが出来ることです。画面の更新はそれほど頻繁でなくていいけど、毎秒44回更新されるDMXの信号の処理は遅れたくないのですが、シングルスレッドでこの辺りを制御するのは案外面倒なのです。
気を付ける点はQueueのputやgetのタイミングです。Queueは変数ではなくFIFO特性のスタックなことが肝ですが、C言語のスタックやポインタにセマフォが混ざった構成なので、C言語のこのあたりを知ってないと理解しにくいかも。PythonにC言語っぽい作法が残っているのが不思議ですが・・・
ThreadとQueueを使ってキーボードの入力も作り直します。
#RaspberryPi #Python
RaspberryPiにRTC(リアル・タイム・クロックを取り付けてみました。
RaspberryPiは無電源だと時計が動きませんので、起動すると前回終了した時刻から時計がカウントされます。
これでは気持ちが悪いし、ファイルの更新時刻がおかしくなると開発作業ではトラブルのもとです。
リンクの商品以外にもRTCはいろいろありますが、この製品は小型でGPIOに挿すだけで使えて何かとよいと思います。安価だし。
設定方法はこのサイトがわかりやすいと思います。/boot/config.txtを更新した後に再起動を忘れずに。
#RaspberryPi
RaspberryPiは無電源だと時計が動きませんので、起動すると前回終了した時刻から時計がカウントされます。
これでは気持ちが悪いし、ファイルの更新時刻がおかしくなると開発作業ではトラブルのもとです。
リンクの商品以外にもRTCはいろいろありますが、この製品は小型でGPIOに挿すだけで使えて何かとよいと思います。安価だし。
設定方法はこのサイトがわかりやすいと思います。/boot/config.txtを更新した後に再起動を忘れずに。
#RaspberryPi
仮ですが、コマンド入力を作りました。
今回はArt-Netの受信データを表示することが目的なので、対象ユニバースを指示するだけの[ニーモニック-数値]のシンプルな物にしました。
Net,Subnet,Universeなどのニーモニックを[N][S][U]のキーで呼び出し、数値を打って[Enter]で確定です。それぞれのコマンドには設定数値の範囲がありますので、範囲外であればエラーというか「このコマンドの数値範囲はこうだよん」と表示する様にもしています。
#RaspberryPi #Python
今回はArt-Netの受信データを表示することが目的なので、対象ユニバースを指示するだけの[ニーモニック-数値]のシンプルな物にしました。
Net,Subnet,Universeなどのニーモニックを[N][S][U]のキーで呼び出し、数値を打って[Enter]で確定です。それぞれのコマンドには設定数値の範囲がありますので、範囲外であればエラーというか「このコマンドの数値範囲はこうだよん」と表示する様にもしています。
#RaspberryPi #Python
ANSIエスケープシーケンスは何とかモノになりました。
画面の試作段階ですから受信データを表示することは出来ませんので、仮のnumpy.arrayを加算し続ける処理で動きを確認しています。インクリメントした値の256の剰余(割った余り)です。
チラつくことなく求める動作をしていますし、画面処理の負荷は(topにて)7%くらい。いいんでないか?
ちなみにpi4のCPUは4coreなので、topコマンドでの最大値は400%です。
この後はArt-Netの受信とキー操作です。
Art-Netはsocket通信で受信したパケット(バイナリ)を適切に変換してデータ化するだけです。通信の難しいことはライブラリがやってくれるので、たぶん、それ程難しくはないと思います。
キー入力は最終的なコマンド実行までどう持っていくかです。様々な手順が考えられますが、どうやるのがいいかよく考えてみましょう。
#RaspberryPi #Python
画面の試作段階ですから受信データを表示することは出来ませんので、仮のnumpy.arrayを加算し続ける処理で動きを確認しています。インクリメントした値の256の剰余(割った余り)です。
チラつくことなく求める動作をしていますし、画面処理の負荷は(topにて)7%くらい。いいんでないか?
ちなみにpi4のCPUは4coreなので、topコマンドでの最大値は400%です。
この後はArt-Netの受信とキー操作です。
Art-Netはsocket通信で受信したパケット(バイナリ)を適切に変換してデータ化するだけです。通信の難しいことはライブラリがやってくれるので、たぶん、それ程難しくはないと思います。
キー入力は最終的なコマンド実行までどう持っていくかです。様々な手順が考えられますが、どうやるのがいいかよく考えてみましょう。
#RaspberryPi #Python
ANSIエスケープシーケンスのチラつきの原因がわかりました。
行削除です。コードは'\033[2K'。
上書きしないと文字が消えないので行を削除してから書いていたのですが、消すのではなく空白で上書きすることで解決しました。
いやはや。
#RaspberryPi #Python
行削除です。コードは'\033[2K'。
上書きしないと文字が消えないので行を削除してから書いていたのですが、消すのではなく空白で上書きすることで解決しました。
いやはや。
#RaspberryPi #Python
ANSIエスケープシーケンスですが、RaspberryPi上のPythonでは期待する動画が出来ないかもしれません。形にはなるのですがチラつきます。
開発作業用と画面の試作を兼ねてDMXスロットの値を一覧表示する画面を作っています。値の表示は遅くとも0.1~0.2秒くらいで更新しなければなりませんが、前の表示が完了していないのに次の表示が実行されているような感じで、行単位での一瞬の点滅が不規則に発生します。
細かいことはともかく、これではダメです。
動画を表示出来るのですからテキスト画面の更新を0.1秒間隔でやるなど楽勝だろうと思っていたのですが、そもそもテキスト表示の書き換えにこんなレスポンスは不要だと作られているのかもしれません。
基本的な動作だけに余裕を持って動いてくれないと困ります。
RaspberryPiの作り的に、ANSIエスケープシーケンスでテキスト画面を構成するより、グラフィカルな画面に今どきの方法で表を書いた方がいいのかもしれません。
#RaspberryPi #Python
開発作業用と画面の試作を兼ねてDMXスロットの値を一覧表示する画面を作っています。値の表示は遅くとも0.1~0.2秒くらいで更新しなければなりませんが、前の表示が完了していないのに次の表示が実行されているような感じで、行単位での一瞬の点滅が不規則に発生します。
細かいことはともかく、これではダメです。
動画を表示出来るのですからテキスト画面の更新を0.1秒間隔でやるなど楽勝だろうと思っていたのですが、そもそもテキスト表示の書き換えにこんなレスポンスは不要だと作られているのかもしれません。
基本的な動作だけに余裕を持って動いてくれないと困ります。
RaspberryPiの作り的に、ANSIエスケープシーケンスでテキスト画面を構成するより、グラフィカルな画面に今どきの方法で表を書いた方がいいのかもしれません。
#RaspberryPi #Python
ANSIエスケープシーケンスを組んでて思ったのですが、大昔のN-BASICみたいだなと。書式こそ違いますが、COLOR命令やLOCATE命令を思い出す風味です。N-BASICリアル世代。
ANSIエスケープシーケンスはテキスト画面の制御コードを文字列としてprintします。画面の文字を消去しろとか、カーソル位置を何処にしろとか、引き続いて表示する文字列の色をどうしろとかを命令ではなくコードで渡すのです。大昔のVT100などで用いられたテキスト表示の制御方法ですが未だに使えるとは驚きてす。さすがUNIXの末裔。
#RaspberryPi
ANSIエスケープシーケンスはテキスト画面の制御コードを文字列としてprintします。画面の文字を消去しろとか、カーソル位置を何処にしろとか、引き続いて表示する文字列の色をどうしろとかを命令ではなくコードで渡すのです。大昔のVT100などで用いられたテキスト表示の制御方法ですが未だに使えるとは驚きてす。さすがUNIXの末裔。
#RaspberryPi