タグ「RaspberryPi」を含む投稿[70件]
ちょっくら本業が忙しい今日この頃です。
照明は滅多にやらず舞台監督や電源屋が本業になりつつあるため、新しい器具のアイデアもそちらに偏ってきてます。
そんでも現場が便利になるならイイんでないか?って感じです。
将来的に調光卓も作ろうと思ってGPUについて調べています。
GPUは条件分岐を用いず他の項の結果を参照せず1行で書ける数式による行列の計算を得意とします。CPUなら1計算する時間で行列を一斉計算出来るので速いのです。
どんな計算でも速いワケではありませんが、調光卓においてチャンネルレベルにマスタレベルを掛け合わせる計算には向いています。
RaspberryPi には GPU が搭載されており、AI/Geminiさん曰く、これを用いて行列計算をすれば512chの計算など一瞬(数クロック)らしいです。
一般照明の調光卓はこの計算が速ければ比較的簡単に実現しそうです。コマンド操作や画面作りの方が手間がかかるかな?
調光卓を作らずとも、GPUで計算を扱う技術を手にすれば可能性が広がりそうです。
#RaspberryPi
照明は滅多にやらず舞台監督や電源屋が本業になりつつあるため、新しい器具のアイデアもそちらに偏ってきてます。
そんでも現場が便利になるならイイんでないか?って感じです。
将来的に調光卓も作ろうと思ってGPUについて調べています。
GPUは条件分岐を用いず他の項の結果を参照せず1行で書ける数式による行列の計算を得意とします。CPUなら1計算する時間で行列を一斉計算出来るので速いのです。
どんな計算でも速いワケではありませんが、調光卓においてチャンネルレベルにマスタレベルを掛け合わせる計算には向いています。
RaspberryPi には GPU が搭載されており、AI/Geminiさん曰く、これを用いて行列計算をすれば512chの計算など一瞬(数クロック)らしいです。
一般照明の調光卓はこの計算が速ければ比較的簡単に実現しそうです。コマンド操作や画面作りの方が手間がかかるかな?
調光卓を作らずとも、GPUで計算を扱う技術を手にすれば可能性が広がりそうです。
#RaspberryPi
(AxB)+(AxB>>8)+1/256
追記
変なメモを書いてしまいました。
AをDMXの値、Bをマスタの値として出力値を得ます。
IFなどの条件分岐を使わないのはGPUでも計算出来るからです。GPUは条件分岐処理は出来ませんがCPUで1計算する時間で同時に複数の計算が可能です。
256で割るってことは8ビット右シフトすることと同じですので、
((AxB)+(AxB>>8)+1)>>8
とした方がいいかもしれません。
「>>」は右へビットシフトする計算記号です。
追記の2
一番上の計算はAI/Geminiさんに聞いてのものですが、考えていたのとちょっと違う。AxBは8bitx8bitで16bitの積となりますが、下位8bitが0でなければ上位8bitをインクリメントして8bitの値にしたいのです。
( AxB >> 8 ) + int((( AxB ) and 0x00FF ) > 0 )
bool値を数値化(0または1)して加算するのが肝です。アセンブラっぽい風味です。
追記の3
上記の式をAI/Geminiさんに評価してもらったのですが、アホかってくらいテンション上げて喜んでくれました。
AIさんはユーザーを過剰にヨイショする傾向にありますが、間違ってはいないようですし、GPUに与える公式としても使えるようです。
今考えているArt-Net系の装置にはマスタ値による出力値の計算はありませんが、GPUでこの計算が出来るなら調光卓が作れるってことになります。
一般照明用の小ぶりな卓が欲しいなぁ~って思うことがあるので、いずれ考えてみたいですね。ムービングライトを扱える卓には優秀な物が沢山ありますから、あくまで一般照明向けです。見たまんまで使える機能を削りまくったSmartFadeってイメージかな?
#RaspberryPi #C言語 #Nim
追記
変なメモを書いてしまいました。
AをDMXの値、Bをマスタの値として出力値を得ます。
IFなどの条件分岐を使わないのはGPUでも計算出来るからです。GPUは条件分岐処理は出来ませんがCPUで1計算する時間で同時に複数の計算が可能です。
256で割るってことは8ビット右シフトすることと同じですので、
((AxB)+(AxB>>8)+1)>>8
とした方がいいかもしれません。
「>>」は右へビットシフトする計算記号です。
追記の2
一番上の計算はAI/Geminiさんに聞いてのものですが、考えていたのとちょっと違う。AxBは8bitx8bitで16bitの積となりますが、下位8bitが0でなければ上位8bitをインクリメントして8bitの値にしたいのです。
( AxB >> 8 ) + int((( AxB ) and 0x00FF ) > 0 )
bool値を数値化(0または1)して加算するのが肝です。アセンブラっぽい風味です。
追記の3
上記の式をAI/Geminiさんに評価してもらったのですが、アホかってくらいテンション上げて喜んでくれました。
AIさんはユーザーを過剰にヨイショする傾向にありますが、間違ってはいないようですし、GPUに与える公式としても使えるようです。
今考えているArt-Net系の装置にはマスタ値による出力値の計算はありませんが、GPUでこの計算が出来るなら調光卓が作れるってことになります。
一般照明用の小ぶりな卓が欲しいなぁ~って思うことがあるので、いずれ考えてみたいですね。ムービングライトを扱える卓には優秀な物が沢山ありますから、あくまで一般照明向けです。見たまんまで使える機能を削りまくったSmartFadeってイメージかな?
#RaspberryPi #C言語 #Nim
RaspberryPi CM4 のマザーボードが入荷しました。
見た目はとてもキレイです。EtherNetが2口、RTC(リアルタイムクロック)、電源が背面のDCコネクタの仕様です。
困ったのは何のマニュアルも付属していないことです。
と、検索したらメーカーのサイト。
「CM4-DUAL-ETH-BASE」
一通り説明があります。
#RaspberryPi
見た目はとてもキレイです。EtherNetが2口、RTC(リアルタイムクロック)、電源が背面のDCコネクタの仕様です。
困ったのは何のマニュアルも付属していないことです。
と、検索したらメーカーのサイト。
「CM4-DUAL-ETH-BASE」
一通り説明があります。
#RaspberryPi
こんなん欲しいなぁ~と思っていた RaspberryPiCM4 用のマザーボードを発見!CM4-Dual-Eth-Base です。

