全年全月14日の投稿[35件](3ページ目)
2022年9月 この範囲を時系列順で読む この範囲をファイルに出力する
RaspberryPiのUSB3.0にストレージに繋ぐと不安定になるらしい。実際不安定だったので調べたところ、故障ではなくそういうものらしい。
アクセスを速くするためのUASと呼ばれる方法が原因らしく、このドライバがデバイスに当たらないようにすると改善するらしい。ドライバが当たらないとオーソドックスなドライバに置き換わり安定するとか。ならば最初からそうして欲しい。速くても不安定ぢゃ意味がない。
設定方法は次のサイトが簡素でわかりやすい。
Raspberry Pi で USB接続のSSDが不安定な場合の対処法
今課題なのは、裸族のパイにノーマルの裸族のカプセルホテルを接続すると不安定になることの対策です。
HDDが4スロットでも良いのですが、RAID1を組むとストレージは2組です。出来れば3組使いたいので、裸族のカプセルホテルを増設して8スロットにしたいワケです。
不安定だったので増設の裸族のカプセルホテルは外してありますが、内蔵の4スロットは上記の設定で安定度が増したので、接続テストをしたいですね。
追記
現場上がりで帰宅して裸族のカプセルホテルの接続テストしました。なんだか圧倒的に普通に動きます。
これまでは何だったのか、費やした数時間に何の意味があったのか、鼻クソほじり乍ら遠い目をしてしまいそうな程です。
UASが機能すればUSB3の真価を引き出した高性能を得られるのかもしれませんが、カーネルが落ちる程の未完成品なら意味はありません。
ちなみに、裸族のカプセルホテルのプロダクトIDは個体が違っても同じでした。ですので、追加の設定作業はありません。
#RaspberryPi
アクセスを速くするためのUASと呼ばれる方法が原因らしく、このドライバがデバイスに当たらないようにすると改善するらしい。ドライバが当たらないとオーソドックスなドライバに置き換わり安定するとか。ならば最初からそうして欲しい。速くても不安定ぢゃ意味がない。
設定方法は次のサイトが簡素でわかりやすい。
Raspberry Pi で USB接続のSSDが不安定な場合の対処法
今課題なのは、裸族のパイにノーマルの裸族のカプセルホテルを接続すると不安定になることの対策です。
HDDが4スロットでも良いのですが、RAID1を組むとストレージは2組です。出来れば3組使いたいので、裸族のカプセルホテルを増設して8スロットにしたいワケです。
不安定だったので増設の裸族のカプセルホテルは外してありますが、内蔵の4スロットは上記の設定で安定度が増したので、接続テストをしたいですね。
追記
現場上がりで帰宅して裸族のカプセルホテルの接続テストしました。なんだか圧倒的に普通に動きます。
これまでは何だったのか、費やした数時間に何の意味があったのか、鼻クソほじり乍ら遠い目をしてしまいそうな程です。
UASが機能すればUSB3の真価を引き出した高性能を得られるのかもしれませんが、カーネルが落ちる程の未完成品なら意味はありません。
ちなみに、裸族のカプセルホテルのプロダクトIDは個体が違っても同じでした。ですので、追加の設定作業はありません。
#RaspberryPi
2022年8月 この範囲を時系列順で読む この範囲をファイルに出力する
お仕事を頂けるのは有難いのですが、お盆だというのに現地照明。
そういう仕事ですから仕方ありませんけどね。
そんな現場で思いついたこと。
ROBEのPointeを10台仕込むバトンが3本ありましたが、一斉に動くとバトンが揺れます。直後のビームはしばらくユラユラ。比較的軽量な灯体ですがクイックネスが優秀過ぎる弊害です。
で、思ったのですが、これを止める装置は作れないものか・・・
一番簡単なのはバトンが揺れる回転方向にアームを伸ばして先端に重量を掛ける方法です。テコや加速度などの物理の基本原則を用いた対策ですが、これではバトン荷重が悪戯に増えてしまうので多分NG。
ならば、リアクションホイールで反作用を与えたら不動は無理でも軽量な装置で短時間で揺れを止められる気がします。
揺れをセンシングしてもいいし、PAN/TILTEのデータを受けて先読みしても良さそう。
振り子の物理の問題になりますので、この課題を解決するには最低でも高校以上の数学と物理が必要です。いろんな物を作りますが、小学生の算数と理科で済むことがほとんどなので、本気でやるなら高校からやり直しです。
#妄想
そういう仕事ですから仕方ありませんけどね。
そんな現場で思いついたこと。
ROBEのPointeを10台仕込むバトンが3本ありましたが、一斉に動くとバトンが揺れます。直後のビームはしばらくユラユラ。比較的軽量な灯体ですがクイックネスが優秀過ぎる弊害です。
で、思ったのですが、これを止める装置は作れないものか・・・
一番簡単なのはバトンが揺れる回転方向にアームを伸ばして先端に重量を掛ける方法です。テコや加速度などの物理の基本原則を用いた対策ですが、これではバトン荷重が悪戯に増えてしまうので多分NG。
ならば、リアクションホイールで反作用を与えたら不動は無理でも軽量な装置で短時間で揺れを止められる気がします。
揺れをセンシングしてもいいし、PAN/TILTEのデータを受けて先読みしても良さそう。
振り子の物理の問題になりますので、この課題を解決するには最低でも高校以上の数学と物理が必要です。いろんな物を作りますが、小学生の算数と理科で済むことがほとんどなので、本気でやるなら高校からやり直しです。
#妄想
2022年6月 この範囲を時系列順で読む この範囲をファイルに出力する
夢想妄想で電子回路を設計していたんですが、ほんの少しロジックICを使いたい。ANDが2個とORが1個。
14ピンくらいのDIP-ICを2個使えばいいのですが大柄になるので避けたい。
ちょっと前までは表面実装トランジスタと同じくらい小さなワンゲートロジックと呼ばれる物が秋月さんでも手に入ったのですが今は微妙。
共立エレショップさんで何となく探したところ便利そうなロジックICが見つかりました。
コンフィギュラブル マルチファンクションゲートIC
SN74LVC1G97DBV
これはワンゲートロジックの一種ですが、つなぎ方で様々なロジック回路になります。SN74LVC1G97DBVはANDもORもどちらも出来ます。電圧の対応範囲も広く、20mAくらいドライブ出来るので小さなLEDなら直接点灯も出来そう。これは便利。
実は、WS2812Bというマイコン内蔵型のLEDをPICでドライブする方法を考えていたのですが、PICではほんの少しロジック回路が必要です。
CLCと呼ばれる小規模GALが内蔵されたPICならこれを用いれば済みますが、表面実装のPIC16F1939を大量に在庫しているので出来ればこれを用いたいのです。
追記
以前、DMX-512を入力できるWS2822Sのことを書きましたが、アドレス設定機を作れば便利に使えそうなものの、国内はおろか中華電器も含め、取り扱いが秋月電子さんだけになっていました。
秋月さんに問い合わせればわかることですが、もし製造元で廃番になっていると将来的な入手に不安があります。WS2812やそれと近しい制御信号の製品はamazonでも中華電器でも手に入るので、どうせ作るならこの系統にしようかなと。
PICのメーカーであるmicrochip社のサイトにWS2811を動かすアプリケーションノート(AN1606)があってそれを参考にしています。信号のプロトコルはWS2811、WS2812(前期型)、WS2812(後期型)、WS2815で微妙に違うのですが、PICの条件も含め、出来る限り互換性を持った方法を見つけてみようと思います。信号のレートが800kbps相当と速いのでPICには少し荷が重いのですが、出来るだけフルアドレスに対応出来る様に考えてみたいと思います。
#電子工作
14ピンくらいのDIP-ICを2個使えばいいのですが大柄になるので避けたい。
ちょっと前までは表面実装トランジスタと同じくらい小さなワンゲートロジックと呼ばれる物が秋月さんでも手に入ったのですが今は微妙。
共立エレショップさんで何となく探したところ便利そうなロジックICが見つかりました。
コンフィギュラブル マルチファンクションゲートIC
SN74LVC1G97DBV
これはワンゲートロジックの一種ですが、つなぎ方で様々なロジック回路になります。SN74LVC1G97DBVはANDもORもどちらも出来ます。電圧の対応範囲も広く、20mAくらいドライブ出来るので小さなLEDなら直接点灯も出来そう。これは便利。
実は、WS2812Bというマイコン内蔵型のLEDをPICでドライブする方法を考えていたのですが、PICではほんの少しロジック回路が必要です。
CLCと呼ばれる小規模GALが内蔵されたPICならこれを用いれば済みますが、表面実装のPIC16F1939を大量に在庫しているので出来ればこれを用いたいのです。
追記
以前、DMX-512を入力できるWS2822Sのことを書きましたが、アドレス設定機を作れば便利に使えそうなものの、国内はおろか中華電器も含め、取り扱いが秋月電子さんだけになっていました。
秋月さんに問い合わせればわかることですが、もし製造元で廃番になっていると将来的な入手に不安があります。WS2812やそれと近しい制御信号の製品はamazonでも中華電器でも手に入るので、どうせ作るならこの系統にしようかなと。
PICのメーカーであるmicrochip社のサイトにWS2811を動かすアプリケーションノート(AN1606)があってそれを参考にしています。信号のプロトコルはWS2811、WS2812(前期型)、WS2812(後期型)、WS2815で微妙に違うのですが、PICの条件も含め、出来る限り互換性を持った方法を見つけてみようと思います。信号のレートが800kbps相当と速いのでPICには少し荷が重いのですが、出来るだけフルアドレスに対応出来る様に考えてみたいと思います。
#電子工作
2022年4月 この範囲を時系列順で読む この範囲をファイルに出力する
Art-Netはテスト用のマップでパッチとディレイが機能しました。プロファイルカーブはこれからですが、パッチとディレイが動けば理屈は同じです。
ただ、配列変数の扱いで少し難儀しました。参照渡しになる規則がまだわからん・・・
ドライバレベルの基本動作がようやく出来た段階なので先は長いですが、処理負荷も軽くていいんじゃないかと。
ただ、処理を増やしたのに処理負荷が減っている。動くべきは動いているのに何故?
追記
プロファイルカーブの処理も試し書きが一発OK。
ムービングで試しましたが、ディマーだけノンディマーになる。
もちろん、ディマーにだけディレイをかけられる。
なんか面白い。
どうやら処理の核は出来たらしい。
一晩寝かせてから総チェックします。
#Python #[Art-Net]
ただ、配列変数の扱いで少し難儀しました。参照渡しになる規則がまだわからん・・・
ドライバレベルの基本動作がようやく出来た段階なので先は長いですが、処理負荷も軽くていいんじゃないかと。
ただ、処理を増やしたのに処理負荷が減っている。動くべきは動いているのに何故?
追記
プロファイルカーブの処理も試し書きが一発OK。
ムービングで試しましたが、ディマーだけノンディマーになる。
もちろん、ディマーにだけディレイをかけられる。
なんか面白い。
どうやら処理の核は出来たらしい。
一晩寝かせてから総チェックします。
#Python #[Art-Net]
ライトアップの片づけはほぼ終了。
これからは少ない現場を淡々とこなしていく日々が続くので開発のペースを上げられそうです。
作り変えたArt-Netの受送信処理は正しく動いているように見えます。この手の物にはコマンドの書き間違えではなくハードウェアの理解不足に起因するエラーが隠れていることがあるので、それを見つけることが難しかったりします。・・・そういった意味では、PICマイコンをアセンブラで書く方が楽だったりします。アセンブラは馬鹿正直ですから。
#Python #[Art-Net]
これからは少ない現場を淡々とこなしていく日々が続くので開発のペースを上げられそうです。
作り変えたArt-Netの受送信処理は正しく動いているように見えます。この手の物にはコマンドの書き間違えではなくハードウェアの理解不足に起因するエラーが隠れていることがあるので、それを見つけることが難しかったりします。・・・そういった意味では、PICマイコンをアセンブラで書く方が楽だったりします。アセンブラは馬鹿正直ですから。
#Python #[Art-Net]
2022年3月 この範囲を時系列順で読む この範囲をファイルに出力する
そんなワケでKiCadを使ってみたワケです。
慣れるとサクサク描けて良いCADだと思います。空き時間にユックリ習作しましたが思った通り描けます。
ただ、基板の寸法はインチ法とメートル法が混在するので、CAD云々以前にこの辺で混乱するかも。
#電子工作
慣れるとサクサク描けて良いCADだと思います。空き時間にユックリ習作しましたが思った通り描けます。
ただ、基板の寸法はインチ法とメートル法が混在するので、CAD云々以前にこの辺で混乱するかも。
#電子工作
どうにもソワソワしてしまうので、基板を発注までやってみました。
画像はKiCadによる完成イメージです。

