【Raspberry Pi Zero 2 W】謎のパケットロス

RX-7車載の Raspberry Pi Zero 2 W(以降rx7pi) だが、家の Wi-Fi に繋ぐと、謎のパケットロスが発生する。

rx7pi はプログラムで次の機能を持たせている。

  • 車載警報装置からのイヤホンマイク端子ON信号を GPIO で検出するGPIO監視
  • Bluetooth ヘッドフォン接続時に警戒モードをOFFにするBluetooth監視
  • GPSデータを読み取り、100m移動したらメールを飛ばすGPS監視

これらの機能のプログラムを走らせると、Wi-Fiのパケットロスが発生する。

GPIOの信号線半田付けする時に、チップ抵抗まで盛ってしまい、ショートさせたので、まだショート箇所が残ってるのかと半田吸い取り線をヨドバシから買って、信号線の付け直しをしてみたが症状変わらず。

GPIO監視だけのテストプログラムを動かしたら発生しないので、GPIOでは無いようだ。

端末から監視プログラムを動かすと、

携帯電話へ bluetooth テザリングで接続してなかったらするようにしてるが、家なので、携帯電話は有効にしていない。

ちょっと気になるので、bluetooth テザリング接続部をコメントアウトすると、パケットロスが無くなった。

この部分でパケットロスが発生しとるようで、bluetooth と Wi-Fiは同一チップで制御しとるから、大方、bluetooth の制御コマンドを送ると、Wi-Fi の回路の処理が停止して影響が出とるのかな?

安物の Wi-Fiチップだと、回路共通部分での競合ってありそうで、嫌だのう。

今まではUSBテザリングを使っていたが、スマートフォンの画面ロックを解除しないと、通信が確立しないので、朝、システムを起動して、画面ロック解除を忘れて、その後、通信不可ってのが嫌で、bluetooth テザリングにしたんだよなあ。

車載機としては、bluetooth テザリングが通信の生命線なので、接続断の場合は、何度もリトライを繰り返す処理にしてるけど、Wi-Fi 接続時はキャンセルする例外を入れんといかんかな?

Wi-Fi繋がってたら、bluetooth テザリング接続をしないようにした。
これで謎のパケットロスは解消した。 🙂

地震RSSをYahoo!に変更

goo天気終了

前は、tenki.jp を元にさせていただいていたが、地震が発生しても ircbot で表示されない事があり、ircbot の workファイルを見ると、1バイトのファイルが作成されている事があり、この原因がよく分からない。

そこで、Yahoo! の地震情報から RSSを生成する事にする 🙂

震度1〜2は出てもウザいので、震度3以上を表示するようにしている。

goo天気終了

「goo天気」をご利用くださいまして、ありがとうございます。
誠に勝手ながら「goo天気」のサービスは2023年9月27日をもちまして、終了させて頂くことになりました。
長年にわたり「goo天気」をご愛顧いただきましたお客様に、心より感謝申し上げるとともに、ご迷惑をおかけして誠に申し訳ございません。
今後とも引き続きgooのサービスをご利用いただけますと幸いです。

情報源: goo天気の終了について – goo天気

とうとう地震のRSS配信してる所が無くなってしまう。

うーん…。

という事で作った 🙂
IRCのbotで、RSSを出力するものがあるのでそいつに食わせる。

【Raspberry Pi Zero 2 W】警戒プログラム変更

Raspberry Pi Zero 2 Wは 4コアなので、並列処理した方が速くなる為、本体プログラムと bluetooth のチェックを分けた。

【メイン処理】

【bluetoothチェック処理】

【GPS関連処理】

今までは USBテザリングで通信していたが、セキュリティの為か、携帯電話の画面ロックを解除した状態にしないと接続できなかった。

しかし、bluetooth テザリングは、一度ペアリングすれば、接続要求によって簡単に繋がるので、画面ロック解除しなくても良くなった。

以前試行した時は、bluetooth テザリングに、 bt-pan というプログラム使ってたけど、接続できなくて sleep 1 で回してても負荷が無茶苦茶高かった記憶がある。

問題は最大3Mbps程度の通信スピードになるが、povo 2.0 の非課金速度が128kbps なので、ボトルネックになる事は無い。

今は、NetworkManagerを導入したおかげで、sudo nmcli dev connect [MACアドレス] で接続できるので、負荷が非常に低く、load avarage も

こんな感じで非常に低負荷で済んでいる。

【Raspberry Pi Zero 2 W】motion 4.3.2

Raspberry Pi Zero 2 W(以下rx7pi)のカメラソケットが破損して、暫くカメラ運用をしていなかったが、新しい物が買えたので、交換し、カメラ運用するようになった。

motionも最新版にし、「助けて」「すべてのカメ」と、日本語が非常に残念であるが、rx7piからリアルタイム映像を閲覧できるようになった。

Wiregurd VPNで、rx7pi から Kagoya VPSの irc.noizumi.org までVPNを張って、192.168.40.2:8080 で motion のwebインターフェースにアクセスできるようになっている。

家ーKagoya VPSー車 とVPN網を構築し、この網に接続すれば、さも家のLANに繋いでるが如く、稼働している機器にアクセスできるってのは便利だね。 🙂

【SoftEther VPN server】バージョンアップ

オープンソース版: SoftEther VPN 4.42 Build 9798 RTM (2023/06/30)

製品版: PacketiX VPN 4.42 Build 9798 RTM