中華電機のサイト
EtherNet が2系統、RTC、電源入力がUSB-Cでなく裏側にある、etc.
PCI-Ex1 もあれば満点ですが、USB-3.0 が3系統あるので十分です。
これが入荷したら ArtNet-Patch の開発を再開しようかと。晩酌の肴ですけどね。
画面作りに ncurses を使えばと思っていましたが、ふと思いついて調べ直したらこれは便利。ネットにも man にもわかり易く整理された情報がないので、お試ししながらオレオレマニュアルを作成して本体ページにアップしましょう。自分の為にですけどね。
最近、RaspberryPi の価格も下がってきました。CM4 が 中華電機で1万円せずに買えます。
#RaspberryPi #C言語 #[Art-Net]

中華電機のサイト
EtherNet が2系統、RTC、電源入力がUSB-Cでなく裏側にある、etc.
PCI-Ex1 もあれば満点ですが、USB-3.0 が3系統あるので十分です。
これが入荷したら ArtNet-Patch の開発を再開しようかと。晩酌の肴ですけどね。
画面作りに ncurses を使えばと思っていましたが、ふと思いついて調べ直したらこれは便利。ネットにも man にもわかり易く整理された情報がないので、お試ししながらオレオレマニュアルを作成して本体ページにアップしましょう。自分の為にですけどね。
最近、RaspberryPi の価格も下がってきました。CM4 が 中華電機で1万円せずに買えます。
#RaspberryPi #C言語 #[Art-Net]
RaspberryPi pico は面白そうです。
RaspberryPi 4B や 5 と PICマイコンの中間と言ってもいいでしょうか。
タイミングがラフな物は microPython で書き、タイトな物はC言語で書く使い分けが出来るのがいいかなと。
先日のイチケンさんの動画にもありますが、波形出力の周期が正確なのもいい。
Arudino や ESP32 と近いモノがありますが、CPUのクロック周波数が125MHzあるので処理能力に余裕があるのと、PWM を沢山出せることが私にとってはメリットです。
DMX512のライブラリだけでも早々に作りたくなってきました。
と思ったら GitHub にライブラリがありました。
Pico-DMX
ただし、このライブラリは Arudino-IDE で用いる物のようです。pico-sdk の gcc を用いて VSCode 上で使えるかは不明です。
#RaspberryPi #電子工作
RaspberryPi 4B や 5 と PICマイコンの中間と言ってもいいでしょうか。
タイミングがラフな物は microPython で書き、タイトな物はC言語で書く使い分けが出来るのがいいかなと。
先日のイチケンさんの動画にもありますが、波形出力の周期が正確なのもいい。
Arudino や ESP32 と近いモノがありますが、CPUのクロック周波数が125MHzあるので処理能力に余裕があるのと、PWM を沢山出せることが私にとってはメリットです。
DMX512のライブラリだけでも早々に作りたくなってきました。
と思ったら GitHub にライブラリがありました。
Pico-DMX
ただし、このライブラリは Arudino-IDE で用いる物のようです。pico-sdk の gcc を用いて VSCode 上で使えるかは不明です。
#RaspberryPi #電子工作
移動中に RaspberryPi pico について調べてみました。
RaspberryPi というより Arudino に近いのは言うまでもありませんが、PWM を16系統も出せるのがポイントかもしれません。
PWM を沢山出せるならモーターやLEDの制御に優位です。DMXを受信するライブラリを作ってしまえばLED-PARやムービングを作ることも出来そうです。
なんとかして作りたい状況ではないので、妄想だけ進めてみましょう。
#RaspberryPi
RaspberryPi というより Arudino に近いのは言うまでもありませんが、PWM を16系統も出せるのがポイントかもしれません。
PWM を沢山出せるならモーターやLEDの制御に優位です。DMXを受信するライブラリを作ってしまえばLED-PARやムービングを作ることも出来そうです。
なんとかして作りたい状況ではないので、妄想だけ進めてみましょう。
#RaspberryPi
youtuberのイチケンさんの動画は参考になります。
今回ご紹介する RaspberryPi に関するモノは特にいいですね。
ありがちな「RaspberryPi5すげー!」ではありません。使い込むと知りたくなってくることが出ています。
むしろ pico をC言語で使ってみたくなりました。
#電子工作 #RaspberryPi
今回ご紹介する RaspberryPi に関するモノは特にいいですね。
ありがちな「RaspberryPi5すげー!」ではありません。使い込むと知りたくなってくることが出ています。
むしろ pico をC言語で使ってみたくなりました。
#電子工作 #RaspberryPi
bookworm において NetworkManager を用いて IPアドレスを設定する例です。
NIC の命名規則が eth で eth1 を対象とする場合
◆ DHCP 扱いの eth1 に固定 ipv4 アドレスを定義する。
// NerwotkManager は NIC 単位で設定します。以下は設定名を「artnet-out-eth1」としています。
// すでに同名で設定されている場合は次の「◆ ipv4 アドレスを変更する」の手順で変更します。
// 設定ファイルは「/etc/NetworkManager/system-connections」に置かれるので、ここに「artnet-out-eth1.nmconnection」があればすでに設定されています。
// ipv4 アドレスは「2.99.100.202」、サブネットマスクを「255.0.0.0」とするので「/8」
// ArtNetPatch では ipv6 を扱わないので無効にします。
$ sudo nmcli connection add con-name "artnet-out-eth1" type ethernet ifname eth1 connection.autoconnect yes ipv4.addresses "2.99.100.202/8" ipv4.method manual ipv4.never-default no ipv6.method disabled
// NetworkManager の設定を再読み込みする
$ sudo nmcli c reload
// artnet-out-eth1 を起動する
$ sudo nmcli c up artnet-out-eth1
◆ ipv4 アドレスを変更する。
// ipv4 アドレスを「2.99.100.203/8」に変更する
$ sudo nmcli c modify artnet-out-eth1 ipv4.address 2.99.100.203/8
// 以下、停止、再読み込み、起動。
$ sudo nmcli c down artnet-out-eth1
$ sudo nmcli c reload
$ sudo nmcli c up artnet-out-eth1
◆ 設定を削除する
// 停止
$ sudo nmcli c down artnet-out-eth1
// 設定を削除
$ sudo nmcli c delete artnet-out-eth1
コマンドで設定・変更をしますが、設定ファイルが主体です。
設定ファイルは「/etc/NetworkManager/system-connections/artnet-out-eth1.nmconnection」です。
この書式で設定、変更、削除が出来ました。
スクリプトで自動設定するなら、設定ファイルに呪文を書くよりこの様にコマンドで設定出来るのはいいかもしれない。
#Linux #RaspberryPi
NIC の命名規則が eth で eth1 を対象とする場合
◆ DHCP 扱いの eth1 に固定 ipv4 アドレスを定義する。
// NerwotkManager は NIC 単位で設定します。以下は設定名を「artnet-out-eth1」としています。
// すでに同名で設定されている場合は次の「◆ ipv4 アドレスを変更する」の手順で変更します。
// 設定ファイルは「/etc/NetworkManager/system-connections」に置かれるので、ここに「artnet-out-eth1.nmconnection」があればすでに設定されています。
// ipv4 アドレスは「2.99.100.202」、サブネットマスクを「255.0.0.0」とするので「/8」
// ArtNetPatch では ipv6 を扱わないので無効にします。
$ sudo nmcli connection add con-name "artnet-out-eth1" type ethernet ifname eth1 connection.autoconnect yes ipv4.addresses "2.99.100.202/8" ipv4.method manual ipv4.never-default no ipv6.method disabled
// NetworkManager の設定を再読み込みする
$ sudo nmcli c reload
// artnet-out-eth1 を起動する
$ sudo nmcli c up artnet-out-eth1
◆ ipv4 アドレスを変更する。
// ipv4 アドレスを「2.99.100.203/8」に変更する
$ sudo nmcli c modify artnet-out-eth1 ipv4.address 2.99.100.203/8
// 以下、停止、再読み込み、起動。
$ sudo nmcli c down artnet-out-eth1
$ sudo nmcli c reload
$ sudo nmcli c up artnet-out-eth1
◆ 設定を削除する
// 停止
$ sudo nmcli c down artnet-out-eth1
// 設定を削除
$ sudo nmcli c delete artnet-out-eth1
コマンドで設定・変更をしますが、設定ファイルが主体です。
設定ファイルは「/etc/NetworkManager/system-connections/artnet-out-eth1.nmconnection」です。
この書式で設定、変更、削除が出来ました。
スクリプトで自動設定するなら、設定ファイルに呪文を書くよりこの様にコマンドで設定出来るのはいいかもしれない。
#Linux #RaspberryPi
RaspberryPiに最新のOS(bookworm)を入れてみました。
ナニかおかしい・・・。
調べてみたら、bookwormではネットワークの設定方法が変わったらしい。dhcpcdではなくNetworkManagerらしい。
これは勉強しなおさんといかん。
このあたり、ちょくちょく変わるので面倒である。
追記
ちょっと早起きしたので NetworkManeger について調べてみました。
dhcpcd とは違うけれど、設定ファイルを書いてもコマンドでも設定が出来る。
そもそも何なのよ、を理解するのに少し時間がかかりましたが、覚えてしまえばこちらの方が楽かもしれない。
次の記事はわかりやすいかも。
「NetworkManagerの接続設定作成用テンプレート」
Art-Net で使うipv4アドレスを自動設定するところまでやってみましょう。
追記+
NetworkManager の設定を変更するには modify を使います。
まだわからないことがあるので手順は示しませんが、modify は設定ファイルの変更であってこれを実行しても有効にはなりません。
down して up する操作が必要です。
#RaspberryPi
ナニかおかしい・・・。
調べてみたら、bookwormではネットワークの設定方法が変わったらしい。dhcpcdではなくNetworkManagerらしい。
これは勉強しなおさんといかん。
このあたり、ちょくちょく変わるので面倒である。
追記
ちょっと早起きしたので NetworkManeger について調べてみました。
dhcpcd とは違うけれど、設定ファイルを書いてもコマンドでも設定が出来る。
そもそも何なのよ、を理解するのに少し時間がかかりましたが、覚えてしまえばこちらの方が楽かもしれない。
次の記事はわかりやすいかも。
「NetworkManagerの接続設定作成用テンプレート」
Art-Net で使うipv4アドレスを自動設定するところまでやってみましょう。
追記+
NetworkManager の設定を変更するには modify を使います。
まだわからないことがあるので手順は示しませんが、modify は設定ファイルの変更であってこれを実行しても有効にはなりません。
down して up する操作が必要です。
#RaspberryPi
RaspberryPiの開発セットが完成しました。
開発に使用する用品をマジックテープ付きの合板に貼り付けてスロットインします。
常に仮組みしておく意図です。作業の都度組まなくても済みますし作業場所も選びません。

現在の案件はArtNetPatchですからHubが2個です。一番奥のスロットにRaspberryPiが入っています。
仕上げは大雑把ですが便利です。
#RaspberryPi #[Art-Net]
開発に使用する用品をマジックテープ付きの合板に貼り付けてスロットインします。
常に仮組みしておく意図です。作業の都度組まなくても済みますし作業場所も選びません。

現在の案件はArtNetPatchですからHubが2個です。一番奥のスロットにRaspberryPiが入っています。
仕上げは大雑把ですが便利です。
#RaspberryPi #[Art-Net]