EcoFlow River3 PlusのAC ON/OFFボタン誤動作防止カバーUpdate

UPSとしても実用的な10ms切り替えを実現したEcoFlow River4 Plusですが、本体フロントパネルにAC ON/OFFボタンがあり、短押しで即AC出力がバツンと切れるので、NASやサーバー機器、PCなどをつなげてUPSとして使うにはあまりにも恐すぎました。

UPSにもなるEcoFlow River 3 Plus着弾!

こちらの記事で3Dプリンターで保護カバーを製作したことを報告していたのですが、コメントで頒布希望をいただき、せっかくなので不満点、不安点を改善してバージョンアップすることにしました。

初期バージョンはこんな感じの跳ね上げ式のフタでした。

フタ開

戦闘機のミサイル発射ボタン的なガジェット好き男子にはたまらないギミックですが、やや大きいのと蝶番部分の強度に不安がありました。蝶番部分を3Dプリントで作ると折れやすいのでどうしても太め、長めに作る必要が出てきてしまうのです。金属棒などを差し込んで使う手もありますが、絶妙な穴サイズを詰めないとフリップ状態を保持できなそう(まぁ手を離したらパタンと閉じる仕様でもいいんですが)。

あと、すぐ上がACポートなのでACアダプタなど下に伸びるようなものを使った時に干渉しないのが理想です。自分は現状で使ってないですが、人に譲る以上はできるだけ改善しておきたい。つまり、もっと薄くしたいというのも目標です。

スライド式に変更

ということでVer.2がこちら。

フタ閉状態
フタ開状態

フタを下にスライドして開く方式に変更しました。

取り付けと動作の様子は動画にて。

EcoFlow River3 Plus ACスイッチ誤動作保護カバー

Uploaded by Kazuyoshi Furuta on 2025-05-25.

最初に両面テープで貼り付けているのがベースフレームとフタです。フレームの糊面をかなりギリギリまで狭くしました。使う両面テープ次第ではありますが、River3 Plua側もツルツルなので貼り付きは良いし、力がかかる場所ではないのでいまのところ大丈夫そう。

後から追加しているバーはフタがレールをこえて上にスッポ抜けないための抑えです。実用上は気を遣って操作すれば別になくてもいいかも知れません。

フタの文字を「!」からよりわかりやすい「AC OUT」に変更。ちょっとデカいですが0.2mmノズルでも綺麗に多色印刷する限界はこれくらいで、これより小さいポイント数にしてしまうと潰れてしまうので致し方なし。本体表記の「AC ON/OFF」だと文字数的に入らないので「OUT」に変更しています。この辺はテキスト編集するだけなので、頒布希望をいただく際に要望があれば変更なども承れると思います。

こちらで注文できます

EcoFlow Riverシリーズ用AC出力ボタン誤操作防止カバー

EcoFlow Riverシリーズ用AC出力ボタン誤操作防止カバー

参考価格: ¥454(別途消費税、送料がかかります)

在庫: あり

BOOTHはこちら

[3Dプリント] 外壁に釘を打たずにセキュリティカメラをつけたい!

先日導入したeufy SoloCam S340を移設することになりました。

移設先は玄関ポーチ。猫が脱走しないよう、玄関ドアがしまっているか出先で確認したい、というのと来訪者や玄関置き配荷物のモニタリング用です。

取り付けたい場所はここら辺。

例によって賃貸なのでネジ打ちはNGです。当初は左に見えるメタルラックの柱から上に延長ポールを立てるような固定具を作ろうかと思ってたんですが、結構内側に入ってしまいソーラーパネルへの日当たりが良く無さそう。一方よくよく柱を見るとちょっとイケるんじゃね?というアイデアが沸きました。この柱、まず疑似レンガパネルで等間隔で凹凸があります。として長辺の角に金属のコーナーパネルがはまっています。「通し出隅(でずみ)」って言うのかな?この水平の凹みを利用して上下方向に落ちないようにして、カメラくらいの重量なら支えられるのでは?と。

