WireGuard

車に積んでいる Raspberry Pi zero 2 W(以下ラズパイ)にいつでもアクセスしたいと思った。

しかし、 donedone 128kbps で常時接続しているとは言え、接続IPアドレスが133.203.130.90と分かったとしても、こいつは携帯電話会社のファイヤーウォールだから、直接携帯電話へアクセスする事はできない。

そこで、VPNの WIreGuard の出番。
ラズパイ から、家のサーバーに VPN接続すれば、家からならVPN経由で ssh が可能になる。

接続方法は
情報源: 【Ubuntu】WireGuardで簡単VPN環境を構築 | VPS Life

こちらを参考にさせていただいた。感謝。

サーバー側ステータスを見てみると、

RX-7に搭載しているラズパイのクライアント側

これで、外部から車に搭載したRaspberry Pi へ指令が送れるようになった訳だが、電子工作と合わせると、車を始動不能にしたり、クラクションでSOS鳴らしたり、色々、可能性が広がって夢が広がりまくりんぐなわけですよ。 🙂

【皇紀2682年9月26日 追記】

いざ、ラズパイに接続しようとするもできない。

どうやら、ラズパイのUSB省電力機能が効いているのか、ラズパイ側からVPNのサーバーに ping を打たないと、サーバーからはアクセスできないっぽい。

ラズパイの cron で10分毎にVPNサーバーに ping 打つようにしてみるか。

【/皇紀2682年9月26日 追記】

車載Raspberry Pi zero 2 Wの通信

一応、車の中に電源繋いで置きっぱなしだが、家の車庫にあると、WiFiに繋がって、部屋のPCから ssh でログインする事ができる。

ただ、USBテザリングが有効のままなので、システムのアップデートをしようとすると、donedone 128kbps で通信しちゃうので遅くてしょうが無い。

そこで、usb0 インターフェースをダウンさせてやると、WiFiの経路を使って通信するので、インターネットの接続速度が速くなる。

apt update、 apt upgrade が終わったら、USBテザリングへ経路を戻す。

ログをRAM DISK化しようか考えていたが、/var/log/wtmp と /var/log/lastlog 位しか書き込んで無いから別にいいか。

【RX-7】警報発報メール通知プログラム

Raspberry Pi zero 2 Wに exim4 入れて、スマートホスト設定して、Xserver のメールサーバーをリレーホストにする設定して、ボタン監視してメール通知するプログラムをサクっと書いた。

ボタン監視は、GPIO26とGNDに繋いでやる予定だけど、巷にあるサンプルだと、エラーとかリソースビジーとか出るので wait を入れた。

echo 26 >/sys/class/gpio/gpio26/export
sleep 0.1
echo in >/sys/class/gpio/gpio26/direction
sleep 0.1
echo high >/sys/class/gpio/gpio26/direction

ハードウェアに近いプログラム書いた事無いと分からんかもしれんけど、Raspberry Pi が GPIO26 の用意完了前にデータを書こうとすると、間に合わない場合があるので、その場合は適当に時間待ちしてやる必要があるんだな。

Raspberry Pi zero 2 Wの BCM2835は、ARM v8(Cortex-A53)クアッドコアの64bit 1GHzなので、結構処理速度が速いようで、GPIOのファイルシステムへ書き込みするのに、sleep で wait を入れないとダメになったみたいだな。

ちなみにメールは次のようなものが届く予定。

無茶苦茶シンプルなので、donedone 128kbps でも問題なく送信できる。

で、後は半田ゴテで、配線するのみなのだが、半田ゴテ暫く使ってなかったから汚部屋で見つからんのよね。 🙁

【追記:皇紀2682年9月18日21:13】

ラスタバナナの変換コネクタに必死で半田付けし、GPIO26とGNDに半田付け

docomoの携帯電話を挿せるけど、携帯から5V出てるとしたら、raspberry PiのGIPOへ5V流れて壊れちゃうので、携帯電話を挿してはいけない。

先のプログラム走らせて、イヤホンマイクボタンを押すと、メールが来た。

これで、docomo 3Gが無くなっても大丈夫 🙂

【/追記:皇紀2682年9月18日21:13】

Raspberry Pi zero 2 W 到着

bootイメージの入った 32GBのmicroSD付きなので、まずはそいつをPCにマウント。

「ファイル」で開いて、右クリックで、「端末で開く」。

/boot/ に “ssh” という空ファイルを作成。

次は、Headless で使う為に、同じく /boot/ に wpa_subblicant.conf を作成

[/boot/wpa_supplicant.conf]

設定は「Raspberry Pi 無線 LAN 設定おぼえ書き」を参考にしました。ありがとうございます。

で、ルーターのDHCP払い出し状況を確認すると、192.168.11.15 へ割当られている模様。

