【Raspberry Pi zero 2 W】SMS送信

車載警報装置が発報したら、メールで携帯電話に通知するようにしてあるが、メールだと、携帯電話の省電力機能のせいで、10分位遅れる事もある。

そこで、SMSも送信する事にした。
使うのは、twilio で、1通あたり、$0.08(約11.53円)。

ログインして、コンソールを見ると、チュートリアルで、簡単にSMSが送れるようになっている。

ステップ1で、twilio 番号(米国の電話番号)を取得して、linux で端末開いて、curl でサンプルコードを実行したら、携帯電話にSMSが届いた。

トライアルアカウントで、約2,000円位のお金がチャージされていて、使う事ができるので、これだけでイケるんじゃね? と思ったら、30日以上使用されていない場合に電話番号が削除される可能性があるそうな。

警報発報なんて、年に1回、あるかないかなので、無料で使い続けるのは難しそうで、アップグレード(最低2,000円〜)して正式なアカウントにしたら大丈夫のようだが、良いサービスなので、金払ってもいいな。

そして、RX-7に積んでいる Raspberry Pi zero 2 W のプログラムをSMS送信するように更新。

家のネットワーク構成図2

何かもう色々設定したので、忘れないように防備録(笑)

家とKagoya VPSで、SoftEther によるVPNを構築していて、最近、移動体のRaspberry Pi zero 2 W(以下ラズパイ)を WireGuard によるVPNを追加した。

SoftEther のVPNは、仮想HUBに接続するという概念なので、例えば、Kagoya VPSの192.168.11.0/24 の仮想HUBに接続すると、家のBUFFALOルータから、DHCP でIPアドレスが払い出され、さも家のネットワークに接続したかの様にネット接続できる。

ただ、この場合、インターネットへの経路が、端末→Kagoya VPS→家→インターネット となるので、特別な理由が無ければ、家の 192.168.11.0/24 の仮想HUBに接続した方が良い。

そもそも、こういう VPSに接続できる方法にしたのは、今は亡き(笑)楽天モバイルによる家のネットワーク回線置き換えを考えていたから。

移動体通信の場合、固定IPアドレスが払い出される訳でなく、携帯電話通信網のプライベートIPアドレスで接続し、携帯電話会社のゲートウェイからインターネットへ出るという経路となり、外からの直接アクセスが不可能になる。

その為、インターネットで VPSの固定のIPアドレスがあれば、家からそこへ接続して、端末はVPSを経由すれば、携帯電話会社のファイヤーウォールを越えて家のネットワークへ接続する事ができる。

RX-7に搭載しているラズパイも、donedone 128kbps SIMを挿した携帯電話にUSBテザリングで接続していて、これも、携帯電話のファイヤーウォールにより、外から直接アクセスできない。

そこで、WireGuard というVPNで、家のサーバーに接続し、家のサーバー経由で、携帯電話会社のファイヤーウォールを越えて、ラズパイへアクセス可能としている。

SoftEther にする事も考えたが、ラズパイにとっては結構負荷が大きく、負荷が大きい=消費電力の増大という事で、車のバッテリにはよろしくない為、負荷の軽い WireGuardにした。

携帯電話のUSBテザリングは、省電力機能のせいで、一定期間通信をしないと沈黙してしまうので、ラズパイで、10分毎に家のサーバーへ ping を打つようにすると、経路が復活し、外からアクセス可能になるようにしている。

こうして、VPN網を構築すると、IoTで色々な機器を接続して、それに指令を送る事が容易になるので、VPNのソフトウェア開発者には感謝ですなあ。

家のネットワーク構成図

【Raspberry Pi zero 2 W】カメラこうにう

Amazon で 999円のカメラ買って、リボンケーブルを Raspberry Pi zero 2 Wに接続

sudo raspi-config して、3.Interfaces Option > P1 Camera > はい で設定完了

車の警報装置が作動したら、motion で動体検知やろうと思って、alarm_monitor.sh に motion 起動のプログラムを追加。

前回から変わったのが次のコード。

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

スマートフォンにUSBテザリングしていて、省電力モードのせいで、Raspberry Pi zero 2 Wから通信を発信してないと、外からVPNで接続できないので、10分毎に ping を打ってる。

その時に、motion が起動していたら、動体検知動画を家のサーバーに転送して元のファイルは消すようにプログラムを組んだ。

