全年全月17日の投稿[33件](3ページ目)
2023年2月 この範囲を時系列順で読む この範囲をファイルに出力する
RaspberryPiCM4は単体では動きません。なんらかのインターフェースボードが必要です。
ArtNet-Routerに使うのであればEtherポートが2個、HDMI、USB3.0が付いている物が良いなぁ~くらいの気持ちで買ったボードには「SIMカードスロット」が付いています。

お目当てではなかったのですが、どうせならLTEモデムも実験してみようかと。出先でIoT的に使うならネット回線も繋いでおきたいと思っていました。ネットに繋がりさえすればVPNでどうにもでもなります。
ちなみに、3割程安いすごく似たボードがありますが、こちらにはSIMカードスロットがありません。M.2スロットも安い方がEキーで今回のはBキーです。どちらが良いというより目的が違います。
モデムカードは「L850-GL」をオーダー。日本国内のプラチナバンドにも対応する数少ないM.2モデムです。価格は約3,500円(2023年2月現在)ですが、プラチナバンドに対応した外付けのwifiルーターよりも安価です。ドライバはOS標準に無いそうですが、チップメーカー純正のドライバがGitHubにあります。
設定は先達の情報を継ぎ接ぎしてどうにかしましょう。
#RaspberryPi
ArtNet-Routerに使うのであればEtherポートが2個、HDMI、USB3.0が付いている物が良いなぁ~くらいの気持ちで買ったボードには「SIMカードスロット」が付いています。