初期ユーザー pi でパスワードが raspberry ね。

グラフィカルユーザーインターフェースから、ヘッドレスへ

で、再起動

次にまた ssh で入ると、

既定ユーザーの pi のパスワード変わってないからセキュリティリスクやでと親切に教えてくれる。

タイムゾーン設定、言語設定、ホスト名変更に raspi-config で設定

パッケージのアップデートに sudo apt update やったらエラーが出たので、検索したら、「Raspbianのsudo apt-get updateが失敗したら試したい解決方法」に載っていた。ありがとうございます。

その通りやる(ちょっと違うけど)。

更新パッケージが270個位あったので、中々終わらなかった。

そして、microSDの長寿命化の為に、ログを一切吐かないように、/etc/rsyslog.conf を編集して、インクルードの無効化と、RULES以下の設定を全部 # でコメントアウト

そして、念の為、/etc/logrotate.conf を月1ローテーションで、履歴は1つのファイルのみ、インクルード無効化に変更

pi ユーザーのパスワードを変更して、スマートフォンをUSBテザリングに設定して、Raspberry Pi zero 2 Wに接続してみると、何の操作や設定する事もなく、通信経路が確立した。

後は、ラズパイにメール送信環境と、GPIOチェックしてメール送るプログラム書いて、ラスタバナナの平型コネクタソケットをGPIOに配線したら、即運用できそうだな。

ただ、車のバッテリが上がったら嫌なので、ラズパイとスマホでどれだけ消費電力喰うか分からないのが不安要因なんだな。

Raspberry Pi Zero 2 W こうにう

※商品紹介写真が面倒くさいので、アフィリエイトで張ってます。

情報源: Pi Zero 2 W Starter Kit 32GB 6点セット V2 Sandwich ケース[RASST02STA0322]

KSYって単体は在庫切れなんだけど、スターターキットとかの抱き合わせは在庫豊富なんだよなあ。

Raspberry PI4 8GBこうにう

4買った時も、単体在庫切れだったけど、スターターキットは在庫があったので、そういう売り方なんだろうな。

この Raspberry Pi zero 2 Wは、車載用で、GPIOに警報装置の配線引き込んで、発報したら、メールを飛ばす処理に使おうと思っている。

本当は、警報装置は発報したら、接続したガラケーに電話を掛けさせ、電話で警報発報を知らせてくれるというもの。

これが、皇紀2,686年3末に 3Gの電波が停波して使えなくなっちゃうので、その代わりにRaspberry Piにメールを投げさせようと考えている訳なんだな。

平型端子変換コネクタこうにう

以前、ラスタバナナの変換端子使えねえと書いてたけど、あれからテスターを当てまくって、平型ケーブルの1番GNDと8番ピンが基盤のどこに繋がっているのかが分かったので、そこに配線して信号を取り出す予定。

一時は、車載警報装置の平型コネクタ破壊して線を取り出そうかと考えていたが、そのまま変換端子に接続してRaspberry Piで信号を受け取れそう。

なので、配線用の太さ0.5mmの配線、Raspberry Piとスマホ繋ぐUSBケーブル、Raspberry Piの電源用のUSBケーブルも買った。

スマホとRaspberry Piは通信用で、USBテザリングを行なう予定

Raspberry Pi はmicroSDにログを書き込んでいると、1〜2年でmicroSDがダメになるので、わしの買ったものは、弄ってログをRAM DISKに書くようにしている。

今回の Raspberry Pi zero 2 W は、RAMが 512MBしか無いからRAM DISKで賄えるのか心配だな。いっそ、rsyslog.conf 弄ってログ一切無しってのもアリだな。

ココセコム

最近、RX-7の盗難が頻発している。

キーシリンダー破壊して、エンジン始動させて持ち去る手口で、わしのRX-7には、車載警報装置が付いていて、イモビライザーがあるので、この手口は使えないから、一応は安心している。

それと、警報が発報すると、車に積んでいる携帯電話から、わしのスマートフォンに連絡が来るようになっているので、何かあると、遠隔で分かるようにもなっている。

ただ、これも、2026年3末に使えなくなるので、それに代わるものとして、ココセコムを考えている。

警報装置の電話通知が使えなくなるけど、イヤホンマイク端子の信号をRaspberry PiのGPIOで受けて、それをトリガーにメール送信ができるんじゃないか? と考えている。

そこでハッと思いついたのが、Raspberry Pi にGPS繋いで、位置情報を1分毎にわしの家のサーバーに送信し、特定の位置から移動したら、わしのスマートフォンにメール飛ばすってシステム作ったら、ココセコム要らなくね?

あと、Bluetoothで、わしのスマートフォンと通信できなくなったら、車載Raspberry Piの警戒監視モードにするとかできそうなので、ココセコムタグの代替もいけそう。

