Raspberry Pi Zero 2 WによるGPSビーコンの消費リソース最小化

前記事でRaspberry Pi Zero 2 Wを使ったGPSビーコン(現在位置を定期的にサーバーに送信する追跡デバイス)を自作した際、ChatGPTさんのアドバイスを元にメモリや消費電力周りを最適化したので覚え書き。OSレベルというか、自作スクリプトと関係ない情報なので別記事にしておきます。

■ROM化

microSDカードのようなフラッシュメモリは書き込み回数により劣化が進むので、通常運用時は書き込みをしないようにします。現在のRaspberry OS 12系はBookwormという世代のDebianベースで、Overlay File Sytemというのを有効化するだけで、メモリ上に仮想ストレージを生成してログなどは全てそちらに書き込み、電源オフですべて消える、という形になります。電源投入毎に真っ新な状態から始まるので、ログが溢れるとかもないし、SDカードの劣化も抑えられるので長期放置運用にはもってこいです。

設定は標準設定コマンドraspi-configで簡単に行えます。

「Performance Options」→「Overlay File Systemなんちゃら」でYesで有効化、Noで無効化。続けてbootパーティションも無効化にするか聞かれ、raspi-config終了時に再起動を促されます。

色々設定を変更する時は無効化し、終わったら有効化するのを忘れずに!(有効化したまま設定変更しても再起動で戻ってしまいます)。

現在の状態確認は、

として、「overlay on / type overlay (rw,relatime,lowerdir=…,upperdir=…,workdir=…)」みたいなのが出れば有効、なにも出なければ無効です。

■リソースチェック法

諸々最適化を図る前に数値を取って効果検証します。

メモリ使用量

で現在のメモリ総量、残量、スワップ使用状況などが確認できます。

今回の場合、スタート状態はこんな感じでした。Pi Zero2はメインメモリ512MBですが、GPUメモリに初期状態で64MB割り当てられて目減りしていました。実質の残量が267Mi、スワップがわずか(2.8Mi)に使用されています。最終的にスワップ無効化までもっていきたい。

CPU温度

とするとSoC(CPU)温度が出力されます。初期状態で60℃ほどでした。公式の推奨動作温度範囲は0~ 85℃で80℃程度からサーマルスロットリング発動するぽい。まだまだ安全圏ですが、これは室内での数値なので、車内に隠蔽設置した際は夏の気温や暖房の影響で更に上がる可能性もあります。できるだけ下げておきたいところ。

■やったこと

[予習] config.txtの編集方法

以下の設定のいくつかは/boot/firmware/config.txtを編集することで行います。通常は/bootパーティションはro(read only)でマウントされているので、シェルから直接編集はできません。mountコマンドでrwで再マウントするなども可能ではあるんですが、今回はmicroSDをPCにマウントしてルートディレクトリにあるconfig.txtをエディタで編集しました。

GPUメモリ割当を減らす(64GB → 16GB)

現在の割り当ての確認は、

です。64GBでしたが、GPSロガーではXのようなGUIは使わないので余剰に割り当てされていると言えます。最低の16GBに変更しました。なお実際の使用量をリアルタイムで確認するのはGUIツールが必要っぽいので本末転倒なので断念。どのみち使わなければ発熱にはさほど影響しませんが、メモリをがっつり取り返せるので効果は大きいと思います。

config.txtの[all]セクション辺りに、

と書きます。

動作クロックを制限する(1.2GHz → 1.0GHz)

発熱を抑える施策です。config.txtの「arm_boost=1」の箇所を「arm_boost=0」に書き換えます。

不要なデバイスを無効化する