お目当てではなかったのですが、どうせならLTEモデムも実験してみようかと。出先でIoT的に使うならネット回線も繋いでおきたいと思っていました。ネットに繋がりさえすればVPNでどうにもでもなります。
ちなみに、3割程安いすごく似たボードがありますが、こちらにはSIMカードスロットがありません。M.2スロットも安い方がEキーで今回のはBキーです。どちらが良いというより目的が違います。
モデムカードは「L850-GL」をオーダー。日本国内のプラチナバンドにも対応する数少ないM.2モデムです。価格は約3,500円(2023年2月現在)ですが、プラチナバンドに対応した外付けのwifiルーターよりも安価です。ドライバはOS標準に無いそうですが、チップメーカー純正のドライバがGitHubにあります。
設定は先達の情報を継ぎ接ぎしてどうにかしましょう。
#RaspberryPi
2023年1月 この範囲を時系列順で読む この範囲をファイルに出力する
Art-Netを受信する準備を進めています。
思った以上に面倒だったのはデータの比較です。受信値と期待値を比較して処理を分岐する処理は重要です。文字列ならstrcmp、バイナリならmemcmpを使います。どちらもstring.hの関数です。
どちらにしてもバイナリな感覚を持ち合わせていないと使えませんが、アセンブラに慣れた体にとって違和感はありませんし、ある意味とても明確な処理になるので悪い気はしません。Pythonが如何に簡単に書けるかを感じたりはしましたけどね。
あとはエンディアンの処理です。RaspberryPiはARM系なのでリトルエンディアンです。受信したArt-Netを仕分けて情報にするには2-4バイトのバイナリを数値化しないといけませんが、エンディアンを気にしながらバイナリを並べて処理します。並べたバイナリを数値化するにはカッコとアンパサンドを使った不思議な記述をしますが、理解不能なので定型句と思って使っています。
こんな底辺処理が整理出来たら受信テストですが、これらを先にやっておかないと受信値を人が読める形で表示することが出来ないのです。
#[Art-Net] #C言語
思った以上に面倒だったのはデータの比較です。受信値と期待値を比較して処理を分岐する処理は重要です。文字列ならstrcmp、バイナリならmemcmpを使います。どちらもstring.hの関数です。
どちらにしてもバイナリな感覚を持ち合わせていないと使えませんが、アセンブラに慣れた体にとって違和感はありませんし、ある意味とても明確な処理になるので悪い気はしません。Pythonが如何に簡単に書けるかを感じたりはしましたけどね。
あとはエンディアンの処理です。RaspberryPiはARM系なのでリトルエンディアンです。受信したArt-Netを仕分けて情報にするには2-4バイトのバイナリを数値化しないといけませんが、エンディアンを気にしながらバイナリを並べて処理します。並べたバイナリを数値化するにはカッコとアンパサンドを使った不思議な記述をしますが、理解不能なので定型句と思って使っています。
こんな底辺処理が整理出来たら受信テストですが、これらを先にやっておかないと受信値を人が読める形で表示することが出来ないのです。
#[Art-Net] #C言語
RaspberryPiをアップデートしたらネットワーク関連が動かなくなった。
起動パレードを見ると「Failed to start DHCP Client Daemon.」と出る。
このサイトの通り手直ししたら治った。
抜粋すると次の通り。
$ sudo nano /etc/systemd/system/dhcpcd.service.d/wait.conf
Change from:
[Service]
ExecStart=
ExecStart=/usr/lib/dhcpcd5/dhcpcd -q -w
To:
[Service]
ExecStart=
ExecStart=/usr/sbin/dhcpcd -q -w
wait.confを訂正するってことです。
#RaspberryPi
起動パレードを見ると「Failed to start DHCP Client Daemon.」と出る。
このサイトの通り手直ししたら治った。
抜粋すると次の通り。
$ sudo nano /etc/systemd/system/dhcpcd.service.d/wait.conf
Change from:
[Service]
ExecStart=
ExecStart=/usr/lib/dhcpcd5/dhcpcd -q -w
To:
[Service]
ExecStart=
ExecStart=/usr/sbin/dhcpcd -q -w
wait.confを訂正するってことです。
#RaspberryPi
2022年9月 この範囲を時系列順で読む この範囲をファイルに出力する
裸族のパイ&裸族のカプセルホテルはUASドライバを外すことで一応の改善が見えました。ベンチマークも本体に内蔵のHDDとほぼ同じ値を出します。
ただ、USBハブをかますとそうはいきません。一見正常に起動してもアクセスが恐ろしく遅かったり、不安定でコンソールすら立ち上がらないことがあります。
構成として裸族のカプセルホテル(外付けHDD)とLANアダプタを取り付けたいのですが、1本のUSB3.0でやりくりするにはUSBハブが必須なのでなんとかしたい。
さて、何が原因か。
まず考えられるのはUSBハブの電力不足。RaspberryPiのUSBポートは電力供給が弱いらしいのでUSBの電源を別取りしたところ、半分以上の確率で起動は失敗しますが、起動が成功した際にはアクセス速度が劇的に改善します。解決の決定打ではありませんが、これはこれで必要な対策です。
正常に起動する時とそうでない時の違いを考えてみると、USBハブに電源が入った状態でRaspberryPiを起動すると(リブートも)ダメで、RaspberryPiが起動し始めてからUSBハブを挿すと正常に動くことが多い。ならばと、RaspberryPiが起動し始めて起動ログの表示が見え始めた直後にUSBハブの電源を入れたところ100%の確率で正常に起動することがわかった。リブートもシャットダウンログの表示が止まったところでUSBハブの電源を落とし、以下同様にすると正常にリブートが完了します。
要するに、RasberryPiがカーネルを読み込んだ直後にUSBハブの電源を入れれば(再投入すれば)良いとなります。
ただ、起動の度に手作業でやるのは現実的ではないし、何よりも遠隔のリブートでは不可能です。
さて、どうする。
方法として考えられるのは上記のタイミングを得る信号をRaspberryPiから取り出すこと。
・・・こんなこと出来るのか?
RaspberryPiには基板上にLEDが付いていて、電源パイロットランプとSDカードのアクセスランプになっていますが、設定を変えることで違う状態情報も表せます。オーバーライドしてGPIOに出力することも出来ます。
このLEDは前者がpwr_led(赤)、後者がact_led(緑)と呼ばれますが、これをGPIOに出力して丁度良いスイッチソースにならないでしょうか。
ちょっと試験しただけなので大丈夫とは言い切れませんが、act_ledの設定をdefault-onにしてGPIOに出力すると期待するモノになりそうです。通電直後と再起動のシャットダウン直後は消灯から始まり、起動ログの表示が始まると点灯、シャットダウンが完全終了すると消灯します。これは欲しいタイミングではないのか?
そもそもはパイロットランプですが、GPIOに出力するなら単なる信号であり、バッファを入れればリレーを動かすことが出来ます。過渡期にチャタリング的なノイズはあると思いますが簡単なパッシブ回路で何とかなるかな?。
カーネルが起動している時を把握したいと思っていたので、この方法はなんとか手にしたいと思います。
腰を据えて試す時間はしばらくありませんケドね。
#RaspberryPi
ただ、USBハブをかますとそうはいきません。一見正常に起動してもアクセスが恐ろしく遅かったり、不安定でコンソールすら立ち上がらないことがあります。
構成として裸族のカプセルホテル(外付けHDD)とLANアダプタを取り付けたいのですが、1本のUSB3.0でやりくりするにはUSBハブが必須なのでなんとかしたい。
さて、何が原因か。
まず考えられるのはUSBハブの電力不足。RaspberryPiのUSBポートは電力供給が弱いらしいのでUSBの電源を別取りしたところ、半分以上の確率で起動は失敗しますが、起動が成功した際にはアクセス速度が劇的に改善します。解決の決定打ではありませんが、これはこれで必要な対策です。
正常に起動する時とそうでない時の違いを考えてみると、USBハブに電源が入った状態でRaspberryPiを起動すると(リブートも)ダメで、RaspberryPiが起動し始めてからUSBハブを挿すと正常に動くことが多い。ならばと、RaspberryPiが起動し始めて起動ログの表示が見え始めた直後にUSBハブの電源を入れたところ100%の確率で正常に起動することがわかった。リブートもシャットダウンログの表示が止まったところでUSBハブの電源を落とし、以下同様にすると正常にリブートが完了します。
要するに、RasberryPiがカーネルを読み込んだ直後にUSBハブの電源を入れれば(再投入すれば)良いとなります。
ただ、起動の度に手作業でやるのは現実的ではないし、何よりも遠隔のリブートでは不可能です。
さて、どうする。
方法として考えられるのは上記のタイミングを得る信号をRaspberryPiから取り出すこと。
・・・こんなこと出来るのか?
RaspberryPiには基板上にLEDが付いていて、電源パイロットランプとSDカードのアクセスランプになっていますが、設定を変えることで違う状態情報も表せます。オーバーライドしてGPIOに出力することも出来ます。
このLEDは前者がpwr_led(赤)、後者がact_led(緑)と呼ばれますが、これをGPIOに出力して丁度良いスイッチソースにならないでしょうか。
ちょっと試験しただけなので大丈夫とは言い切れませんが、act_ledの設定をdefault-onにしてGPIOに出力すると期待するモノになりそうです。通電直後と再起動のシャットダウン直後は消灯から始まり、起動ログの表示が始まると点灯、シャットダウンが完全終了すると消灯します。これは欲しいタイミングではないのか?
そもそもはパイロットランプですが、GPIOに出力するなら単なる信号であり、バッファを入れればリレーを動かすことが出来ます。過渡期にチャタリング的なノイズはあると思いますが簡単なパッシブ回路で何とかなるかな?。
カーネルが起動している時を把握したいと思っていたので、この方法はなんとか手にしたいと思います。
腰を据えて試す時間はしばらくありませんケドね。
#RaspberryPi
2022年6月 この範囲を時系列順で読む この範囲をファイルに出力する
LED-BARの修理で使おうと中華電器で買った本命の電源モジュールがようやく入荷。2ヶ月以上かかりました。
ちょっと前に入ったのは本命が入荷しなかった時の予備。アホみたいに安いのてジャンク箱の肥やしになってもヨシとしています。
製品は12vですが、機器の定格は10.8vなので改造です。センシング抵抗を変えるだけですから簡単です。
センシング抵抗を計算しましたが、手持ちに無い物なので入荷までしばらく待ちです。
中華電器で手に入る小型の電源モジュールはTL431を使っているモノが多いようです。TL431に与えるセンシング抵抗を変えれば電圧を変えられますが、純正状態の抵抗値でデータシートの計算式に合致するか検算してから改造した方がいいと思います。これが合わないと何か変化球な処理をしている可能性があるからです。
また、変更後の電圧にその他の部品が対応するとは限りませんので、あまり大きく電圧を変えることは避けた方がいいと思われます。回路図が無いのですから無理は禁物です。
#照明器具 #電子工作
ちょっと前に入ったのは本命が入荷しなかった時の予備。アホみたいに安いのてジャンク箱の肥やしになってもヨシとしています。
製品は12vですが、機器の定格は10.8vなので改造です。センシング抵抗を変えるだけですから簡単です。
センシング抵抗を計算しましたが、手持ちに無い物なので入荷までしばらく待ちです。
中華電器で手に入る小型の電源モジュールはTL431を使っているモノが多いようです。TL431に与えるセンシング抵抗を変えれば電圧を変えられますが、純正状態の抵抗値でデータシートの計算式に合致するか検算してから改造した方がいいと思います。これが合わないと何か変化球な処理をしている可能性があるからです。
また、変更後の電圧にその他の部品が対応するとは限りませんので、あまり大きく電圧を変えることは避けた方がいいと思われます。回路図が無いのですから無理は禁物です。
#照明器具 #電子工作
2022年5月 この範囲を時系列順で読む この範囲をファイルに出力する
3Dプリンタの特性を勘違いしていました。温度についてです。
温度はエキストラクターとビルドプレートのことです。エキストラクターはフィラメントを溶かしてインクよろしく送り出す先端部、ビルドプレートは造形物を作る作業面です。これらの温度が仕上がりに大きく影響します。
勘違いしていたのはビルドプレートの温度です。1層目をプリントする際はフィラメントの特性に合わせた温度にしておき、2層目以降は温度を下げてもいいと思っていたのですが真逆でした。プリントが終わるまで造形物全体の温度を出来るだけ1層目と同じ温度にしておくのが正しい条件なので、2層目以降はビルドプレートの温度を上げる方が良いようです。
某ブログで目にして試したところかなりの改善。ABSをPLA並みに仕上げることはそもそも無理っぽいですが、これならABSを主体にしても良いと思われます。
#工具や資材
温度はエキストラクターとビルドプレートのことです。エキストラクターはフィラメントを溶かしてインクよろしく送り出す先端部、ビルドプレートは造形物を作る作業面です。これらの温度が仕上がりに大きく影響します。
勘違いしていたのはビルドプレートの温度です。1層目をプリントする際はフィラメントの特性に合わせた温度にしておき、2層目以降は温度を下げてもいいと思っていたのですが真逆でした。プリントが終わるまで造形物全体の温度を出来るだけ1層目と同じ温度にしておくのが正しい条件なので、2層目以降はビルドプレートの温度を上げる方が良いようです。
某ブログで目にして試したところかなりの改善。ABSをPLA並みに仕上げることはそもそも無理っぽいですが、これならABSを主体にしても良いと思われます。
#工具や資材
2022年3月 この範囲を時系列順で読む この範囲をファイルに出力する
昨夜、東北地方と北関東で大きな地震がありました。
皆さまご無事でしょうか。
被害を被られた方々にお見舞い申し上げます。
自分は自宅の鍋が一個落ちたくらいで被害は皆無でした。
それにしても報道は大騒ぎです。
大きな地震であり、被害を受けた方はいますので、それを広く知らせる大事な役目だと思いますが、日本が壊滅するような語り口。もはやオオカミ少年。
#自然災害
皆さまご無事でしょうか。
被害を被られた方々にお見舞い申し上げます。
自分は自宅の鍋が一個落ちたくらいで被害は皆無でした。
それにしても報道は大騒ぎです。
大きな地震であり、被害を受けた方はいますので、それを広く知らせる大事な役目だと思いますが、日本が壊滅するような語り口。もはやオオカミ少年。
#自然災害
2022年2月 この範囲を時系列順で読む この範囲をファイルに出力する
昨晩、思い立って調べてみたのですが、Pythonで並列処理をする方法には大きく分けて2つあると理解する。ThreadingとMultiprocessingです。
今までに何度も読んでいたサイトばかりですが、何故だか内容が突然理解できるようになりました。たぶん今まではPythonをスクリプト言語だと思っていたからでしょう。Pythonという皮の裏にC言語がある思えばスムーズに理解が進みました。
似たような別ライブラリもありますが、意味合いとしてはこの二つに集約されていると思っていいでしょう。
大雑把に言うなら、Threadingは比較的楽に使えるがCPUスレッドは1つしか使えない。Multiprocessingは複数のCPUスレッドを使えるがプロセスが起動するのに時間がかかり記述も少し難しい。
難しいといっても、プロセス間通信の制約とタイミングくらいなもので、関数自体はThreadingとMultiprocessingはとても似ているので片方を覚えればどちらも使えそう。関数間で通信するQueueは使うライブラリが違うので注意ですが、これも関数が酷似しているのでストレス少ないかも。
Python3.8からは共有メモリというC言語のポインタに近いことが可能になっているので、RaspberryPiのPythonも3.8になることを心待ちにしております。変数の型やデータ長を厳密に管理しなければなりませんが、それさえやっておけばいいので問題無し。デバイスとやり取りする処理では普通にやっていることだし。
#Python
今までに何度も読んでいたサイトばかりですが、何故だか内容が突然理解できるようになりました。たぶん今まではPythonをスクリプト言語だと思っていたからでしょう。Pythonという皮の裏にC言語がある思えばスムーズに理解が進みました。
似たような別ライブラリもありますが、意味合いとしてはこの二つに集約されていると思っていいでしょう。
大雑把に言うなら、Threadingは比較的楽に使えるがCPUスレッドは1つしか使えない。Multiprocessingは複数のCPUスレッドを使えるがプロセスが起動するのに時間がかかり記述も少し難しい。
難しいといっても、プロセス間通信の制約とタイミングくらいなもので、関数自体はThreadingとMultiprocessingはとても似ているので片方を覚えればどちらも使えそう。関数間で通信するQueueは使うライブラリが違うので注意ですが、これも関数が酷似しているのでストレス少ないかも。
Python3.8からは共有メモリというC言語のポインタに近いことが可能になっているので、RaspberryPiのPythonも3.8になることを心待ちにしております。変数の型やデータ長を厳密に管理しなければなりませんが、それさえやっておけばいいので問題無し。デバイスとやり取りする処理では普通にやっていることだし。
#Python
ガラクタ週間が終わり、終日本業のデスクワークでした。
会場図面書いて、照明プランの概要まとめ、見積りというデスクワークの王道メニューです。
嫌いじゃないのですが、ガラクタネタが中途なのでソワソワします。
今やっているArt-Netは卓とデコーダが必要な作業なので、荷物も多いし広いスペースも必要です。しばらくはお休みかな。
明日から現場が続きますが、RaspberryPiだけ持って行って現在のソースをオブジェクト指向っぽく書く練習をしようかなぁ。
そうそう、製作というレベルではありませんが、ピンスポット用の照準器を増産しました。その実態は小型カメラ用の自在雲台を介して短いピカティニーレールをピンに取り付けるクランプです。
細かい部品を買い増しして組み立てるだけなので15分くらいの作業でしたが、なぜ思い立って作ったかと言えば数日後の現場で数年ぶりにピンを振ることになったからです。
鈍った腕でも対応出来そうな演目ですが、お年頃からくる目のコンディションでバインド照準器が使えませんので、ダットサイトなどの目印が遠くに見える照準器に頼らないとダメだと思われます。
このクランプは5-6年前に作った代物です。以前作った物は部下にあげてしまったので、余っていた部品で改めて自分用をこさえたワケです。
#RaspberryPi #Python
会場図面書いて、照明プランの概要まとめ、見積りというデスクワークの王道メニューです。
嫌いじゃないのですが、ガラクタネタが中途なのでソワソワします。
今やっているArt-Netは卓とデコーダが必要な作業なので、荷物も多いし広いスペースも必要です。しばらくはお休みかな。
明日から現場が続きますが、RaspberryPiだけ持って行って現在のソースをオブジェクト指向っぽく書く練習をしようかなぁ。
そうそう、製作というレベルではありませんが、ピンスポット用の照準器を増産しました。その実態は小型カメラ用の自在雲台を介して短いピカティニーレールをピンに取り付けるクランプです。
細かい部品を買い増しして組み立てるだけなので15分くらいの作業でしたが、なぜ思い立って作ったかと言えば数日後の現場で数年ぶりにピンを振ることになったからです。
鈍った腕でも対応出来そうな演目ですが、お年頃からくる目のコンディションでバインド照準器が使えませんので、ダットサイトなどの目印が遠くに見える照準器に頼らないとダメだと思われます。
このクランプは5-6年前に作った代物です。以前作った物は部下にあげてしまったので、余っていた部品で改めて自分用をこさえたワケです。
#RaspberryPi #Python
2022年1月 この範囲を時系列順で読む この範囲をファイルに出力する
客席テーブルver4.5は大詰めです。
短脚の差し込みを増やし、脚の収納をまとめています。
短脚の差し込みとは、アームレストバーに乗る脚を刺す天板側のソケットのことです。短脚の取り付け位置は背もたれの高さや傾斜、客席の段差によって望ましい位置が違ってくるので悩んでいましたが、発想を変え、ベストな1か所を求めず数か所(とりあえず2か所)あればいいんでないか?としたワケです。ソケットの数や位置は使った上で将来調整です。
脚の収納はまず短脚から。使ってみないと良し悪しはわかりませんが、一目で使い方がわかってシッカリ固定出来る様にしたつもりです。明日、時間があれば長脚の収納にも手を付けましょう。
切った貼ったの工作は楽しいですが、いい加減、客席テーブルを終わりにしたい・・・
#ガチ工作
短脚の差し込みを増やし、脚の収納をまとめています。
短脚の差し込みとは、アームレストバーに乗る脚を刺す天板側のソケットのことです。短脚の取り付け位置は背もたれの高さや傾斜、客席の段差によって望ましい位置が違ってくるので悩んでいましたが、発想を変え、ベストな1か所を求めず数か所(とりあえず2か所)あればいいんでないか?としたワケです。ソケットの数や位置は使った上で将来調整です。
脚の収納はまず短脚から。使ってみないと良し悪しはわかりませんが、一目で使い方がわかってシッカリ固定出来る様にしたつもりです。明日、時間があれば長脚の収納にも手を付けましょう。
切った貼ったの工作は楽しいですが、いい加減、客席テーブルを終わりにしたい・・・
#ガチ工作