出来上がったのはこんな治具です。

3つのパーツから成っています。手前側のブロックはSoloCam S340付属のブラケットと互換位置にあるねじ穴3つが開けてあり、前回同様インサートナットを挿入してボルト固定します。ミソは後ろ側の2枚のパネルパーツ。こんな感じで柱にそれぞれの面から組み付け、コーナー部分で合掌するように合わせます。写真は試作段階のものでピッタリあってませんが、何度も試行錯誤してピッタリ合わせました。

あとは手前ブロックをかぶせて3つのパーツをM5ボルトとナットで固定。そうするとパネルは左右に分離できなくなり、結果として左右にも上下にも動かせなくなります。

やったね!これぞ3Dプリント道。このタイプの外壁にeufyカメラをつけたい人にしか刺さらないワンオフアイテム。だけどこれのおかげで釘を一切使わずに好きな高さにカメラ設置が実現です!最近のプロダクトの中でもかなり充実感が高いです。「まさにこれを欲していた!」って人現れたら嬉しいなぁ。

最終的な取り付け位置は普通の身長で届かないくらい高めの位置にしました。まぁ金属バットで殴られたらアウトですけど…

■造型メモ

今回もBambu PETG-HFを使用。ただし初めてのホワイトです。壁にあわせてライトグレーも考えましたが、ブラケットとカメラは白だし、直射日光の熱線を少しでも反射してくれということでホワイト。こちらの記事のベランダ手すりブラケットは黒のPETG-HFで一ヶ月持たずに変形が始まってましたが、今回はどうかなと。形状が違うので純粋な比較ではないですが、データ取りも兼ねて様子見です。これでダメなら今後屋外用途はやっぱりASA買わないとダメかも。値段もさることながら造型失敗の少なさと仕上がりの綺麗さはPETG-HFいいんだよなー。

Vブレーキ車用Sesameサイクル2アダプタ Ver.5

拙作のSesameサイクル2を取り付けるアダプタをPanasonicハリヤ以外のVブレーキ搭載自転車に使いたいというお声をいただきまして、またまた調整してみました。

前回までのあらすじ

Vブレーキ用(Panasonicハリヤ)用Sesameサイクル2アダプタを改良(Ver.3)

今回Ver.4を機に、あらためてVブレーキ汎用モデルとして準備していきたいと思います。

2025.5.11追記:

以下の改良を加えてVer.5になりました。

  • U字のフレーム内部にリブ構造(支柱と空洞)をつけて構造的に強化を図った
  • 6角ナットの穴サイズを最適化
  • 底面の僅かな傾斜を削除

■あらためて仕組みを解説

過去記事であんまり設計意図を解説してなかったと思うので改めて。

まず外観はこんな形をしています。

下側が車体にVブレーキと一緒に共締め固定するための穴です。多少の幅の違いは調整ができるよう横長になっています。

中段の出っ張ったブロックがSesameサイクル2が載っかるところで、Sesameサイクル2と共締めするためにボルト穴があります。

裏返すと、こんな感じで六角ナットを挿入できるようになっています。

下側のVブレーキとともに固定するところは裏側にほんの僅かに傾斜がついています。ほとんど意味がなさそうで、造形面が荒れるだけなのでVer.5からこの傾斜は無くしました。

これによってVブレーキと完全に並行ではなく少し上側が浮いた感じでつく形になります。

イラストで説明するとこんな感じ。

なんとなくSesameサイクル2も車軸に向かって真っ直ぐにしたいなと思ってアダプタで角度をつけるようにしています(タイヤに干渉さえしなければ必須ではないと思いますが、見た目的なこだわりで)。

■汎用化に向けての課題

正直世の中のVブレーキ取付位置がどういう基準で設計されていて、車種によってどういうバラ付きがあるのかは把握できていません。ただ様々な車種に対応させるにあたって大きく2つの調整要素があるかなと思っています。

1. Sesameサイクル2受けブロックの位置、角度