該当箇所を探してコメントアウト(行頭に#をつける)していきます。

Bluetoothの無効化

いっさい使わないので無効化します。これはコメントアウトではなく、行を追加します。

LEDを無効化

ボード上のLEDを無効化します。どうせ見えないところに隠すし、光ってない方が見付かりにくいでしょう。ただし今回装着したGPSモジュールHAT上のLEDは消えないので気休め程度です。消費電力が1~2mA(全体の1~2%程度)減らせるようです。

これもconfig.txtの[all]ブロックに追加します。

Wi-Fiのパワーセーブを無効化

これは逆に消費電力を増やす措置ですが、通信を安定かさせるためにやってみました。GPSロガーでは一定時間毎にサーバーに現在位置情報を送信しますが、システムが一定時間通信がないとWi-Fiを節電モードにしてしまい、復帰に数秒かかってしまうことがあるということで、それを無効化(=省電力しない)。

現状確認

で、「Power save: off」とか「Power save: on」とか出ます。

オフにするのは、

ですが、システム起動時に自動実行するためには少し操作が必要です。色々方法はありそうですが、とりあえずChatGPTさんに聞いたやり方。

/etc/rc.localに記述。今回は存在していなかったので新規作成しました。

最初と最後の行も必須です。ファイルを作ったら実行可能フラグつけます。

次に、/etc/systemd/system/rc-local.serviceを以下の内容で作成します。

そしてサービスとして登録。

これで起動の度に無効化されるはずなので、念のため「iw dev wlan0 get power_save」してみましょう。

■ログインメッセージを省略

システムリソースへの影響はほぼないですが、デフォルトのログインメッセージ の「The programs included with the Debian GNU/Linux system are free software;~」みたいな10行くらいの英文がうっとうしいので削除しました。/etc/motdの内容が差し込まれるので、これを空にします(削除ではなく中身を消す)。

■スワップを無効化

あれこれいじったおかげで、メモリ総量が50Miほど増えて、スワップ使用量が0にできました。

残量も300Mi以上あるのでスワップを無効化してよさそうです。

sudo nano /etc/dphys-swapfileをエディタで編集し、「CONF_SWAPSIZE=0」とします(最初は512とかだった)。その後、

とします。free -hを実行して、Swapの行がすべて0になっていれば完了です。

■成果確認

諸々の設定を施して、

  • メモリ総量: 416Mi→ 464Miに増加
  • メモリ残量: 267Mi → 308Miに増加
  • スワップ使用量: 2.8Mi → 0Miでスワップを無効化
  • 温度: 60℃超え → 48℃程度に低下

という最適化ができました。消費電力としては測れてないですが、温度が10℃以上下がったのは達成感あります。

ASSAドア用Sesame固定プレートのマグネット対応

ASSAアブロイの木製ドアに粘着両面テープを使わずにスマートロックSesameシリーズを取り付けるプレートを3Dプリンターで自作してきました。

同社製ドアをお使いで同じお悩みを持つ方からもちょくちょく頒布依頼を受けたりしてきましたが、今回ふと思いついてマグネット固定Verを製作しました。

Sesameは少し前から鉄製ドアに取り付けるためのマグネット「SESAMEマグネット」を販売しています。見た目普通の直径20mmの円形マグネットですが、Sesame本体側に影響しないよう片側は磁力を遮断するカバーがついています。つまりこのマグネットのカバー側をSesame本体につけて、ドア側の鉄板にくっつけるという構成です。

またSesame製品汎用となっており、5つのうち4つとか2つを使って自分で適当に貼って使う形です。本体底面の粘着テープを利用する想定なのか、マグネットには粘着テープはついてきません。

今回はこれを活用して固定プレートにもマグネット装着を可能にしようという試みです。ちょっとしたメンテナンスやうっかり体当たりしてもぎ取れてしまった時など、マグネットであればすぐにつけることができます。

設計としては単純に従来の固定プレートに直径20mmの凹みをつけただけです。

背面の反り防止スリットに到達して貫通してしまってますが、これはこれでもし鉄板を取り外したくなった場合に後ろからマイナスドライバーなどをつっこめて便利かなと残してあります。

用意した部材はSESAMEマグネットに加えて、以下。

まずSESAMEマグネットをSesame本体に貼るための両面テープ。

本体付属の底面全体の両面テープだとマグネット以外の部分に粘着面が露出しホコリなどが付きそうなので、SESAMEマグネットとピッタリ同サイズのものをチョイス。こちらは10mm径と20mm径がセットになってしまってますが、厚みや耐水、耐熱仕様であることを重視しました。

そして固定プレート側に埋め込む鉄板。両面テープ付き。

もっと安いものも買ってみたんですが「マグネット用」とあるくせに全然磁石がつかずに返品。信頼性が高そうなこちらにしました。

■使用方法

最初にSesame本体にマグネットをはる位置決めテンプレートとして使用します。

マグネットをカバー面を上にしてセット。

その上に両面テープを貼っていきます。

剥離紙をはがしてSesame本体を上から押さえつけます。しっかり貼り付けた後で引き抜くと本体側はできあがり。

再び凹みが空いた固定プレートに今度は鉄板4枚を貼り付けます。

完成!

鉄板が1mm厚と薄いのでしっかり吸着するか心配でしたが、普通に使う分には問題ないくらいガッチリつきます。逆に体当たりしてしまった時に外れてくれる方が安全かなと。まさにMagSafe。

穴の深さが2mm、鉄板が0.4mm厚、粘着テープが1mm厚なので、0.6mmの段差が残るので、SESAMEマグネットがバチっと固定位置にハマってズレることもありません。

壁につけた様子。

逆に一度位置決めしてしまうと動かせないのは粘着テープ固定とかわらないですが、簡単に脱着できる点は自分のようにちょいちょい付け外しして採寸したり自作アクセサリのマッチングとったりする人間には便利です。まぁ、普通の使う分にはそうそう脱着の必要はないと思いますがw。

■頒布情報

とりあえずバッテリー左配置のだけ作りましたが、他のパターンやSesame 5 Pro用も簡単に作れると思うので、希望があったのから作っていこうかなと思います。

SESAMEマグネット以外の部材(両面テープ、鉄板)も余ってるので、必要数同梱して1,500円とかでしょうか(通常版が1,000円、送料、税別)。

ご関心お持ちであればこちらのフォームからお問い合わせください。

eufy SoloCam HomeBase S380追加、カメラS340も買い増し、ポールマウントDIY

数日前に導入したばかりのeufyのセキュリティカメラSoloCam S340がなかなか良かったので、同じセール期間中に追加購入をしました。S340の記事はこちら。

追加したのはHomeBaseのS380とSoloCam S340をもう一台です。

■HomeBase S380

こちらはeufyのカメラシリーズの録画データを保存/処理する家庭用サーバーデバイスです。カメラ単体だと内蔵ストレージに保存しますが、宅内にS380を設置してペアリングしておくとS380側のストレージ(内蔵16GBまたは増設した2.5inch HDD/SSD)に保存されるようになります。万一カメラを持ち去られてもその瞬間の映像までは残る(盗まれにくい)ということになります。

またスタンドアローンのカメラでもエッジAIで「人間」「車両」といった識別はしますが、S380だと更に一歩進んで顔認識で人物を識別できます。

そして3つ目の利点として、AI処理を電源の心配がないHomeBaseが肩代わりすることで、カメラ側のバッテリー消費が抑えられるとのことです。

実際、S340をほぼ満充電にして屋外設置したところ曇天の1日だけで20%台まで残量が減ってしまいました。買ったばかりで嬉しくてちょくちょくストリーミングしたりPTZ操作をしたりしていたというのもあるかも知れませんが、いくらなんでも「ソーラー充電できなくても3ヶ月保つ」気はまったくしません。余計な部分で動体検知しないよう範囲を絞るなどしてはみたんですか。あとはまぁ録画解像度が3Kなのは電池喰いかもは知れません。でもまぁ録画解像度が高ければ後で拡大して人物の顔まで判別できたりするかもなので、ここは極力譲りたくないところです。そんな感じだったので、少しでもカメラの動作時間を延ばせればというのがHomeBase導入の大きな理由です。

カメラとHomeBaseは専用SSID接続のみ?

セッテイングして気付いたというか「ほんとに!?」と思ったのは、カメラとHomeBaseは専用SSIDでの通信になるという点。自宅Wi-Fiの設定は上書きされます。これだと例えばせっかく自宅Wi-Fiを有線バックボーンで張り巡らせていても活用できず、カメラとHomeBaseの物理距離や障害物次第で通信が不安定になってしまうということです。とても残念、というかどうしてこんな仕様にしたんでしょうね?常にHomeBase側でAI処理をするということはストリーミングしっぱなしということになるので、自宅Wi-Fiの帯域を食い潰さないようにとの配慮でしょうか?とはいえどうせ当該周波数帯が混むことには変わりない気もします。今回の設置位置は2台のS340カメラとHomeBaseの位置関係が近いので実害はなさそうですが、これが例えば家の端から端みたいな配置だったらどうなんだろ?と言うところは気になりました。

またHomeBaseとのペアリングに切り替えると、設定がリセットされたりそれまでの録画が閲覧不能になります。削除はされないようですが再び自宅Wi-Fi接続に戻すまでは閲覧ができなくなる旨のメッセージが出てました。同期くらいしてくれと思わなくもないですが、やはりこれも常時ストリーミングをする傍らで並行でできるようなものでもないのかも知れません。

ペアリング操作手順自体はこなれていてそれほどつまった箇所はなかったように思います。「いやいや既存Wi-Fi経由でつなげられないわけはないよね??」と思ってあちこちいじりまくったのはありますが。

せっかくなので2.5inch HDDどこかに転がってるはずのを発掘して入れてみようかな。

S340カメラのおかわりと円柱雨樋用マウンター作成(3Dプリント)

同居人が別のアングルも見えるようにしたいということでもう一台パンチルトのS340を買いました。カメラ自体のレビューは前記事にありますのでそちらをご覧ください。

1台目はベランダの手すり部分にマウントしましたが、今回はもう少し地上に近い位置への取り付けだったので目を付けたのが雨樋(あまどい)の縦樋部分です。薄い樹脂でできてますが、結構劣化して思い切り握ったら壊れそうな気配もありますが、そこくらいしかつけられそうにない。自分でポールを立てるのも大変だし。

こういう円柱ポールに固定する時は大概ステンレスバンドみたいなネジで締め付ける金属ベルトみたいなものが使われると思うのですが、S340には付属していませんでした(オプションにもないと思う)。そこで雨樋の径を測って例によって3DプリンターでDIYです。

ステンレスバンドは汎用品をAmazonで購入しました。雨樋の直径が5cmくらいだったので、こちらの46-70mmの範囲に対応したものをチョイス。2個で良かったんだけどまぁそう高くもないからヨシ。

全体像はこんな感じ。

わかりにくいですが、右側の少しベージュがかった部分が3Dプリント品です。前回同様インサートナットでM4のボルトを受けるようにして固定しています。ブラケットとカメラが外せるので、ボルトはつけっぱなしでカメラの脱着は可能です。

ステンレスバンド周りはこんな感じ。

三日月状の部分が我が家の雨樋にピッタリ合うようになっていて、ステンレスバンドの締め付けを半分は引き受ける感じ。もう一回り大きいリングにして全周で締め付ける方が雨樋を壊しにくいかなとも思ったんですが、まずはこんな形で。材料は白の在庫があったBambuのPETG-Basic。ちょうどPETG-HFがセールで劇安なので白も注文したところでしたが、逆に半端に残ってるのを使い切りたくて。PLAよりは熱耐性があるし白だし反りにくい箇所もないのでこれでいけるんじゃないかと期待。

あとは締め付けが甘いと下にズリ落ちていかないか心配ですが、とりあえずは雨樋側の壁に固定しているアンカーのところに載せる形でいいかな。

その出来、有料級!?

実際に取り付けた様子がこちら。

どうよ。バッチリでしょう(ご満悦)。目論見通り壁に固定するアンカー(?)に載せる形にしたので、ここよりズリ落ちてくることはないです。ステンレスバンドによる締め付けもドライバーで微調整できるので、雨樋を割ることなくいい感じに固定できてると思います。なにか滑り止めのシートでも挟んだ方がいいかとも思ってたんですが、いまんとこ回ってしまう様子もなさそう。

あとはPETG Basicの耐候性次第ではありますが、近いうちにUVカットスプレーを買って吹いておこうかなと。樹脂に吹くなら模型用のこういうのかな?どれくらい保つかわかりませんが。

いやぁこれはニヤニヤしてしまいます。3Dプリントの醍醐味ですね。

ちなみに雨樋の縦樋の規格としては直径で60mmと75mmが一般的なようです。こちらの情報によるとメーカーでコンマ何mmの誤差はあるようですが。しかし何故か我が家のは実測でΦ54.4mmでした。経年で痩せた?んなこたないか。まぁそこは簡単に調整できると思うので、雨樋以外のポールの場合も含め、他の外径のリクエストもあれば対応は可能だと思います。もしご興味ありましたらコメントにてお知らせください。

  • 金属埋め込みナット
  • M4ボルト
  • (少し余ってるのでご希望なら)ステンレスバンド

もセットでご提案できると思います。

[3Dプリント] AirTag/TimeCapsuleをドアポケットに隠す底上げパネル

先日導入したこちらのTimeCapsuleをクルマのどこに忍ばせようと思った時に、ふと思いついたので作って見ました。クラウンの後席ドアポケットを上げ底して底に仕込むパネルです。

画像はひっくり返した底側。

TimeCapsuleまたは裸のAirTagをはめ込んで、裏返して運転席側ドアポケットに仕込みます。あえて下側は足をつけていないのは、取り出す時にこちら側を指で押してシーソーのように反対側を浮かせるためです。

TimeCapsuleを取り付けた状態がこちら。

右は型取りに使った下記のポケット用滑り止めマットです。

いい感じに接着不要でぴっちりはまりました。逆さにして振っても抜けません。またTimeCapsuleにできれば入れないでほしかったロゴの面を上にして入れれば一応隠せます。

TimeCapsuleまたはAirTagの厚みの分だけ深さが浅くなるわけですが、パっと見では気付かれないのではないかと。特にウチはこういう滑り止めシートを上に敷いているので、見た目では他のドアのポケットと違いがわかりません。

TimeCapsuleを使わずに素のAirTagだけを入れた場合は、高さは更に低くなり目立ちにくいと思います。取り出すためにリングに切り欠きを入れてみました。

いずれにせよ窃盗団に「トラッカー検出(Tracker Detect)」アプリ(Appleが悪用されないようAndroid向けにリリースしているAirTag検索アプリ)で車内にあることに気付いて音を鳴らされたら見付かっちゃうかもですが。

「トラッカー検出」アプリの動作の様子はGIGAZINEの記事が詳しいです。

  • 持ち主のAppleデバイスから離れて15分以上経たないとアプリで検索しても検出されない
  • 検出から更に10分経つと音を鳴らす機能が有効になる
  • 持ち主から離れて8~24時間経つとアプリで検索しなくても自発的に音を鳴らす

という仕様っぽいので、やはり完全な盗難時追跡デバイスとしては心許ないですね。そもそもそういう用途で販売されている製品ではないし、ストーキングなどに悪用されるのを防ぐ方が優先なので仕方ないところです。あくまで保険、気休め程度に考えるべきでしょう。

■実際に車両にセットした様子

なにも置いてない状態
AirTagを入れ、マットを敷いた状態

取り出しもこんな感じでOKでした。

TimeCupsuleを入れ、マットを敷いた状態

■まとめ

理想はやはりせっかく10年電子交換不要を謳うTimeCapsuleだったらもっと奥深くに隠した方がいいでしょうかね。AirTagだと毎年電池交換しないとなので、これくらいの隠し方がバランス良いかも知れません。ただコインパーキングなどに放置された時に、ある程度通行人のAppleデバイスまで電波が届いた方が良いので、ドア付近というのは場所としては悪くない気も。なかなか自分のAirTagをテストするのは難しいですが、そのうち「トラッカー検出」くらいは使って試してみようと思います。

憧れの3Dスキャナーを手に入れたぞ~Revopoint POP 3 Plus

自分は3Dプリンターで既存製品の補助アイテムをよく作ります。

こういう時、ノギスを使って対象製品のあらゆる箇所の寸法を測ってFusion(CADツール)上にベースモデルを構築していくのですが、3Dスキャナーというカメラ装置で撮影(スキャン)してやると立体形状をそのままモデルデータにすることができ効率化、省力化になります。

iPhoneのカメラやLiDARセンサーを使って同様のことをするアプリもありますが、やはりミリ単位で正確なサイズや形状を取り込む必要があるアクセサリ製作にはちと精度不足です。

ずっと3Dスキャナーは導入したいと思ってたんですが、各社凌ぎを削っていてどれを買えばいいのかわからず手を出しあぐねていました。

そんな折り、パートナーが誕生日プレゼントで半分出してくれると言ってくれたのと、ちょうどタイムセールで20%OFFになっていたのもあって、思い切ってRevopoint POP 3 Plus(以下POP3+)に特攻してみることに。

2軸ターンテーブルがセットになった高級版にしてみました。通常113,000円のところ90,400円でゲット。2軸ターンテーブルは単体で16,200円なので、差額1,1万円くらいで買えるセットの方がだいぶお得です。これの価値は後述します。

Revopointは自分の観測範囲では10万円前後の家庭用3Dスキャナとしては結構早くから名が知られていたブランドな気がします。ただ実際にレビュー動画をみると微妙なところもあって、買うなら他のブランドかなとも思っていました。また最近はPCやスマホを組み合わせないでスタンドアローンで使える製品(RevopointならMIRACOとか)もあって、使い勝手はいいんだろうなとか。

EINSTAR VEGAとかレビューでみてて凄くよさそう。でも高い…

そこまでの頻度で使うわけでもないし、コスパも考えてスタンドアローンタイプは断念。ただし、自宅のハイパワーPCでも現状我が家で最強のモバイルPCであるMacBook Pro(M1 Max)でも、さらにはスマホでも使える対応OSの豊富さは重視。スキャン対象としては、手のひらくらいのガジェットが恐らくもっとも多く、もしかすると歯車みたいな小さな部品をスキャンすることもあるかな?あと車のメーターやダッシュボード回りの形状は読みたいが、バンパーみたいなメートル級のパーツまでは不要、というイメージ。まぁ今の3DプリンターX1-Carbonが26cm立方までなので、なにか作るにしてもそれくらいが上限かなという感じ。あとはソフト面の機能として、裏と表別々の方向からスキャンしたモデルをマージして全方位モデルにしたいなとは思っていて、たまたまレビュー動画をみたRevopointのRevo Scan 5でそれがきっちりできていたので、もうRevopointでいいんじゃないかなと思ったとこはあります。他社製ソフトでも当たり前にできるのかもは知れませんが、改めて調べる気力がなかった(^^;)。

■ターンテーブルは思いの外重要

ターンテーブルは電動でゆっくりと回転する台です。お店でフィギュアとかアクセサリーをディスプレイするアレです。3Dスキャンは対象物をあらゆる方向から手ぶれせずに撮影するのがキモですが、スキャナを持って回りをぐるぐるするより、スキャナは三脚で固定してしまって物体をターンテーブルで回す方が楽だし精度も高めやすいので、マストアイテムと言えます。

POP3+には標準の小型のターンテーブルと、オプションの二軸タイプ、更に大型タイプがあります。本体に二軸タイプが付属してくるのが高級版と呼ばれていて、自分はそちらを購入しました。

標準の小型ターンテーブルはUSB電源を挿すと回り出す簡易的なもので、二軸タイプは文字通り回転軸に加え傾き軸をもっていて、対象物体を違った方向からスキャンできます。さらにBluetoothでスキャンツールRevo Studioとペアリングすることで、速度や角度を変更したり、スキャンの開始停止にあわせて回転をしたり止めたりできます。また大きさも大きいのでより大きな物体を載せられます。

簡単なスキャンなら標準のターンテーブルでも良いかも知れませんが、USBケーブルで電源供給する必要があるのが地味に面倒です。個人的にはこれは箱にしまっておいて、以前iPhoneで3Dスキャンにチャレンジしようとした時に買った充電式のターンテーブルの方がケーブルレスで取り回しが楽かなと思っています。同じものは販売終了になってますが、これとか。

そしてちょっと凝ったスキャンをしようと思うと、やはり二軸&アプリからコントロールできるのは重宝します。理想をいえばせっかくBluetoothなんだからこっちもバッテリー式(充電池でも最悪乾電池でも)でケーブルレスで使えたら良かったのにとは思います。

ちなみに軸を傾けた時に上の物体が滑り落ちないよう、シリコンかなにかの粘着パッドも付属しています。

まだ何回もは使ってないですが、例えば最初斜め上から360°スキャンして、そのまま徐々に方向けていけばシームレスに隠れていた面もスキャンできて良いです。ただ底面が完全フラットではないものの場合、結局いちどひっくり返す必要があったりして、二軸ですべて賄えるというわけではないです。あと、これは想像ですがアプリと連動させても回転量や回転方向情報をスキャンの解釈には利用してないような気がしています。それができてればもうちょっと正確に追従できるんじゃないの?と思ったり。あくまでターンテーブルのスタートストップ、速度、角度をPCからできます、ってだけじゃないかなと。

■黒いものや光沢、透明なものにはスキャンスプレー

3Dスキャナーはレーザーなどの光を物体に当てて、その反射光をセンサーで読み取るという仕組みなので、物体が光を元の方向に反射してくれない色や反射率のものは苦手です。具体的にいうと白はOK。黒、透明、鏡のような高反射率のものが苦手です。正確な形状を読み取れません。

そこで登場するのがスキャニングスプレーという塗料(顔料)を含まない着色スプレー。国産品もありますが有名どころはドイツのAESUB(エイサブ)というブランド。カラーを冠したバリエーションがりますがスプレー自体は基本白色がつきます。

・AESUBホワイト

まずは「ホワイト」。文字通り白色のスプレーですが、拭き取ったり洗い流したりで綺麗に落ちるので、丸洗いができる物体であればこれがコスパ高そう。

AESUB スキャニングスプレー ホワイト 400ml

AESUB スキャニングスプレー ホワイト 400ml

1,760円(06/19 01:25時点)
Amazonの情報を掲載しています

・AESUBブルー

こちらは「ブルー」。なんとこでは揮発性ということで時間が経つと自然に消える系です。2~4時間前後で消えるらしいということで、まずはこちらを購入。高い…

使ってみた感じ、金属面はもっと短い時間でどんどん揮発する。

千吉 忍者クマデ 5本爪 幅120×高さ245×奥行き68mm

千吉 忍者クマデ 5本爪 幅120×高さ245×奥行き68mm

218円(06/19 01:25時点)
Amazonの情報を掲載しています

こちらの潮干狩りの熊手に吹きかけてみたんですが、黒い光沢塗装をした爪の部分は2,30分でどんどん揮発して、スキャン作業の途中で検出できなくなってしまいました。単価が高いからってケチり過ぎたのかな?あと、そういう特性なのかわかりませんが、一度吹いて白くなっているところに重ね吹きすると消えるんですよ…風で粒子が吹き飛んでる?なので塗り足りないところを吹くとその回りが消し飛んで、結果吹いても吹いても全体を綺麗に真っ白くできなくて、使用量だけが嵩んでいく…となりがち。ちょっとコスパ悪すぎるので、本当に必要な時(水洗いできないもの)に絞った方がヨサゲ。

・AESUBグリーン

お次はグリーン。記事執筆時点でAmazon、楽天で見付からないんですが、Yahoo!ショッピングはある。出展者は同じくシステムクリエイトPROさんなので出品作業漏れだとは思うんですが。

グリーンは6,270円で、Yahoo!ショッピングは更に送料が970円もかかります。クソ高い。ただしこれは他のスプレーと違って液体で1L入りなんです。自分でスプレーガンとかに入れて吹くタイプ。車のボディとか広範囲に塗る用みたいです。これを模型用の卓上サイズのエアブラシで使うのが一番コスパ高そう。ブルーを使い切ったらこれにしようかと思っています。ブルーよりも揮発時間が長くて4~6時間とのこと。ブルーが体感では全然保たなかったので、むしろ長く保つならそっちの方が都合がいいかなと思っています。一応エアブラシとコンプレッサーはあるし、なんならミニサイズの充電式エアブラシを専用に買ってもいいかなとか。エアホースなしで一体型の方が小物に吹き付けるのに便利そう。ただAESUB公式推奨が「スプレー口径 1.0mm エア圧力 0.2〜0.3MPa」となってるんですが、見付かる小型エアブラシは口径0.3mmとかなんですよね。まぁ動画で使ってる人いたし大丈夫でしょうけど。1.0mmは製品コンセプト通り車のバンパーとかドアとかに丸っと吹く用じゃないかと。それでも最低でダブルアクション(塗料と空気のバランス調整ができるタイプ)にはした方が良さそうかな?

候補はこれ。グリーンだけにw。ノズル径は0.4mm。

ダブルアクションでなくて良さそうならこういう劇安品もありかも。ダメもとでまずこっち買ってみようかな?

ともあれ、買ってしまったブルーを使い切る事にはAmazonにもグリーン入荷してるといいな。

■マーカーシール、マーカーブロックは安く済ます

もうひとつ3Dスキャンの大事なお助けツールがマーカーシールとマーカーブロックです。マーカーシールはスキャンした物品にペタペタ貼って位置あわせの基準地点にするものです。黒枠の中心に高反射の銀色の丸がついたシールです。銀色といっても蛍光反射版みたいな質感。POP3+にも何シートか付属してきます。ターンテーブルに敷く丸シートにもこのマーカーがランダムに散りばめられています。

スキャンソフトにもモードが「特徴」と「マーカー」があり、上記のスプレーを吹いて「特徴」で純粋似形状データだけで認識するか、この「マーカー」を基点として使うかという感じです。どちらがどういう時に向いているのかはまだ試行錯誤中ですが、そもそもスプレーできないようなものもあるので、マーカーも欠かせません。ただマーカー自体が少し盛り上がった形状であるように読み取られてしまい、平面が綺麗に平滑にならなかったりする傾向があるのが難です。スプレーが使えるならスプレーかなと現時点では感じています。

当然消耗品なわけですが、純正のものは500枚入りで2,500円。1枚5円。5円玉を貼っては捨ててると思うとちょっと気が咎めますね。

そこで互換品ですよと。ボルトやナットでよく使うuxcell製だと同じく500枚で半額以下でした。

また、このマーカーが曲がってしまうような小さい曲面を読み取るのにいいかと思って、上記6mmに対し3mmのものもあったので買ってみました。

マーカーシールはそこそこ固いので曲面に貼ると浮いて剥がれてしてしまうんですよね。そういう時に3mmだとマシかなとか。ただデフォルトとサイズが違うマーカーだと距離感を誤認されないかは気になっています。また使う機会があった時に追記します。

そしてマーカーブロックという様々な形のブロックにマーカーシールを貼り付けたパーツが売られています。Revopoint純正でこんなやつ。

ターテーブルに敷くマーカーを散りばめたシートの立体版というところです。スキャン対象物の周りにランダムに散らしておくと、基準点として精度向上に貢献するみたい。しかし高い!

フルセットだとこんなにします。マーカーシール貼っただけのプラスチック片が!?というのが正直な感想です…(正確には底面にマグネットも入ってます)。

3Dスキャナー買う層ってかなりの確率で3Dプリンターも所持してると思うので、「自分で作ってマーカーシール貼ればよくね?」って思うんじゃないでしょうかね。自分もそう思ったら案の定。MakerWorldにモデルデータを公開してる人いましたw。そっくりすぎて大丈夫か?とは思いましたが機能的には問題なさげなので、とりあえずはこれで様子見してみることに。普通にPLAで造形し、底に直径10mm x 2mm厚のマグネット用穴が空いているので、こういうのを買って来ればヨサゲ。

自分はちょっとだけ厚い(2.5mm)だけどセリアで5個入り100円のものを流用。わずかにはみ出ますがコスパは高いです。完成したのがこちら。

ちょうど無印商品週間(全品10%OFF)だったのヨサゲな収納ケースもゲット。フタは別売りです。ちょっと深さが余るかな。そのうち自分でプリントして作るかも。

先のuxcellの安めのマーカーシールを惜しげ無く貼りまくりました。貼る面はおそらく規則性がない方が良いと思うので、公式に倣って天面だけは必ず貼り、それ以外の面にデタラメに貼りました。ドーム型が7枚、ボール型が5枚。ピラミッドは各面の各辺に1枚(3面で9枚)、バーは各面4枚で16毎。ちょっと暗くして光をあてるといい感じに反射してます。

底面のセリア磁石がこんな感じ。0.5mmはみ出てるので平らな面に置くと多少カタ付きますが、触らなければ問題ないのでスキャン時に実害はないかなと。

自分でデータをいじって2.5mm穴にしようかとも思ったんですが、STLファイルってFusionに読み込んでいじるのちょっとめんどいので「まいっか」と。10mmの磁石を手で入れるのはちょっと大変で、こういうウォータープライヤー的なペンチで両端を挟んで押し込みました。上側にマグネットをひっつけておいて、下側はブロックにキズがつかないようマステをグルグル巻いておくといい感じに圧入でき、二度と外せなさそうなくらいガッチリ埋め込めました。ピラミッドとバー型は机に置くなどして根性で…

高儀(Takagi) M&M ウォータープライヤー 250mm

高儀(Takagi) M&M ウォータープライヤー 250mm

662円(06/19 01:25時点)
Amazonの情報を掲載しています

■スキャン初試行レビュー

いくつかの物品をスキャンしてみた感触などを書いていきます。

最初はPC版Revo Scan 5.5.3を使用して挑戦。PCとの接続はUSBまたはWi-Fiで行います。速度差はさほどない気がします。ウチのデスクトップはUSB機器つなぎすぎで不安定なので、Wi-Fiの方がむしろ安定して使える気すらします。ちなみにWi-Fiの場合はPOP3+にUSBで電源供給する必要があるので、スキャナ側は結局なにかしらのケーブルが生える形にはなります。

SesameリモートNano

こういうヤツです。今回いくつかSesame製品を買い増ししましたが、3Dスキャンを想定して全てホワイトをチョイスしました。

(公式画像)

ストラップは外しています。標準の方のターンテーブルで回転させながらスキャン。割と綺麗にできました。カラーで撮ってないのでテクスチャはありませんが、ボタンやストラップ穴も痕跡が読み取れるので、位置あわせには充分です。

裏返して底面を取ってないですが、どうせ真っ平らなので「穴埋め」機能で閉じて完了です。

Sesame 5 Pro

今度は少し苦労しました。スキャン中に手でもって向きを変えると割と認識に失敗しがちでした。なので、別個にスキャンして穴だらけの状態のメッシュデータをいくつか作って、後で「合成」機能を使ってひとつの閉じたメッシュにしてもらいました。たしか3つくらいを重ね合わせたような気がします。

カラーで撮ったのでテクスチャを有効にするとLEDやリセット穴、ネジなども綺麗に見えます。露出やホワイトバランスの調整がイマイチだったせいか、真っ白なボディのはずがちょっとまだら模様になってしまったのが惜しい。

忍者クマデ

潮干狩りなどに使う熊手です。友人から持ち手のカバーを依頼されたのでスキャンしてみました。

千吉 忍者クマデ 5本爪 幅120×高さ245×奥行き68mm

千吉 忍者クマデ 5本爪 幅120×高さ245×奥行き68mm

218円(06/19 01:25時点)
Amazonの情報を掲載しています

まぁ本来これくらいのシンプルな形状ならノギスで測った方が速いし正確なんですが。

やはりそのままでは先端の黒い部分が全くスキャンできず、上述のスキャニングスプレーを吹いてみたいんですが、作業している間にみるみる揮発してしまってダメでした。またSesame 5 Pro同様、裏表を別でメッシュ化して合成しようとしても、持ち手部分が円柱なので向きを正しく認識できず裏表両側に爪が曲がってるモデルが出来上がったり…

唯一それっぽくできたのがコレ。

ただ一応Fusionに取込はしたものの、結局ポイントポイントのサイズはノギスで測ったものを使い、あんまり役に立たなかった感じです。

庭の塀の木製部分

以前作ったこのセンサーライトマウンターが日光で変形してしまったので、どうせならばと新規設定のために改めてスキャンしてみました。

初めてiPhoneにつないで挑戦。POP3+付属のハンドル型モバイルバッテリーで給電し、同じく付属のスマホホルダーにiPhoneをセット。iPhoneとPOP3+はWi-Fi接続です。

手持ちなせいか日光下なせいかあまり綺麗にスキャンできず、結局これにもスキャンスプレーを吹きました。また上述のマーカーブロックもいくつか置いたりしてみました。それでもなかなか綺麗にスキャンできずで10回くらいやり直しました。マーカーブロックはない方が良かったかも。また木製部分の底面、コンクリートブロックとの隙間のところは結局上手く採れずに、高さだけわかればいいやということで断念しました。

スマホ版からPC版のRevo Scanにネットワーク経由でメッシュを転送し、PC版で3つのメッシュを合成したのがこちら。

底面も含めて穴だらけのままですが、外径を沿わせてモデルをデータする分にはまぁ役に立ったかなという感じです。特に斜め部分とかは角度を測るのが面倒なので良かったかなと。またこれてっきり左右対称だと思ってたんですが、スキャンしてみたら傾斜が非対象だったんですよね。経年劣化によるものか最初からそういう設計なのかは不明ですが。最初モデルを信じられずに、ミラーコマンドで左右対称のスケッチを引いて作ったんですが、実際に合わせてみるとしっかり隙間があいていたので、改めてスキャンしたモデルにあわせて線を引き直しました。一見単純な幾何学的形状だと思ってもスキャンしてみるとそうでもないこともある、と勉強になりました。

■まとめ

前々から導入したかった3Dスキャナーをついに使うことができました。

動画で色々見てきたとおり、魔法のツールというよりはそれなりに腕前、コツがいる道具だなという感じです。ターンテーブルやマーカー、スプレーを駆使してなお一発では上手く綺麗なスキャンになりません。何度かやり直したり、上手くいった部分を結合したりというトライ&エラーが必要です。

また得られるのはメッシュデータ(表面だけで中身が空)なので、Fusionとかに取り込んでもそのまま、これをツールとしてボディをくり抜いたりとかはできません。それができるソリッドモデル変換するのは結構手間だし、本来平らな目が完全に平らなデータになるとも限らないので、余計なノイズ、荒れが残ったり。なので、ボディとして直接使うというよりは、スケッチの参考にする位かなと思います。あとは追加パーツをモデリングした際に一緒に並べて装着イメージを確認したりレンダリングしたりする用途とかですかね。

それでも複雑な曲面の物体に沿わせるとか、作業場に持ち込めないような庭や車の一部分みたいなものを取り込んでじっくり計測できるとかいう点では間違いなく有用なので、しっかり活用していきたいと思います。