米国 Cisco Systems, Inc. による高度なコードレビューと技術協力の結果、CVE-2023-27395 等の 6 件の脆弱性を修正しました。今回修正したいずれの脆弱性も、通常の使用方法と使用環境においては、不正侵入等のセキュリティ侵害に悪用されるリスクは比較的低く、実際の攻撃は容易ではありませんが、将来発見される可能性がある複数の脆弱性が組み合わさると攻撃に悪用される可能性もあるため、できるだけ、アップデートをお勧めします。

情報源: バージョン更新履歴 (ChangeLog) – SoftEther VPN プロジェクト

「アップデートをお勧めします」なんて書かれてるとやらざるを得ない。

SoftEther VPN Server は定期的にバージョンアップを実施する必要があります。放置しているとセキュリティホールを突かれて不正アクセスに繋がります。バージョンアップは容易に実施できるので手順を押さえましょう。

情報源: SoftEther VPN Server バージョンアップ手順 | りんか ネット

こちらを参考にまず、家のサーバーのRaspberry Pi 4のアップデート作業から始める。

要は、vpn_server.config のファイルをコピーすればいいだけだな。

ごちゃっとしてるけど、手順メモ(笑)

SoftEther VPN ダウンロードのページから、最新版のARM 64bit のファイルをダウンロードして、/user/local に設置。

旧バージョンに戻せるようにそれぞれフォルダ名にバージョン名を含め、systemd のスクリプトで矛盾が無いように vpnserver のシンボリックリンクを最新バージョンに張る。

具体的には、
/usr/local/vpnserver → /usr/local/vpnserver-v4.38
/usr/local/vpnserver のシンボリックリンクを /usr/local/vpnserver-v4.42 に張る。

そういや、SoftEther vpnserver 設置に試行錯誤で苦労した覚えがあるが、作業記録を全然残して無かったな(汗

systemd のスクリプトが次の通り。

[/etc/systemd/system/multi-user.target.wants/softether-vpnserver.service]

linux は vpnサーバーに接続すると、クライアントから vpn サーバーに ssh ログインできないという問題がある。

Unnumbered eth0 に br0 のブリッジで、IPアドレス振って、SoftEther VPN側から tap デバイスで br0 にローカルブリッジ設定してやると vpn接続後に、ssh 192.168.11.254 とか、サーバーのIPアドレス指定でログインできるようになる。

この辺、無茶苦茶苦労したのに全然記録に残してない(滝汗

なんせ、家のサーバーで br0 のブリッジデバイス作成に失敗して、完全通信途絶したので、USB キーボード&マウスとHDMIでディスプレイ繋いで、ローカル端末で修正しなくてはいけなかった。

ちなみにRaspberry Pi 4には、マウスとキーボードが一つのレシーバーで使えるELECOM TK-FDM063BKとかが便利。

わしはこれをNTT西日本のポイントで貰い、使い途に困ってたがRaspberry Piに使った時に、「コレだ!」っておもっちゃいました。 🙂

Kagoya VPS の irc.noizumi.org なんかは、通信途絶したらどうしようと冷や汗もので設定した。多分、通信途絶しても、VPS管理画面のコンソールだけは使えるだろうから大丈夫だとは思うけど。

後は、irc.noizumi.org のSoftEther vpnserverをアップデートすればいいけど、Intel x64版をダウンロードして、vpn_server.configコピーするだけだからすぐ済むな 🙂

停電

朝停電があったが、クーラー停止、電話器が「電話回線に接続してください」連呼、SoftEther VPNの接続不良と散々だった。

姉が押し付けて来た SANYOのコードレス電話だが、電話回線休止状態なので、接続する事ができず、デモモードになって延々と保留音のレパートリーを披露してくれる状態。

取説探したけど無いので、別の機種の取説見ると、電話回線のトーン、パルスの手動設定方法は無いようなので、電源ブチ切り。内線だけ使ってたけど、別の手段にしなくてはならない。

SoftEther VPN はServer Manager で見てみると、Kagoya VPSへ接続されているが、ローカルネットで設定した 192.168.30.254 やL3スイッチに設定している、192.168.11.253、192.168.30.253 へ ping が通らない。

家のサーバーリブートしても直らない。

とやったら直った。うーん……、何だったんだろう。

Raspberry Pi Zero 2 Wこうにう2

KSYで単品が売ってたので、こうにう。

2,915円+送料550円=3,465円。

カメラのソケットが壊れてるので、ソケットを直そうとすると、2,000円位掛かるので、それなら新品の方が手っ取り早い。

SDカード運用なので、カードの差し替えでOKだから楽でいい 🙂

【irc.noizumi.org】AAAAレコード設定

XSERVERの案内メールで、AAAAレコードが設定できるとあったので、irc.noizumi.org の設定をやった。

とは言え、わしの家の環境はIPv4なので、ping 打っても応答しない。

一応、nslookup だと IPv6のアドレス表示されるので、ちゃんと設定されてるっぽいな。

【Raspberry Pi Zero 2 W】bluetooth ヘッドフォン接続不良

Raspberry Pi Zero 2 Wで以前、bluetooth ヘッドフォンを接続していたが、10→11にアップデートしてからは、接続が安定しない。

そういや、10の時に、sap server がどーたらで何か設定を変更した憶えがある。
次のページに解決法が書いてあったので実施。

情報源: Raspberry Pi 4のBluetoothから音を鳴らす呪い | hixの日記 | スラド

確か前にこういう設定をした憶えがあったけど、このブログに記録がねーんだよなあ。

bluetoothd を再起動して、接続テストしたら、切断されず、接続が維持できた。

bluetooth ヘッドフォンの接続をトリガーに、rx7pi の動体検知や、GPSの位置チェックを止めるという処理をしていたが、これで万事OK 🙂