全年2月17日の投稿[6件]
2026年 この範囲を時系列順で読む この範囲をファイルに出力する
よかれと思って公開しても何かあったら補償しろと言われるのはイヤなのでGPLライセンスで公開しようと思います。手の内は全部見せるし自由に使ってもらっていいけどサポートも補償もしないよってことです。運よく出来上がってからの話ですが、コードを書き始める前に発生しうる責任問題の対策は考えておきたいのです。
そこで色々考えたのですが、コンテナのDockerを使おうかなと。ご存じ無い方に説明する語彙力は持ち合わせておりませんが、インストーラーではありませんがコマンド一発でインストールが出来る環境構築の母体です。公開するソースコードはもちろんライセンスの宣言なども入れておけるので「知らんがな」にも対応出来そうです。これらをGitHubで公開して履歴を残します。Dockerはとにかく便利です。もしシステムがおかしくなってもDockerのパッケージを入れ直すだけですべてが元に戻るからです。インストール説明書を作る手間も省けます。細かいことを知りたい方はAIさんに聞いてください。
課題があまりに多くなりすぎてどこから手をつけたモノか困っていますが、一つ一つ片づけていきましょう。
#ガチ工作 #[Art-Net] #器具の製作
そこで色々考えたのですが、コンテナのDockerを使おうかなと。ご存じ無い方に説明する語彙力は持ち合わせておりませんが、インストーラーではありませんがコマンド一発でインストールが出来る環境構築の母体です。公開するソースコードはもちろんライセンスの宣言なども入れておけるので「知らんがな」にも対応出来そうです。これらをGitHubで公開して履歴を残します。Dockerはとにかく便利です。もしシステムがおかしくなってもDockerのパッケージを入れ直すだけですべてが元に戻るからです。インストール説明書を作る手間も省けます。細かいことを知りたい方はAIさんに聞いてください。
課題があまりに多くなりすぎてどこから手をつけたモノか困っていますが、一つ一つ片づけていきましょう。
#ガチ工作 #[Art-Net] #器具の製作
猛烈に忙しかった一か月でしたが、落ち着いてきたのでC言語の勉強を再開しています。
データ蓄積の話です。変数と呼ばれる入れ子に数値を代入して一時保存するのが普通のやり方です。ですが、その実体はメモリに保存するに他なりません。
C言語は「高級アセンブリ言語」と呼ばれることもあり、派生の歴史はマシンコードが違うハードウェア間でソフトウェアの移植性を高めることにあったとか。AI/Geminiさんとやりとりをしてわかってきたことですが、C言語はソフトウェアを書きやすくするのとは少し違った方向性のようです。Pythonの様な言語に慣れてしまうと「どうしてこうなのか?」「不便だな」と思うことが多々ありますが、アセンブリ言語として捉えると「こりゃ便利だ」と思えます。この感覚はアセンブリ言語を書いたことがないとピンと来ないことかもれませんが、ハードウェアは何をしているのか、OSは何をしているのか、コンパイラは何をしているか、この辺りをイメージ出来るとC言語の書式の意味が見えてくるように思います。
変数はメモリ領域を確保しインデックス(ステータス・メタ情報)を関連付けることで成立します。確保しただけのメモリ領域を「Raw」とも呼ぶそうですが、「Raw」のアドレスを示すのがポインタです。変数という作法(インデックス)を使って読み書きしてもいいのですが、ポインタというメモリアドレスで直接読み書きすることも出来るようです。私が知るアセンブリ言語はPIC16のそれしかありませんが、変数とはどういう機構なのか?を理解出来るとポインタのイメージをすんなり受け止められました。typedefも「オレ専用の型」作っておくClassみたいな作法だと思えば自然と理解。
ここまできたところ、構造体(Structure)と共用体(Union)の違いや使い方もすんなり理解。どちらもメモリ領域を確保してインデックスを関連付けることは同じですが、共用体は複数のインデックスを関連付けることが出来ることが違う。Art-NetでDMXのデータを扱うArtDMXパケットは受信した際は530バイトのバイナリですが、その何バイト目がどんな意味のデータかとなるので、同じデータ群であっても530バイトのバイト配列であったり構造体であったりするので、共用体として保存するが適当ぢゃないかと思ってきたところです。
mmapも意味や作法がイマイチわからなかったのですが、C言語の深堀り出来てきた気がしています。
#C言語
データ蓄積の話です。変数と呼ばれる入れ子に数値を代入して一時保存するのが普通のやり方です。ですが、その実体はメモリに保存するに他なりません。
C言語は「高級アセンブリ言語」と呼ばれることもあり、派生の歴史はマシンコードが違うハードウェア間でソフトウェアの移植性を高めることにあったとか。AI/Geminiさんとやりとりをしてわかってきたことですが、C言語はソフトウェアを書きやすくするのとは少し違った方向性のようです。Pythonの様な言語に慣れてしまうと「どうしてこうなのか?」「不便だな」と思うことが多々ありますが、アセンブリ言語として捉えると「こりゃ便利だ」と思えます。この感覚はアセンブリ言語を書いたことがないとピンと来ないことかもれませんが、ハードウェアは何をしているのか、OSは何をしているのか、コンパイラは何をしているか、この辺りをイメージ出来るとC言語の書式の意味が見えてくるように思います。
変数はメモリ領域を確保しインデックス(ステータス・メタ情報)を関連付けることで成立します。確保しただけのメモリ領域を「Raw」とも呼ぶそうですが、「Raw」のアドレスを示すのがポインタです。変数という作法(インデックス)を使って読み書きしてもいいのですが、ポインタというメモリアドレスで直接読み書きすることも出来るようです。私が知るアセンブリ言語はPIC16のそれしかありませんが、変数とはどういう機構なのか?を理解出来るとポインタのイメージをすんなり受け止められました。typedefも「オレ専用の型」作っておくClassみたいな作法だと思えば自然と理解。
ここまできたところ、構造体(Structure)と共用体(Union)の違いや使い方もすんなり理解。どちらもメモリ領域を確保してインデックスを関連付けることは同じですが、共用体は複数のインデックスを関連付けることが出来ることが違う。Art-NetでDMXのデータを扱うArtDMXパケットは受信した際は530バイトのバイナリですが、その何バイト目がどんな意味のデータかとなるので、同じデータ群であっても530バイトのバイト配列であったり構造体であったりするので、共用体として保存するが適当ぢゃないかと思ってきたところです。
mmapも意味や作法がイマイチわからなかったのですが、C言語の深堀り出来てきた気がしています。
#C言語
2025年 この範囲を時系列順で読む この範囲をファイルに出力する
2023年 この範囲を時系列順で読む この範囲をファイルに出力する
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
2022年 この範囲を時系列順で読む この範囲をファイルに出力する
昨晩、思い立って調べてみたのですが、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