家では、サーバーの Web を見れば、動画が閲覧できる状態。

だが、車にカメラを設置してみると、次の状態。

リボンケーブル短いのと、電源の関係上、こんな感じでしか設置できない。

それにカメラ基盤むき出しだし、いつ、カメラ部品が剥がれるのか気が気じゃない。

長いリボンケーブルと、カメラケース欲しいなあと Amazon を物色してたら

同じ値段でカメラモジュールもついてて、まんまの奴あるやんけ!!

【追記】よーく見たら、ケーブルが30mm!? 説明文には、15cmって書いてあるな。騙されたでござる

しかし、ケースついてるから注文はキャンセルしないでおこう【/追記】

単体で、長いリボンケーブルとケースを個別に買うより、こっちの方が安いので即ポチった。

カメラ2台になっちゃったけど、家のサーバーに接続して、部屋のソーラー発電で火が出てないか監視するのに使ってもいいな。

【追記】

仕方ないので30cmのリボンケーブルを追加購入したでござる。

【/追記】

車載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】

【RX-7】全塗装の請求来た

おねだん 1,498,000円ナリ(笑)

何か、塗装してしまいかと思いきや、様々な部品が交換されてて、「【関西マツダ】FD3S、新車に戻します」みたいになっとった(苦笑)

ナンバープレートは、前をぶつけてちょっと曲がってたからいいとして、リヤーサイドランプとか、バックランプレンズとか、前後エンブレムとか、SPIRIT Rエンブレムとか、新品にする必要があったんかちょっと疑問やな。

RX-7帰還

まあ、マットブラック塗装に気合入れてたり、方向性は「新車に戻す」だわな。

作業内容・使用部品名 作業区分 技術料 部品数量 部品単価 部品金額
板金塗装 一般
外装全塗装 600,000
小物パーツ、及びスポイラー、F.Rバンパー塗装 130,000
マッドブラック塗装、F.Rスポイラー、ワイパー、小物パーツ 50,000
下部部分アンダーコート塗装 26,000
部品脱着分解組付作業一式 140,000
板金作業8か所 64,000
各部錆修正及び防錆、左右ホイールエプロン、左右ドアー、左右フロントフェンダー、リヤーエンドパネル 63,000
被膜剥離、ボンネット、ルーフパネル 50,000
表層剥離、左右損面6面、旧パテ下地打ち直し、フロントバンパー、リヤーバンパー 116,000
材料代 部品 1.00 147,000 147,000
フロントガラス脱着 16,800
接着剤 部品 1.00 5,400 5,400
ダムラバー 部品 2.00 1,280 2,560
アッパーファスナー 部品 1.00 890 890
TVフィルムアンテナ張替 3,000
アンテナ 部品 2.00 3,200 6,400
リヤーガラス脱着 16,400
接着剤 部品 1.00 5,300 5,300
フェンダーライナー左右 部品 2.00 18,100 36,200
ライナークリップ 部品 2.00 100 200
リベット 部品 6.00 190 1,140
スクリュ 部品 4.00 90 360
ファスナー 部品 2.00 125 250
キャップ カウル 部品 2.00 190 380
キャップ カウル 部品 6.00 180 1,080
Fガラスモール 部品 1.00 4,790 4,790
Rガラスモール 部品 1.00 8,960 8,960
ウェッジ リフトゲート 部品 2.00 2,180 4,360
ブラインドリベット バンパー 部品 15.00 130 1,950
バンパ リテーナ 部品 4.00 140 560
ナット バンパ 部品 8.00 140 1,120
ボルト バンパ 部品 4.00 190 760
ナット スポイラー 部品 4.00 140 560
ボルト スポイラー 部品 4.00 190 760
ナットスプリング Rバンパ 部品 2.00 105 210
ナット エアーダムスプリング 部品 7.00 125 875
スクリュ タッピング 部品 7.00 75 525
バックランプレンズ左右 部品 2.00 3,410 6,820
ドアーウインドモール左右 部品 2.00 11,470 22,940
ドアーベルトモール 部品 2.00 10,520 21,040
エンブレム 部品 2.00 4,510 9,020
ボルト スポイラー 部品 5.00 145 725
Fエンブレム 部品 1.00 2,620 2,620
Rエンブレム 部品 1.00 2,370 2,370
フェンダーパネルエンブレム 部品 2.00 5,000 10,000
ナットスピード エンブレム 部品 4.00 70 280
ダクトエアー パイプ 部品 1.00 8,820 8,820
Fライナークリップ 部品 14.00 100 1,400
ボンネットクッション 部品 2.00 280 560
ボンネットクッション 部品 2.00 680 1,360
カバー 部品 12.00 140 1,680
ボルト 部品 2.00 145 290
ボルト 部品 2.00 295 590
ドアートリムボードクリップ 部品 20.00 125 2,500
ファスナー ボンネット 部品 13.00 140 1,820
カウルパネル 部品 1.00 29,630 29,630
リヤーサイドランプ左右 部品 2.00 5,820 11,640
スピードナット 部品 10.00 70 700
グリルカバー 部品 3.00 190 570
G’z soxガラスコート 51,200
ナンバープレート同一再交付 5,000
工賃特別値引 -340,706

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の車載警報装置は、docomo の平型イヤホンマイクコネクタが出ていて、それを携帯電話に繋いで、発報時に電話を掛けてくれるようになっている。

