自作ドラレコとして車載したラズパイを安全にシャットダウンする方法として以前UPS PIcoを紹介しましたが、今現在はドラレコとしては運用しておらず、もっぱら車載ルーターとして使用しています。そもそも高温になりやすい車でバッテリーを内蔵したUPSを使用するのはやっぱり不安なので…
それはさておき車載ルーターとした理由について。SIMフリーのホームルーターはいくつも所有していますしこれらを車載するほうがスタンダードな方法ではありますが、ホームルーターは本体やACアダプターがかさばって設置場所に困るんですよね。ラズパイとUSBモデムを組み合わせたほうが圧倒的にコンパクトで、ドラレコとしての運用を止めても車載ルーターとして活躍してくれています。
ちなみにアイキャッチ画像は分かりやすいようにダッシュボード上に置いてますが、実際はグローブボックスに放り込んでいますよ。
ドラレコとして使用しないのであれば高性能なRaspberry Pi 3Bや4Bなどを採用する必要性は薄れてきますし、UPSも使わずに小型のRaspberry Pi Zero WHで済ませたいところです。
そこでUPSを使わずにラズパイを安全にシャットダウンするために、今度はROM化して運用してみることにしました。
ラズパイの電源をアクセサリーソケットから取る場合の注意点
ラズパイはUSBから電源を取れるので、車載する場合もアクセサリーソケットから簡単に電源を取り出すことが可能です。
しかし何の工夫もしないと、エンジンを止めると同時にラズパイの電源がぶつ切りされてしまいます。シャットダウンせずに強制的に電源を落としてしまうため、このような使い方を続けているとシステムの破損などを引き起こしてしまうかもしれません。データの書き込み中に電源を落としたりしたら最悪一発で壊れます。
そこで今回はROM化によって対策することにしてみました。
ROM化でシステムファイルを保護する
ROM化とは、MemoryをRead Onlyな状態にすること。MicroSDカードへの書き込みが禁止されるので、いつ電源をぶつ切りしてもシステムファイルの壊れようがなくなります。
ドラレコとして運用する場合は、録画した動画データの書き込みが常時行われるので採用が難しい方法でしたが、モバイルWi-Fiルーターとして運用するならROM化で十分でしょう。
そういうわけでROM化したラズパイが壊れることなく実用に耐えられるのか、実際に確かめてみました。
ラズパイをROM化する方法
現行のRaspberry Pi OSだとraspi-configから簡単にROM化することが可能です。
以下の記事で紹介されているコマンドを打っただけですが、この方法でROM化した状態でも問題なくモバイルWi-Fiルーターとして運用できています。
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9UmFzcGJlcnJ5JTIwUGklMjBPUyVFMyU4MSVBRXJvb3RmcyUyMFJPTSUyMCVFNSU4QyU5NiUyMCVFMiU4MCU5NSUyMFJBTSVFMyU4MyU4NyVFMyU4MiVBMyVFMyU4MiVCOSVFMyU4MiVBRiVFNSU4QyU5NiVFMyU4MSU5NyVFMyU4MSVBNCVFMyU4MSVBNCVFMyU4MCU4MSVFNSVBNSVCRCVFMyU4MSU4RCVFMyU4MSVBQSVFMyU4MyU5MSVFMyU4MyU4MyVFMyU4MiVCMSVFMyU4MyVCQyVFMyU4MiVCOCVFMyU4MiU5MiVFNSVCRSU4QyVFMyU4MSU4QiVFMyU4MiU4OSVFOCVCRiVCRCVFNSU4QSVBMCVFMyU4MSU5OSVFMyU4MiU4QiVFNiU5NiVCOSVFNiVCMyU5NSZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9YzI1YTY5YWIzN2RmYTdhZmYxZDhiODYwNTBlNDI2NmM&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBtYTJzaGl0YSZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9YWNiZjJjOTE5OGM5YTBkYmJlNzEzNmM5MGFkNGQzZjM&blend-x=142&blend-y=436&blend-mode=normal&txt64=aW4gSW9UTFQ&txt-width=770&txt-clip=end%2Cellipsis&txt-color=%23212121&txt-font=Hiragino%20Sans%20W6&txt-size=36&txt-x=156&txt-y=536&s=bc8d13bab03f76acbd890dea6e6654e3)
読み取り専用にするコマンド
そのROM化するコマンドがこちら。再起動するとデータの書き込みが不可能になり、読み取り専用となります。
$ sudo raspi-config nonint enable_overlayfs $ sudo systemctl reboot
書き込み可能に戻すコマンド
なおROM化したままだとAPN情報の書き換えなども不可能なので、データを書き換えたくなった場合は以下のコマンドを打って再起動しましょう。書き込みが可能な状態に戻ります。
$ sudo raspi-config nonint disable_overlayfs $ sudo systemctl reboot
ラズパイをROM化してしばらく運用してみた感想
ROM化した時期を正確には覚えていませんが、まあ半年は経ったかと思います。毎日必ず運転しているわけではありませんが、1回出掛けるだけで最低でも2回はぶつ切りしていることになるので、ざっくり300~500回くらいはぶつ切りしたはずです。
それだけぶつ切りしても、まったく問題なく動作し続けています。
今になって軽く調べてみましたが、もっと試行回数をこなしている方によると1,000回ぶつ切りしても平気なようです。
流石に数か月で壊れるようなら考え物ですが、今のところトラブルは1度も起きていませんし、ROM化するだけでも十分ラズパイを保護できそうですね。
というわけでドラレコとしての運用を再開しない限りは、UPSも使わずにROM化だけしておけば良いかなあと思っています。
余談ですが、回線について今までは適当に余っているSIMカードを挿していたのを、先日からOCNモバイルONEで運用することにしました。Amazon MusicやSpotifyでギガを消費しなくなるMUSICカウントフリー機能が月額550円から利用できるので、Echo Dotを車載して音楽を効くのに最適です。もう新規受付は終了してしまいましたけどね。。
安全にシャットダウンするための他の方法
モバイルWi-Fiルーターのような作ってしまえば後は放置でOKなものであればROM化でも良いかと思いますが、ROM化すると不都合な場合もあるでしょう。
車載する場合はACC電源をトリガーとする遅延リレーを利用すれば、ROM化せずとも安全に自動シャットダウンさせることが可能です。もちろん起動もエンジンONに連動します。
ラズパイでドラレコやカーナビを自作するのであれば、こちらのほうが適しているかもしれません。
まとめ
ラズパイをモバイルWi-Fiルーターとして運用する場合、電源のぶつ切り対策はROM化で十分そうです。
UPSとは違って電源の瞬断対策にはなりませんが、システムファイルを保護するだけならROM化で問題ないでしょう。
コメント