本来ならブレッドボードなどで回路を隅々まで確認してから発注するべきですが、工程を一通り流し、仕上がりを確認するためのテスト発注です。
200x85mmと少し大きめの基板ですが、5枚で12,000円程度。10枚にしても+2,000円くらい。長くお世話になったp板.comさんには申し訳ないけど、価格が1/10では・・・
コロナの影響で少し時間がかかるそうですが、10日前後なので速いです。
ちなみこの基板、SPI入力のDMXドライバです。RaspberryPiからCSありのSPIを送るだけでレガシーDMXを8ユニバース出します。もちろんアイソレーションしてます。想定通りに動けば、ですけどね。
追記
価格は100x100mm以下なら1枚200円前後、50x50mm以下なら100円前後。感光基板で自作するより遥かに安い。試作段階でも気軽に使えます。
#電子工作
画像はKiCadによる完成イメージです。

本来ならブレッドボードなどで回路を隅々まで確認してから発注するべきですが、工程を一通り流し、仕上がりを確認するためのテスト発注です。
200x85mmと少し大きめの基板ですが、5枚で12,000円程度。10枚にしても+2,000円くらい。長くお世話になったp板.comさんには申し訳ないけど、価格が1/10では・・・
コロナの影響で少し時間がかかるそうですが、10日前後なので速いです。
ちなみこの基板、SPI入力のDMXドライバです。RaspberryPiからCSありのSPIを送るだけでレガシーDMXを8ユニバース出します。もちろんアイソレーションしてます。想定通りに動けば、ですけどね。
追記
価格は100x100mm以下なら1枚200円前後、50x50mm以下なら100円前後。感光基板で自作するより遥かに安い。試作段階でも気軽に使えます。
#電子工作
2022年2月 この範囲を時系列順で読む この範囲をファイルに出力する
オレメモです。
パッチマップ(出力側ベース)
・フリーフェーダースロット
・ディレイ:<0>ならスルー、<1-255>ならディレイ
・ユニバース(入力参照)
・スロット(入力参照)
・カーブプロファイル:<0>ならスルー、<1-511>なら以下とする
>カーブプロファイル<1-255>はノンディマーとしてしきい値とする
>カーブプロファイル<256-511>はカーププロファイルマップを参照する
#[Art-Net]
パッチマップ(出力側ベース)
・フリーフェーダースロット
・ディレイ:<0>ならスルー、<1-255>ならディレイ
・ユニバース(入力参照)
・スロット(入力参照)
・カーブプロファイル:<0>ならスルー、<1-511>なら以下とする
>カーブプロファイル<1-255>はノンディマーとしてしきい値とする
>カーブプロファイル<256-511>はカーププロファイルマップを参照する
#[Art-Net]
Art-Netの受信に成功して処理負荷に余裕もあるとなれば落としどころをどうするか!?って話にもなるワケです。最大の望みはディレイ機能とカーブプロファイル機能を持ったパッチマシンですが、欲を出し過ぎたら頓挫します。
さてさて、どこまで行けるのでしょう。
お試しに次ぐお試しでとっ散らかったソースコードを整理整頓し、受信モニタとしてまとめ上げてからの話ですが、受信したArt-Netを送信する試験をしましょう。
ただし、単にリレーするだけでは面白くないし処理負荷の確認にもなりません。受信をデコードし、1対1のパッチ処理をし、エンコードして送信することにします。1対1とはいえマッピングデータ用いた入れ替えをすれば最終形の負荷に近くなると思います。ここまでやれば天井が見えてくるでしょう。
もしRaspberryPiには荷が重いならPCで動かせばいいって話もあります。今のところRaspberryPiというよりDebian上のPython3.7で動く様に作っていますのでPCでも動くと思います。レガシーDMXを搭載せずにいる理由の一つでもあります。
今どきのムービング卓はArt-Netを出しますし、Art-Netのデコーダーは既製品が沢山ありますので、レガシーDMXまで作らなくてもいいかなぁ~なんて思ってます。専用基板を作る初期投資がキツイってのが一番大きいですが・・・
#Python #[Art-Net]
さてさて、どこまで行けるのでしょう。
お試しに次ぐお試しでとっ散らかったソースコードを整理整頓し、受信モニタとしてまとめ上げてからの話ですが、受信したArt-Netを送信する試験をしましょう。
ただし、単にリレーするだけでは面白くないし処理負荷の確認にもなりません。受信をデコードし、1対1のパッチ処理をし、エンコードして送信することにします。1対1とはいえマッピングデータ用いた入れ替えをすれば最終形の負荷に近くなると思います。ここまでやれば天井が見えてくるでしょう。
もしRaspberryPiには荷が重いならPCで動かせばいいって話もあります。今のところRaspberryPiというよりDebian上のPython3.7で動く様に作っていますのでPCでも動くと思います。レガシーDMXを搭載せずにいる理由の一つでもあります。
今どきのムービング卓はArt-Netを出しますし、Art-Netのデコーダーは既製品が沢山ありますので、レガシーDMXまで作らなくてもいいかなぁ~なんて思ってます。専用基板を作る初期投資がキツイってのが一番大きいですが・・・
#Python #[Art-Net]
Art-Netの受信に成功しました。
先達のサンプルコードをコピペしてPort番号を書き換えただけで一発OK。積年の成果が出て良かったのですが、あまりにも簡単だったので肩透かし。
複数のNICを使い分けるsocketの設定は先達情報に何パターンかありますが、Rasbian上のPythonに合うパターンを見つけるのに少し時間がかかったかもしれません。
今は卓のエフェクトエンジンで出力したデータが画面に流れております。4096chのディマーを256bpmの正弦波で動かしています。アホか。
テストデータはMAdot2からですが、SequenceとPhysicalにデータが出ていました。
Sequenceは単純なインクリメント情報、Physicalは卓内のUnivres番号です。
送信を作るときにはこの流儀を真似しましょう。
ただ、MAdot2はOpCode<0x5000>以外のArt-Netパケットも出しており、socketで受信したバイナリが19バイト以上で頭12バイトがb'Art-Net\x00\x00\x50\x00\x0E'であることを最初にチェックしないといけません。当初はバイト長も見ずにb'Art-Net\x00'だけでチェックしていたのでデコード処理でエラーが頻発でした。OpCodeによってデータ長も内容も違うので当然の結果ですが、マルチキャストなら<0x5000>以外のOpCodeは出さないと先入観で思ってしまったようです。よくないですね。
8ユニバースを受信させています。すべてのユニバースをデコード処理までしていますが、思った以上に軽々動いています。
Sequenceをキーに連続性をチェックしましたが読み飛ばしもしていないようです。
今のところは先日作った画面ではなくすべてのパラメータを表示するチェック用の画面に表示していますが、先日作った画面を同時に動かしてもCPU負荷は45%程度です。最大値は400%(100%×4コア)なのでまだ余裕があります。
#Python #[Art-Net]
先達のサンプルコードをコピペしてPort番号を書き換えただけで一発OK。積年の成果が出て良かったのですが、あまりにも簡単だったので肩透かし。
複数のNICを使い分けるsocketの設定は先達情報に何パターンかありますが、Rasbian上のPythonに合うパターンを見つけるのに少し時間がかかったかもしれません。
今は卓のエフェクトエンジンで出力したデータが画面に流れております。4096chのディマーを256bpmの正弦波で動かしています。アホか。
テストデータはMAdot2からですが、SequenceとPhysicalにデータが出ていました。
Sequenceは単純なインクリメント情報、Physicalは卓内のUnivres番号です。
送信を作るときにはこの流儀を真似しましょう。
ただ、MAdot2はOpCode<0x5000>以外のArt-Netパケットも出しており、socketで受信したバイナリが19バイト以上で頭12バイトがb'Art-Net\x00\x00\x50\x00\x0E'であることを最初にチェックしないといけません。当初はバイト長も見ずにb'Art-Net\x00'だけでチェックしていたのでデコード処理でエラーが頻発でした。OpCodeによってデータ長も内容も違うので当然の結果ですが、マルチキャストなら<0x5000>以外のOpCodeは出さないと先入観で思ってしまったようです。よくないですね。
8ユニバースを受信させています。すべてのユニバースをデコード処理までしていますが、思った以上に軽々動いています。
Sequenceをキーに連続性をチェックしましたが読み飛ばしもしていないようです。
今のところは先日作った画面ではなくすべてのパラメータを表示するチェック用の画面に表示していますが、先日作った画面を同時に動かしてもCPU負荷は45%程度です。最大値は400%(100%×4コア)なのでまだ余裕があります。
#Python #[Art-Net]