ココセコムって、駐車監視込みだと、月額2,200円で、初期費用諸々で、23,100円だけど、Raspberry Piのシステムなら、月額料金無料で、ココセコムと同等の機能が実現できるじゃん。

ただ、セコムかけつけ11,000円は無理なので、車載警報装置が発報して、メール来たら、JAFのロードサービスで車に異常がないか確認して貰えたら、完全代替可能だが、JAFに問い合わせてみるか。

新サーバー移行

エックスサーバーは、最新設備の高速環境へ無料で移行ツールを使って移行できるのでやった。

IPアドレスが変わるので、DNS情報が世界に浸透するまで、旧サーバーと新サーバーの両方にアクセスがあるという面倒臭い点はある。

しかし、コメント書き込みが頻繁で無く、閑散としているので、自分が新サーバーへちゃんとアクセスできているかを気にするだけで良い 🙂

新サーバーへの移行効果は、応答速度が速い気がするって感じかな?

まあ、旧環境が、PHP8.1 だったから、それなりに高速だったし、新サーバーのCPUやメモリが変わった分の違いと、共用サーバーだから、不良住人が多いか少ないかで、速度も変わるってのがあるね。

共用サーバーの便利なところは、システム更新をプロバイダがやってくれる所で、ブログ以外の事に気にかける必要が無いのが便利だな。

【Kagoya VPS】自動アップグレード設定見直し

radiko のαSTATION 聴く時に、VPNで接続して重宝しているのと、IRC serverを動かしているKagoyaのVPSだが、ログインしてみたら、アップグレード可能なパッケージが44個あった。

自動更新設定したはずなのに、おかしいと思い検索。
次のページを参考にさせていただいた。

コマンドラインターミナルを使用して、Ubuntu 22.04 LTS JammyJellyfishLinuxに無人アップグレードをインストール/有効化および構成する方法を学びます。

情報源: Ubuntu22.04LTSに無人アップグレードをインストール/構成する方法-LinuxCapable

うまく動いてないので、調べると、apt-config-auto-update パッケージを入れないといけないようで、入れようとすると、update-notifier-common パッケージとファイルがバッティングしてるとか。

そこで次のコマンド実施して、パッケージを入れ替えた。

あと、件のページに書かれていた要らないパッケージの自動削除も有効にした。

これで取り敢えず様子見。

傲慢マイクロソフト

何でマイクロソフトが鼻持ちならないのかというのが分かった。

会社で、Skypeを使ってグループ通話をしているのだが、Netbeansでソース編集してて、一括置換のショートカットの「Shift+CTRL+H」とやると、ウインドウを選択していないSkypeのグループ通話が切断され、一括置換が作動しない。

で、調べるとSkypeの設定>全般>キーボード ショートカットの項目で、「グローバル ホットキーを有効にする」ってのがONになってると、選択してないSkypeのショートカットキーを優先し、他のソフトの処理を妨害するようだ。

なんで自己中心主義なの?
バカなの?

普通、こんなのアクティブじゃないSkypeより、今使ってるエディタが優先に決まってんだろ。規定でSkypeを優先する状態にしておくって頭おかしいわ。

Skypeは元は Microsoftじゃ無かったけど、買収されてから、おかしな方向になってんだよな。

こういう、頭悪い癖に「俺達は優秀なのだから、俺達のSkypeが優先されてしかるべきで、バカなユーザーは俺達の素晴らしい設定に従ってろ」という設計思想が無っ茶腹立つんやわ。

家のネットワーク構成図

Kagoya VPSに softether 入れて、家のRaspberry Pi4 にもsoftether入れて、仮想HUBをカスケード接続している。

Kagoya VPSはインスタンス同士が通信する為にローカルネットワークを5つまで組み込む事ができるが、これを softetherの仮想HUBにローカルブリッジする為に使う。

VPSの方のローカルネットワークは192.168.30.0/24で、家のローカルネットワークは、192.168.11.0/24、それを仮想レイヤー3スイッチで繋いで、ローカルネットワーク同士が通信できるようにしている。

VPSの家のLAN の仮想HUB にVPN接続すると、まるで家でネットワークに繋いだ如く、家のルーターのDHCPでIPアドレスが払い出される。

何で、VPSのローカルネットワークと分けているかと言うと、VPSの方では仮想NATを使い、インターネットに出られるようにしているから。

これをやらないと、VPSの家の仮想HUBに繋いだら、家のルーター経由でインターネットに出てしまって、経路が長くなってしまう。

VPSに VPNを繋ぐと、VPSから外に出て、家に VPNで繋ぐと、家から外に出るというようにしたくてこういう構成にした。

という備忘録のテスト 🙂