まずはSesameサイクル2がつく高さです。いままで自分のPanasonicハリヤ2016年モデルにあわせて作った位置を基準に、ハリヤ2017年モデルの方は2cm、GIANT ESCAPE MINIの方は1cm下げてほしいという要望がありました。GIANT ESCAPE MINIでは結局オリジナル位置で良かったそうです。

どうも車種によってここの位置はまちまちになりそうです。こちらの記事によると、Vブレーキのアームは107mm前後のものと90mm程度のコンパクトVブレーキというのがあるそうで、2cm弱の差があるのも納得という感じです(もう少しデータが集まればこの2パターンに集約できる?)。

そのため現状では一旦写真のような目盛り付きバラモデルをお送りして、マッチングをとってもらうというステップを基本にしています。

(CGなので見づらいです。プリントした目盛りはもう少し荒い…)

これまでのところこの位置調整で無事取り付けできているようですが、もしかすると今後、背面やブロック上面の角度を更に調整する必要が出てくる可能性はあるかもと思っています。

2.造形素材

屋外で使うものなので、夏の日差しで劣化したり変形したりといったリスクが高いです。3Dプリントで最も一般的でコストも安いPLAという材料は60℃くらいで反ったりする可能性があります(特に板状のもの、荷重がかかっている状態)。本モデルは割と当てはまると思います。また色が黒だと太陽熱を吸収しやすいので更に温度が上がりやすいです。

次にメジャーなのがPETGです。PLAよりは衝撃に強いです(単純に固いのはPLAですが、PETGの方が衝撃を吸収できる靱性が高い)。こちらは70℃くらいまで大丈夫な可能性があります。白系の色ならもしかすると耐えられるかも知れません(未検証)。社外品で色々安いのもありますが、ウチでは今のところ有償頒布するものにはBambuのPETG-HFを使うことにしていて、だいたい白黒グレー他大抵は在庫があります。

それより耐熱性が高い素材だとABSやASAというのがあります。ABSは有名で材料単価も割と安いんですが、造形に刺激臭が出るので、当方では今のところ避けています。ASAはちょっとお高いですが100℃くらいまで平気だと言われています。ウチに現時点では黒のみ在庫がありますが、今後継続的に確保するかは微妙です。ウチでは造形面が荒れやすく、見た目としてはPETGの方が綺麗に出来るので使いどころが悩ましいんですよね…

さらに少し前に炭素繊維を練り込んで強化したASA-CFというのも登場していて、こちらの方が造形面が綺麗になるということもあり、次に買うならこれかなぁとも思っています。→買いました

コスト比較でいうと、Bambu Storeで1kgスプールが

  • PETG-HF: ¥3,400(補充なら¥2,800)
  • ASA: ¥5,080
  • ASA-CF: ¥7,180

といった感じ。PLAやPETG-HFだとスプール(巻き芯)が含まれない補充用パッケージもあって安いんですが、ASA系はそれもないので実質倍くらいのコストになります。1つのアダプタを作るのに1kgもいらないんですが、フィラメントは湿気を吸って劣化が進むので、あまり使わない材料やカラーを在庫するのはリスクだったりもします。あとASA系はあまりセール対象になってるのを見ない…

ASA-CFで納品した先で破損があったので、内部に支柱(リブ)を入れて構造的な強化を図ってみました。3Dプリントは通常内部は材料と時間の節約のために完全なベタ埋めではなくインフィルという編み目状の充填物で埋めることが多いです。設定で100%にすることもできるのですが、構造的には空洞の方が強い(円柱より丸パイプが強いのと同じ)ので、支柱と空洞の組み合わせにしてみた次第です。黒い部分も完全な空洞ではなくインフィルが20%くらいの密度で入ってはいますが。また応力が集中しづらいようにフィレット(角丸)を極力追加しています。

結果としてちょっと本気で折ろうとしても折れないくらいにはなったと思います。特にSesameサイクルを取り付けるブロックの近辺は素手では無理な気がしています(両端をもってヒネるようにすればU字の真ん中は折れるかも知れません)。

