RX7に車載している raspberry pi zero2 W(以下rx7pi)だが、通信にUSB接続の携帯電話を使っている。
携帯電話のセキュリティ上、必ずロック画面を解除してからでないとUSB接続してくれないので、時折ふと忘れる事があって、車載警報が鳴ったとしてもメール通知できない状態の時がある(笑)
そこで、通信カードに変えようと思った。
これなら、rx7pi 電源投入時に自動で通信を確立できるはず。
ところが、dhcpcd で通信カードを使った設定例が探しても無い。
そこで、NetworkManager のモバイルブロードバンドで設定しようと、rx7piに NetworkManager をインストールしてみた所、dhcpcd とバッティングしてるのか、wi-fi接続毎にIPアドレスが変わって大層やりにくい。
ネットには、raspi-config で、dhcpcd か NetworkManagerのどちらを使うのか切り替えられるという記述を見たが、10 の buster のraspi-config にはそんな項目は無い。
とりあえず、NetworkManager の設定の為に、GUIを復活させてみたが、起動途上の画面は見えても最終的に GUIでも CUIでも「HDMI信号なし」となる。
つまり、rx7piにキーボードとマウスとモニタ繋いで操作ができず、ネットワーク接続できなくなったら、一切何もできなくなるから、迂闊に dhcpcdをアンインストールできない。
これは詰んだな。
後で気付いたが、raspi-config でGUI bootかCUI bootか選べるようになっていて、素人が知ってるLinuxの知識で、
1 |
# systemctl set-default muti-user.target |
とかやっちゃうと、多分、raspberry pi の設定と食い違いが出て不具合が出るのだろう。
という訳で、raspberry pi OS 11 の最新版を入れる事にする。 🙁
まずは、万が一の為に sdカードのバックアップ
1 |
# dd if=/dev/sdc of=.rx7pi.img |
32GBだから長いんだこれが 🙁
そしてバックアップが取れたら、今使ってる Ubuntu にSDカードを焼く環境を作る。
To install on Raspberry Pi OS, type
sudo apt install rpi-imager
in a Terminal window.
情報源: Raspberry Pi OS – Raspberry Pi
とあるので、その通りにする。
SD カード32GBをバックアップしてる間に、Raspberry Pi OS with desktopのイメージをダウンロードしていたので、次の様にして解凍して、OSのタブでカスタムイメージで設定。
1 |
$ xz -dc 2023-05-03-raspios-bullseye-armhf.img.xz |
しかし、OSのタブ見たら、ダウンロードも自動でしてくれるみたいで、別にダウンロードしなくても良かったが、その分、時間は節約できたから、まあヨシ。
ギアのボタン押したら、SDカードに焼く前に中身をカスタマイズできるようになっていて、今まで業者から買った時に付いてくるSDカードをそのまま使用していたから知らんかった。
pi ユーザー作らないし、結構便利だな。 🙂
焼き上がったので、早速 rx7pi にセットして起動……。
GUIで起動したけど、やたら重いなと思ったら、こいつメモリ500MBしか無かったんだった orz
お、あるね。という事で、NetworkManager を有効化して、デスクトップのWi-Fiアイコンを右クリックして、モバイルブロードバンドを設定……。
うーん、Ubuntu とかだと、「日本」とか選択できるんだが、選択肢が空だし、APN記入してても設定ファイルに記録されないし、完成度が低いぞ?
通信カードテストの為、Windows11 仮想マシンで色々やったが、donedone は接続できても、povo2.0 のSIMは「圏外」となって接続できない。
同じ KDDIの MVNOなのに、povo はダメってのがよく分からんが、楽天モバイルでも、古い携帯電話で使えないってのがあったし、EM7430って結構古いから、ダメなのかもしれんね。
という訳で、通信カード計画は断念 🙁
あと、 CUI起動にして、NetworkManager は、Wi-Fi の設定ファイルで、permissions=user:noizumi;: とかになってると、わしがログインするまでネットワーク接続されないので、permissions= と空にしてやった。
カメラはソケットが壊れたので、motion は入れてないけど、車が移動したら通知する為に、gpsd はインストール。ver.3.22 だったので、野良ビルドしなくて済んだ。 🙂
あと、メール飛ばすのに exim4 入れて、
1 |
# dpkg-reconfigure exim4-config |
「スマートホストでメール送信: ローカルメールなし」で設定。
設定した内容は次のファイルに記録される。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
dc_eximconfig_configtype='satellite' dc_other_hostnames='' dc_local_interfaces='127.0.0.1 ; ::1' dc_readhost='noizumi.org' dc_relay_domains='' dc_minimaldns='false' dc_relay_nets='' dc_smarthost='sv13449.xserver.jp::587' CFILEMODE='644' dc_use_split_config='false' dc_hide_mailname='true' dc_mailname_in_oh='true' dc_localdelivery='mail_spool' |
そして passwd.client にプロバイダのサーバーの認証情報を記述。
1 2 3 4 5 6 7 8 |
# password file used when the local exim is authenticating to a remote # host as a client. # # see exim4_passwd_client(5) for more documentation # # Example: ### target.mail.server.example:login:password sv13449.xserver.jp:[メールアドレス]:[パスワード] |
VPNの wireguard は、家のサーバーとのみ接続してたけど、家帰ってきて、家のLANに繋がると、VPNが応答しなくなるので、Kagoya VPSのサーバーをメインとして、家のサーバーと rx7pi はクライアントにした。
これでも、同じ家のLANに接続してるクライアント同士は通信できないのだが、少なくとも、Kagoya VPS経由でやり取り可能だから、一切rx7piと接続できない自体は減るはず。
いやあ、夏季休暇を満喫してるなあ 🙂