割と気まぐれにやってるカメラカーのメンテナンス。今回の予定は
- OSの入れ替え
- システム構築手段の変更
をした
とその前に
前回走らせたときに気づいた前照灯の脱落。もともと回路が大きかったのもあってこの際撤去。
OS入れ替え
今までDebianのBullseyeだったので、ついででBookwormに交換。メモリ容量あまりないので、32bit版のLiteを使用。
システム構築手段の変更
今まではdebian packageのpostinstallスクリプトであれこれやってたけど、システム設定も全部これでやるのはなにか違う気がしたので、ansibleで設定するようにした。
ちょっとハマったポイント
多分OSのバージョンが上がったことで出たんだと思うハマったポイント
alsasrc not elementみたいなエラーが出る
gstreamerで録画しようとしたときに、「alsasrc not element」みたいなエラーが出た。
対応
gstreamerのドキュメントでは「GStreamer Base Plug-ins」とあるけど、Debianパッケージ的には「<a href="https://packages.debian.org/ja/bookworm/gstreamer1.0-alsa">gstreamer1.0-alsa</a>
」に入ってた。
インストールするパッケージリストに入れて対応
カメラを認識しない
本来rasp-config
で設定するところだが、設定がなくなったので色々調査。
対応
- name: enable camera
lineinfile:
path: /boot/firmware/config.txt
regexp: camera_auto_detect=1
line: "# camera_auto_detect=1"
backrefs: yes
become: yes
- name: enable camera2
lineinfile:
path: /boot/firmware/config.txt
regexp: ^start_x
line: start_x=1
become: yes
- name: configure gpu_mem
lineinfile:
path: /boot/firmware/config.txt
regexp: ^gpu_mem
line: gpu_mem=256
become: yes
camera_auto_detectは一旦無効にして、start_x=1を入れるとカメラが認識されるようになった。ただそのままだとh264でエンコードした動画を得られない(メモリアロケートできないみたいなエラーが出る)ので、gpu_mem=256でGPUメモリを増やして対応
wifi設定方法が変わった
携帯テザリングにつなぐ設定をするために少し調べてたんだけど、どうもNetworkManagerに変わった影響で設定方法が変わったらしい。
対策
wpa_cliというツールを使うと、設定できるみたい。
wpa_supplicant.confに設定ないのにWifiに繋がる
最後のsave_config
でFAILと出たけど、接続はできたから設定はできたみたい。
これら対応で録画に成功。後での検索用に、エラーメッセージちゃんと出しとこうかな