そんなこんなで、こちらのSesameサイクル2アダプタについては他の頒布品より少しお高い価格を設定させていただいています。白系でよければPETG-HFで製作して3,500円+送料+消費税。黒をご希望ならその時の在庫も加味してPETG/ASA系かでご相談とさせてください。ボルト、ナットなどの付属品も含んだ価格です。また紫外線ダメージを避けるためにUVカットスプレーを吹きかけたり、必要に応じてサンドペーパーで磨いたりもするので、フィラメント原価だけで済んではいないことをご承知おきいただければと思います。

こちらでも何パターンか造形して夏を超えられるか検証してみようと思っていますが、全てを実際に自転車に取り付けてSesameサイクル2の重さをかけた状態で横並び検証はできないので、やはり実際のところは保証が難しいです。実地データも欲しいので、「1年以外に変形や破損があったら無償でもう1点、または差額で材料アップグレード」みたいな形でどうかなとも思ったり。

3.Touchホルダーの後付け化

従来、指紋センサーのSesameタッチをとりつけるホルダー部分は造型時に有無を選択いただいていました。今回それを別パーツにして後付けできるようにしてみました。

これは、後日Sesameタッチをつけたい!と思った場合にまるごと作り直さなくても、後からホルダー部分だけ追加できるという点以外にもメリットがあります。

3Dプリンターはご存じの通り、樹脂の層を重ねて縄文式土器のように作ります。この層の境目のところが剥がれやすく、本アダプタを水平に寝かせて造形した場合、Sesameタッチを上に引っ張る方向の力に対してとても弱くなってしまう課題がありました。別パーツにすることでホルダー部分だけ垂直に立てて造型し強度を増すことができるようになります。またSesameタッチのサイクルホルダーをスライド挿入した時にロックする爪についても別体で作る必要なくしっかりとした強度を出せるようになります。

アダプター本体とタッチホルダーは強力な両面テープや瞬間接着剤で充分付くかなと思っていますが、タッチが落ちて紛失ということになるとマズいのでもしかすると将来的にボルト締めなど別の方法も採り入れるかも知れません。

ちなみに、通常はSesameタッチはハンドルバーにつけることが多かろうと思います。公式にも自転車用タッチホルダーなるものがあります。ただ私が乗っているハリヤ2016年モデルはハンドルバーにテーパー(傾斜角度)がついて円錐状になっていて、このホルダーのベルトで固定できなかったという経緯があって、このアダプタ上にSesameタッチもつけちゃえ、となっています。ケガの功名、これはこれで解錠と施錠が同じ後輪ブレーキ周辺でできるので、直観的ではあるかなと自負しています。「たしかにこっちにある方が使いやすそう!」と共感いただける方、そもそもハンドルバーに取り付けできなかった方はご相談いただければと思います。なおアダプター上にとりつける場合でも純正の自転車用タッチホルダーは必要になりますのでご了承ください。

4. ボルト&ナットについて

基本的に最適なものを添付していますが、以下個人的メモです。

M5のボルトで長さは3.5mmのこちらを使用。本体を黒で造形することが多いので黒のものを使用。サビに強いと書かれていますが、割とすぐ茶色くなる印象。可能なら施工後にさび止めスプレーをしておくと良いかも。

次にナットですが、自転車なので振動が加わって締め付けが緩まないかという懸念があります。当初、こちらのナイロン部品による緩み止めのついたナットを購入してみたのですが、あまりにキツくて手締めでは最後まで締められませんでした。仮に工具でガチガチに締められたとしても、メンテなどで取り外すことができなくなるのはやはり問題です。

ということで通常の金属オンリーのM5ナットに緩み止め剤を塗布することを検討しました。こちらのロックタイトの低強度タイプが

  • M6以下の太さのネジ用
  • 工具を使えば外せる程度の固着度合い

で条件に合うと思って購入。