しかし、docomoの3Gは皇紀2686年3末に終了しちゃうから使えなくなるので、平型端子の信号をRaspberry PiのGPIOに拾わせて、donedone SIM(維持費無料)でメール送れないかなと考えている。

イヤホンマイク平型端子のパーツ取り用としてラスタバナナの変換アダプタをRB8VC02をこうにう

早速バラしてみたが……

これ、無理じゃね?

上のソケットだけど、みっちり10ピン並んでて、とてもピンに半田付けして配線できそうにない。


平型端子のピンアサインがこうなってるけど、ラスタバナナの変換コネクタでは、8番が繋がってないみたいなんだよなあ。

SH-03Cに繋いでテストしてみたけど、ちゃんとイヤホンマイクのスイッチは反応するし、7番や9番のピンが配線されてて、ピンアサインの表が間違ってんじゃねーの?

【追記】
イヤホンマイクのプラグを分解して調べてみたが、どうやら、ラスタバナナの変換コネクタの基盤に刻印されてるピン番号が逆だな。

ピンアサイン表が、コネクタじゃなくてプラグのピン配列を表しているとすると、左から3番めが8番なので、基盤に配線がある。

ただ、1番のGNDが配線されてなくて、10番の予約に配線されてて、それがGNDくさい配線になってるのが気になるな。

【/追記】

これは、警報装置の平型コネクタ分解して配線確認して、線を取り出して、Raspberry PiのGPIOに繋ぐしかねーな。

情報源: 遠隔操作付盗難防止GPSユニット MV790GJ GPS – 株式会社ZEST 公式オンラインストア

あと、今の警報装置の発報時のメールは諦めて、こいつを使うって手もあるけど、docomo系SIM限定で、au系のdonedoneは無理っぽいから、通信維持費が掛かるのが難点だな。

【RX-7】またもや代車生活

ふと気付くと、マフラーカッターが無くなっていた。

2本出しの右側のカバーの様なものが無くなっている。

ちなみに、RX-7は車高が低いので、車輪止めまで後退させると、マフラーのタイコをゴリゴリやってしまう可能性が高いので、うまく手前に停めないといけない。わしは一度もゴリゴリした事無いけどね。 🙂

前回マフラー交換した時は、管が腐ってマフラーカッターが2つ共脱落した状態で気づいたが、今回は管が特に腐食してる風でもなく、恐らく、マフラーカッター側の留め具が腐って脱落したのかな?

純正品ではマフラーカッターの部品が無く、マフラー交換になってしまうので、社外品外付けのマフラーカッターを付けようと思い、マフラーの寸法を計ってもらう為に会社帰りに車屋へ寄った。

計って貰ったけど、そこでオイル漏れが発覚。
修理の為、即入院で、また代車生活 🙁

マフラーも詳しくチェックすると、結構腐食が進行してたので、新品へ交換する事にした。

オイルシール交換で油漏れは止まったそうだが、他にエンジン部分もオイルが漏れていて、エンジンオイルシール交換になるそうだ。

全塗装の他に修理代があと20万円位かかりそう 🙁

まあ、20年落ちだからしょうがないね 🙂