2024年9月29日日曜日

ラズパイカメラV1をμstreamerしてみた。

 Raspberry Pi Zero WにラズパイカメラV1を接続してブラウザからストリーミング映像を見れるようにしてみた。

前回UVC対応のカメラで試したので、今回はラズパイカメラV1を使ってみようかと。画質とか遅延を比較してみたいということで。

ラズパイカメラを使うためにlibcamera関係のパッケージをインストール。

sudo apt-get install libcamera-v4l2 libcamera-tools

この2つをインストールすればV4L2対応アプリから使えるようになるっぽい。

bookwormではraspi-configでカメラを有効にしなくても自動で認識されるっぽい。今回はRaspberry Pi Camera V1の互換品を使用したけど、起動時に一瞬カメラのLEDが点灯して消えるのでそこで初期化もしくは判別されてるのかな?

libcamera-hello --list-camera

とコマンドを入力すると

Available cameras
-----------------
0 : ov5647 [2592x1944 10-bit GBRG] (/base/soc/i2c0mux/i2c@1/ov5647@36)
    Modes: 'SGBRG10_CSI2P' : 640x480 [58.92 fps - (16, 0)/2560x1920 crop]
                             1296x972 [43.25 fps - (0, 0)/2592x1944 crop]
                             1920x1080 [30.62 fps - (348, 434)/1928x1080 crop]
                             2592x1944 [15.63 fps - (0, 0)/2592x1944 crop]

のようにov5647を認識してるっぽいので大丈夫そう。公式カメラじゃないパターンだと手動でconfig.txtで設定しないといけないらしいけど。

ここらへんのカメラ周りの実装も昔から結構変わってるっぽい。bullseyeから導入されたlibcameraっていうドライバに置き換わってるらしい。

ustreamerもlibcamerifyを通して実行してやるとちゃんとv4l2互換で動くらしい。

sudo libcamerify ustreamer --encoder=m2m-video --host=0.0.0.0 --port=8080 -r 1920x1080

こんな感じで実行してやればあとはブラウザからhttp://ラズパイのIPアドレス:8080にアクセスするとstreamからストリーミング映像が見れる。

しかしHWバッファー系のエラーがでて結構カクカク…
ustreamer側のサポートでもlibcamerify側の問題じゃないかということで他のラズパイモデルでも問題が起きてる模様。今のところUSBカメラのほうがサクサク動くんじゃないかな。特にハードウェア処理できるUSBカメラの場合はCPU負荷もあまりないし、遅延も少なそう。

せっかくラズパイカメラをワイドレンズにしたので低遅延でこのカメラを使いたいんだよな…

2024年9月11日水曜日

単三電池1本で動くLEDライトを修理してみた。

 友人用にだいぶ前に購入したLEDライトが使えなくなったと言われたので修理してみた。壊れたって言われて受け取ったのもだいぶ前なんだけどたまたま見つけたので…

GL-037-45

もともと2015年ぐらいに購入した300LMで3Wなのに単三電池1本で動くという怪しい製品。2.39ドルだったらしい。当時だと300円しなかったぐらい。

とりあえずテスターで測ってみると電池のプラス端子とアルミハウジング(マイナス側)が0Ωだったので内部の昇圧回路が壊れてるんだろうという予想。

LED部分がネジで回して外れるような構造じゃなかったのでとりあえず圧入かなと思って電池を入れて押し込んだらレンズ側から全部中身が出てきた。

ハンダ吸い取り器で電池側の端子とグラウンド周りを吸い取ると基板が2つに分かれる感じだった。

LEDが載ってる基板にはインダクタとチョッパ型昇圧タイプのLEDドライバICが乗っていた。刻印にはX6って書かれていたけどおそらくYX8113(Ha7m1)のようなLEDドライバICだと思う。点滅とか調光ができるバリエーションもあるらしいのでもしこれが壊れているならアップグレードしてみようかなと思ったんだけど分解すると抵抗値が0Ωじゃなくなってしまった…

よく確認してみるとプラス側の細いリード線が途中で溶けててどうやらマイナス側にあたってるような跡が…

というわけでリード線を外してスズメッキ線に変更してもう一回組み立て直してみた。

はんだ付けしたあとはプラス部分が電池と接触するので一応パーツクリーナーを綿棒につけてフラックスを掃除。

押し込んで元通りに組み立てたら普通に動いた。しかし3Wと刻印が書いてあるけど絶対3Wはなさそう。300LMも明るくないかもしれない。とりあえず修理できたけど簡単にモジュールが取り外せるので昇圧回路と大きめのLEDを仕込んでも面白いかもしれない。


2024年9月7日土曜日

Apple Find My対応スマートタグを無音化してみた

 以前Finein Tagを無音化改造してチャリに搭載しておいたんだけど、夏の暑さなのか反応しなくなった時があった。そのときはボタンを押して見たらまた反応するようになったので電源が落ちてしまっていたのかも?以前何種類か中華エアタグを買っていたので別なものを無音化改造してつけてみることにした。

今回はAIYATO-L1(2.0.1)ってやつを改造してみることに。こちらも前回同様簡単で、トランジスタのベース抵抗を取り外すだけ。1005の1kΩがついていた。ベースエミッタ間抵抗はそのままにしておく。

あとはこれで無音化になるので音がないのでペアリングが少ししにくい。電池をいれると電源が入るんだけど念の為スイッチをちょん押し。3秒以上おすと電源が切れてしまうので注意。

ちなみに知り合いも同じのを購入して使っているらしいんだけども無音化しようとしたら基板が黒いバージョンで部品配置も違ったらしい。とりあえず同じようにベース抵抗を探して無音化できたけど製造時期によって中身が異なるらしい。メインチップはRM1200だったみたいだけど。

Finein Tagのほうは6月からの三ヶ月でのバッテリーの減り具合を計ってみたんだけど、開始時は3.312Vで今は2.970Vだった。一時期バッテリー残量低下警告が出たり、80%ぐらいの表示になっていたけど今は満タン表示。このタグは何Vまで使えるんだろうか…電池が切れるまで一応放置しておいてみようかな。