ただし説明書だと塗ってすぐ締めるような書き方がされており、よく塗布済みの青いアレみたいな使い方(塗って送る)で大丈夫なのか確証がもてず使用は保留しています。購入者の方にご自身で手配いただいて塗るのは推奨しています。

実際に緩んで滑落したという経験はないですが、ウチはあまり自転車に乗る頻度が高くないので、毎日のように乗られる方には気にしていただいた方がいいかなと思っています。

■まとめ

まだまだ発注をいただくたびに色々調整、改良を加えている本品ですが、なんとかVブレーキ車にもSesameサイクル2をつけたい!という方、多少の試行錯誤につきあっても良いという方はご相談いただければと思います。

[3Dプリント] 食洗機Panasonic NP-TZ300の調整脚(ゴム脚)をカスタム

食洗機を清掃したついでに設置位置を微妙に動かしたら、ちょうど段差にかかってガタガタになってしまい、ケースも歪んでドアが閉まらなくなってしまいました。

もともと、Panasonicの食洗機には、下図のような調整脚が2個付属してきます。

NP-TZ300取扱説明書より抜粋

真ん中に十字の突起があり、90°単位で回転させて差し込む形になっていて、取り付ける向きで嵩上げの高さを+3mmか+5mmか選べます。

今回の設置場所はちょうどギリギリ段差に足がかかっていて、これでも不足で少しガタ付きが出る状態でした。調整客の下に更になにか敷いても良かったんですが、どうせならと3Dプリンターで互換パーツを作って、底厚を+5mmにして造形しました。

一見複雑な形状をしてますが、基本的には幾何学的なデザインなのでモデリングは15分くらいでできた気がします。

スマホケースなどに使われる柔らかい素材のTPU 95Aで出力したのがこちら。

左(白)が純正脚、右(グレー)が今回作った+5mm高のものです。TPU製なのである程度柔らかさと摩擦があります。純正より少し固い気もしますが厚みも違うのでなんとも。

一発で綺麗にはまり、結果筐体はガチガチに安定してドアの開閉もスムーズになりました。敷物をするよりもズレが発生しにくいので長期的な安定性も期待できます。たまたまTPUフィラメントの在庫がスペースグレーだったんですが、フロントパネルとのマッチングもいい感じです。

[参考] 純正調整脚は買える?

今回改めて調べてみると、前脚2つに取り付けてあった調整脚のうち1つは変形して高さが出なくなっていました。これってパーツで買えるのかな?と思って検索してみたものの、ANP335-8020という品番はヨドバシや楽天で普通に出てくるものの、これの対応機種は「NP-TCM4-W,NP-TR7,NP-TY11-W,NP-TR9-C,NP-TR9-T,NP-TR9-W,NP-TH1-C,NP-TH1-T,NP-TH1-W,NP-TA4-W」とのこと。

TZ系は記載がありません。イラストを見る限り同じ感じだし、わざわざサイズ違いで作るようなものではない気もしますがマッチングは不明です。TZ300用と明記されているものは見付かりませんでした。メーカーに問い合わせるしかなさそうです。

もし入手が難しくてお困りの方、または高さをカスタムしたものがほしい方がいらっしゃいましたらコメントにてご相談くださいませ。

増車に備えてGPSロガー参号機を作る

我が家のクルマにはRaspberry Pi Zero Wを使った自作GPSロガーを密かに搭載し、自前のWebサーバーにリアルタイムに位置情報を送信しています。防犯/追跡的な意味と、家族と合流する時などに詳細な現在位置を把握するためです。トヨタ車のアプリによる位置は駐車時しか更新されないので、「今こっちに向かってて、到着まであと何分くらいかかりそう」といった予測には全く使えないんですよね。

詳細はこちらの記事など。

GPSロガー弐号機を作る(費用メモあり)

さて、クラウンより前に契約していた某長納期車がぼちぼち1,2ヶ月以内に生産日が確定しそうという気配がしてきたので、GPSロガーももう一台作ろうと思います。盗難ランキング首位独走の車種なので、もちろんなんらかのきちんとした盗難防止セキュリティも導入するとは思いますが、それでも盗られた時に、誰も知らない秘密のGPSロガーがバックアップとしてあると無効化されにくいだろうというのと、前述の日常使いにもいいかなと。まぁ同居人が買いながら99.99%運転するのは自分になるので、そこまでリアルタイム位置情報が必要にはならなそうですが、、

先代製作から時が経ちすぎていて…

2019年にカロスポ用に壱号機を製作(後日クラウンに移設)した後、2021年に30プリウスを増車した時はまったく同じ構成のハードを揃えて、microSDの中身もクローンして設定だけ変更して流用しました。

しかしそこから4年経った現在では、

という変化が起きていました。

Raspberry Pi Zero 2 WH - はんだ付け済みヘッダー付き

Raspberry Pi Zero 2 WH – はんだ付け済みヘッダー付き

5,280円(11/28 15:52時点)
Amazonの情報を掲載しています

ZeroからZero2になるとCPUがArmV6からV8になり64bit化され、シングルコアからマルチコアになっています。当時のOSイメージでは最適化されていないどころかまともにブートしない可能性が大です。当時のOSはまだRaspberry OSという名前にすらなっていないRaspbianの頃のものなのでapt updateするにも限界があるでしょう。ということで、OSは完全新規インストールすることに。GUI関係のパッケージを省いてRaspberry Pi OS Lite (64bit)を選択。当時パッケージは何を追加したとかまったく記憶もメモも残っていないので前途多難です。

そしてもうひとつ重要なGPSモジュール+アンテナが販売終了になっていた件。直接の後継製品も同社から販売されておらず、まったく異なるチップのGPSモジュールを再セットアップする形になります。車載用なので感度を得やすいGPSアンテナは別体型から物色して、Pi Zeroと同一基板サイズのHAT型モジュールのこれを選びました。

ちなみに背面の40ピン端子がメスヘッダーなので、ラズパイZero2の方はオスヘッダー付きのWHモデルをチョイス。ブッ刺すだけで結合完了。おそらく今回は半田付けも不要でケース内はかなりスッキリ作れそうな気がしています。

バックアップ電池としてML1220という規格の充電式コイン電池をセットできます。入れておくと衛星の位置情報をキャッシュしておけるので、電源投入からGPSを掴むまでの時間を短縮できるんだと思われます。壱号機、弐号機の秋月のGPSモジュールは普通のコイン電池だったので定期的に交換が必要でしたが、充電池ということで寿命も期待できます。残念ながらAmazonでは信頼できそうなブランドのものは見付からず、Yahoo!フリマでゲットしました。一応Amazonならコレとかでしょうけど送料も高いのでご注意ください。

ちなみにこちらのセルラーモデルもあって、車内Wi-Fiに依存せずに位置情報を発信しつづけられるならいいかもと思ったんですが、技適マークの有無について記載がなかったのと、アリエクだったかで「GPSとセルラー通信は同時に使用不可」みたいな記述があり、ちょっとリスクが高いなということで見送りました。

microSDカードも大きいサイズは不要(Lite版OSのインストールサイズは2GB程度)なので、あえて小さい容量で、むしろ速度面や耐久性を優先したものを選定。最近のmicroSDはA1とかA2とかいうアプリケーションパフォーマンスクラスというランダムアクセス基準の規格があり、PiシリーズもA1まで対応してる(Zero2がどうかはよくわからず)ようなので、A1を要件としてみました(A2は対応してても活かせない)。まぁ別に直接触るものではないので、普通のU1とかU3とかでも全然問題ないんですが、値段もかわらなかったのでこちらに。購入時、Amazonが販売するもので697円でした。

容量は8GBとかで全然足りるんですが、そんな小さいのでA1は見付かりませんでした。

今回はGPS HATを取り付けるので壱/弐号機と同じケースは使えないだろうということで3Dプリンターで自作。Raspberry Pi Zero2の3Dモデルを海外サイトのGrabCADから取得(要登録)。HATも同一基板サイズなのでコピーして間隔をあわせ、それらが収まるケースをデザインしました。

■ハードウェア組立

ケースの材料は耐熱100℃のASA。GPS HATの上に高さのあるジャンパー(黄色)があるので、トータルの高さは壱、弐号機に比べてだいぶ出ちゃいました。幅70 x 奥行き35 x 高さ31mmという感じ。

右側面から生えているのがGPSアンテナです。

SDカード&端子面がこちら。miniHDMIとmicroUSB端子を挿せるようにするのに、基板と壁の隙間を極限まで狭めて、肉厚も1.8mmとしました。結果としてかなりギチギチでネジ止めの必要がなさそうなレベル。むしろ取り出しに苦労します。底に押しだし用の穴を空けておけば良かった。GPSアンテナのコネクターもホットボンドで固めようと思ったんですが、将来的に基板を取り出す時に困りそうなので保留。外側にケーブルガイド的なものをつければ良かったかも。

結果としてケーブルもそのまま挿せるし、microSDも素手で抜ける形にまとまりました。

あとは排熱性が不安ではあります。もう少し穴をたくさんあけて通気性を確保しようとも思ったんですが、車内でホコリやゴミが入るのを嫌ったのと、3Dプリント的に側面に穴があくと造形が難しくなるという理由でまずは穴開けは端子部のみとしました。どうにも動作が不安定になりそうならヒートシンクをつけたり最悪ファンをつけようと思いますが、ChatGPTさん曰く、ロード100%でぶん回すとかしない限りヒートシンクも不要、とのことだったのでまずは様子見。

■ソフトウェア整備

OSは前述の64bit版LiteをPi Imagerでサクっとセットアップ。一旦自宅のWi-Fiに接続し、基本sshでセッテイング作業を進めます。スクリプトはPythonで作られているので、それ回りをインストール。

GPS HATの公式ガイドはこちら。赤字の

If you use bookworm system, only the lgpio library is available, bcm2835 and wiringPi libarary cannot be installed or used. Please note that the python library does not need to install, you can directly run the demo.

という部分に注目。bookwormシステムの場合はlgpioライブラリだけでOKということです。bookwormとはDebian 12系のことで今回使用したRaspberry OSも当てはまります。minicomというツールをいれてサンプル通りにテストしたらあっさりデータが落ちてきました。いうてシリアルポート通信するだけなのでドライバーとかライブラリといっても特殊なことはなかったです。

先代はgpsdというシリアルポートからGPS情報を取り出してネットワーク経由で配信するデーモンを介していたんですが、対外的な通信をするわけではないので、今回はPythonから直接シリアルポートを叩くアプローチに変更。先代よりパワーアップしているのでそこまでリソースをケチる必要もないですが、無駄を残す必要もないかと。というかここでもChatGPTさん大活躍。必要なライブラリを挙げてもらい先代スクリプトを渡して書き直してくれと指示したらほぼ一発で修正してくれました。これがなければ自分で書き直そうとは思わず、そのままgpsd経由を踏襲していたと思います。

pipでgps3というライブラリを入れようとしたらセキュリティポリシーでエラー。今時はシステムワイドにライブラリを入れずにユーザーレベルの仮想環境というのを作ってやる作法らしい。全部ChatGPTさん情報!マジありがたい。

継続的にシリアルから送られてくる行のステータスがA(正常)の時は緯度経度などの値をコンソールに出力。それ以外のステータスではエラーメッセージを吐いてくれるので状況が一目瞭然です。新規導入ハードであるGPS HATがすんなり動いてくれてホッとしました。

また本番スクリプトでは徐々にサーバー送信が遅延していく現象が起き、ChatGPTさんの見立てでは、print文によるコンソール出力のバッファーあふれではないかということで、「, flush=True」を追加しています。これでバッファーに貯めずに即時出力されるらしい。もう少し検証予定。

あと、別記事のリソース最適化をする中でBluetoothを無効化したところ、使用するシリアルポートが/dev/ttyS0から/dev/ttyAMA0になりました。

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