あっきぃ日誌

鉄道ブログのような技術系ブログのようななにか

Pimoroniからおもちゃ着弾!マイクロスコープ楽しぇぇぇッ〜〜!

7日目です。昨日の記事がはてブでバズったのでちょっと良かったですが、参加者は増えておらず。さておき、明日の記事はもうできてるので、今日を乗り越えたら少しゆったりできますね……!

adventar.org

おもちゃ着弾

Pimoroniのブラックフライデーでポチっていたブツが着弾しました。ネタが切れ書けていたのでこれは助かります。数日は生き延びれます(?????)

f:id:Akkiesoft:20211207002513j:plain

1日目の記事でも紹介していますが、今回の目玉はマイクロスコープと血中酸素センサーの2つです。リピートのDS18B20水温センサーも、Picoで使うとかできるとたのしいかなーと思ってますがやり方は軽く調査したきりです。

今日はマイクロスコープレンズ

マイクロスコープレンズは、Raspberry PiのHQカメラで使えるレンズです。ラズピッピ用とは言えレンズは増やすまいと思っていましたが、ついに増やしてしまったので、C/CSマウントレンズ沼につま先がハマった感じがあります。

Microscope lens for the Raspberry Pi High Quality Camera - 0.12-1.8x – Pimoroni

早速取り付け。うーんゴツい。いいぞ。

f:id:Akkiesoft:20211207002920j:plain

Pimoroniの製品ページにもあるとおり、基板を見たりするのに便利なブツなので、基板を見てみましょう。

f:id:Akkiesoft:20211207003037j:plain

くらい……。まあ、製品ページに、UnicornHATかなんかで照らすとええでとあったので、何かしらの光源は必要っぽそうです。

続けて、以前買ったジャンクラズピッピの修理箇所。これもLEDライトは当ててみたものの暗い画像になってしまいましたが、画像編集でガッツリ明るくしてみました。こうしてみると、修理した箇所以外もパターンにうっすら傷がありそうですね。多分根本的にはメインの損傷箇所の下のレイヤーがやられていると思っていますが。

f:id:Akkiesoft:20211207003305j:plain

なんでも超どアップで見られるので楽しい……!!メダカとかもこれで観察できたら楽しそうですが、泳いでるところを捉えるのはさすがに難しいかな……。

あと、今回はスタンドを買わなかったんですが、手持ちだと流石に辛いことがもうわかったので、やはりスタンドもほしいですね。多分AliExpressでもっと安く買えるだろうなあと思って探してみたら、やはりお安いスタンドが色々出てきました。スタンドはAliExpressでポチってみましょうかね〜。

HQCamの近況

ネタが薄いので普段のHQCamの使いかたを紹介します。。天気のいい日にベランダに出してメダカの水槽をストリーミング配信しています。電源ケーブルを通す都合で窓を少し開けないといけないので、冬はちょっとやりたくないかもです。

f:id:Akkiesoft:20211207004454j:plain

PiZero一体型になっているのは、10月くらいにネットから拾ってきたプレートの3Dモデルを3Dプリンターで作成して組み立てたものです。

akkiesoft.hatenablog.jp

メダカは結構恥ずかしがり屋なので、直接覗き込むと隠れてしまうのですが、ストリーミングならゆうゆうと泳ぐ姿を眺めることができます。すぐちかくにいるのに、なんて寂しいことだ……。

f:id:Akkiesoft:20211207004617j:plain

夜になってもこんな感じで、意外と部屋の明かりのおかげで見られたりします。

f:id:Akkiesoft:20211207004720j:plain

メダカメラはこちら。常設の鉢勢の下に不定期の第二カメラがあります。晴れてる日は見られるかも?です。

shrimp.marokun.net

PythonとguizeroでGUIアプリケーションを手軽に作ってみる

Raspberry Pi Advent Calendar 6日目です。3枠ほど参加してくださる方が現れてありがてえ〜。皆様のご参加はいつでも歓迎です。

adventar.org

告知も打ってるけど……増えないンゴねえ

PythonとguizeroでGUIアプリを書く?

さて、PythonGUIアプリケーションを書こうとすると、たぶんPyGTKとかPyQtあたりがメジャーになると思うのですが(しらんけど)、guizeroというライブラリがあるらしく、去年あたりにRaspberry Piのブログで「Create Graphical User Interfaces with Pythonって本ができたで!」って出たときに知って、いつかこれでGUIアプリケーションを書いてみたいなと思っていたのでした。

www.raspberrypi.com

guizeroは、TkinterというTkのPython用ライブラリをさらに噛み砕いたようなもの(ラッパーっぽい?)らしく、簡単にGUIアプリケーションが書けるようです。

用意

GUIアプリケーションを書くので、Raspberry PiはDesktop版が必要です。そして、guizeroのインストールはpipコマンドでのインストールします。aptでインストールもできますが、パッケージバージョンが古くてドキュメントと噛み合わないところがあるため、pipでのインストールしたほうが良いです。

sudo apt install python3-pip
sudo pip3 install guizero

Hello, World!

画面を出してなんかテキストとボタンを出して押されたら文字を出したり終わったりするサンプルを書くとこんな感じになります。

import sys
from guizero import App, PushButton, Text

app = App(title="Hello")

def button_clicked():
    clicked_label.clear()
    clicked_label.append("Button clicked!")

def exit_app():
    sys.exit()

Text(app, text="Hello!")
button = PushButton(app, text="NYAN!", command=button_clicked)
button2 = PushButton(app, text="EXIT", command=exit_app)
clicked_label = Text(app, text="")

app.display()

結果はこんな感じ。手軽やん。

f:id:Akkiesoft:20211205230838j:plain

コミケで販売するときのレジアプリ的なのが欲しい

話が突然変わりますが、コミケでは100円玉払い専用投入機を用意したいと思っています。だいぶ昔にヤフオクでコインセレクターをゲットしていて、同人イベントで使おうと思っていたらコロナ禍になってしまい、今冬久々のコミケでは手渡しは非推奨みたいな感じになってるので、今こそ使うチャンスではと思った次第です。ちなみに、500円にも対応していますが、旧500円玉(今年古くなったやつではなく、2000年までの初代のやつ)だけだったので、実質的には使えません。

で、コインセレクターをRaspberry Piにつないで、投入金額の設定とか投入金額のカウントとかをするためのコードを書いていたのですが、なんとなく自販機的というかレジアプリ的というかな感じにしてみたくなり、guizeroでアプリを書いてみました。ドン!

f:id:Akkiesoft:20211205231846j:plain

本の表紙などの商品画像がボタンになっていて、欲しいものを欲しいだけタップすると画面右のリストに追加されて、合計金額が表示されます。ちなみに商品リストはjsonファイルで書かれているので簡単に増やせます。増やしすぎると画面からはみ出しますが。

支払いボタンを押すと、画面が切り替わって支払い方法を選択できます。100円玉以外のときはコイントレーか、久々に使おうと準備中のSquare(VISA/MASTERカード払い可。JCBSuicaは審査中)で支払いしてもらう感じになります。

f:id:Akkiesoft:20211205233249j:plain

100円玉を選択すると投入画面になるので、100円玉をチャリチャリ入れます。投入されたら投入金額がカウントアップされて、合計額と一緒になったら完了……みたいな感じです。

f:id:Akkiesoft:20211205233339j:plain

以上のコードは書きかけなので、販売記録ファイルの書き込みとか細かい調整とかをやりたく、まだ増える見込みですが、現時点では画面遷移を含めて1スクリプトで書けていて、140行程度で表現できています。すごいやん……。完成したらコードを公開できればと思っているところです。

簡易的なGUIアプリならこれでいいかも

触ってみた感じ、ウィジェットの配置に若干クセがあるような気もしつつ、シンプルで意外とかゆいところも届き、さっくりGUIアプリが書ける面白いライブラリでした。開発中のレジアプリ(仮)の写真でしれっとRaspberry Pi公式ディスプレイを使っているように、タッチスクリーンでももちろん使えるので、対話型のサイネージ作成にもヨサゲです。ちなみにレジアプリ(仮)ではRaspberry Pi 3 A+を使用していますが、メモリが少ないモデルでも問題なく使えるのも強みかもしれません(サイネージ的に使うようにちょっとだけチューニングしてあります。あっきぃのラズピッピいじり4の記事を参照。私もよく参照してる)。

レジアプリの完成品はぜひコミケで見に来てさわってもらえたらと思っています。100円玉を握りしめて12/31の東ホール「テ」23a、こくだランドまで遊びに来てね。

ところで、Squareを使うならレジアプリはそっちでいいんじゃねえかという説があります。どうする!?🤔

Raspberry Pi PicoでTOTP表示機をつくりたい (1)

Raspberry Pi Advent Calendar 5日目です。別に途切れてもいいんだけれど、なんかもったいない気がして5日目です。皆様のご参加をいつでもお待ちしております。。

adventar.org

TOTP表示機

お仕事でもプライベートでも、どこかにログインしたりなんだりするときにワンタイムパスワードを使うことは増えているかと思います。が、ワンタイムパスワードを使うところが増えすぎて、スマホGoogle Authenticatorが数字まみれになっているので、ちょっと困りものです。あれ、フォルダ分けとかできると嬉しいんですけどね〜。

アプリを開いてよく使うやつをパッと見つけ出すのも辛くなってきたので、Picoでなんか出しっぱなしにできたらいいかなーと思った次第です。

あった

CircuitPythonで作るTOTP表示機はもうすでにAdafruitがチュートリアルを作成済みでした。もう本当になんでもあるわ。サービス選択にコードの入力まで実装されているので、同じハードを揃えたら普通に便利に使えそうです。

learn.adafruit.com

Breakout Gardenでつくりたいが、部材がない

が、できれば先日ケースを自作したBreakout Garden Packで作りたいので、その線でがんばります。LCDはあるとして、TOTPの生成には欠かせないRTCが……ないですね……。昔いくつか買った記憶があるものの、発掘に失敗したため、多分いらないと判断して放出した可能性がデカいです。Raspberry Piでは気軽にインターネットにつながってしまうのでNTPで拾って済む分、RTCいらんわとなりがちですが、Picoではなかなかそうもいかないので、RTCの需要復活と言った感じです。

というわけで、RTCモジュールをAliExpressで注文しつつ、それだといつ来るかわからないのでスイッチサイエンスでも注文しました(こちらもタイミングが遅く、週明け発送に)。ので、続きは来週です。

ちなみに、一つだけ時刻を得られるGPSモジュールというブツは持っていて、ちょっとやってみようとしたのですが、ベランダに出ないと時刻が取得できず、役に立たなかったためボツとなりました。知ってた。

見た目だけ整えておく

こうなるといま時点で私にできることは、コードをいい感じに参考にさせてもらいつつ、見た目を自分好みにカスタマイズするくらいなので、せめてそれをやります。

サンプルコードではTOTPを生成するHMACとかbase32のコードが一緒になってしまっているので、これらは別ファイルにしてimportするように変更しました。あと、キー入力とかTOTP送出とかの機能はないのでゴリゴリ削りました。

残りは本当に見た目のカスタマイズ。240x240のLCDサイズに合わせたテキスト配置に変えて、プログレスバー(これもライブラリになっていてほんとすげえ)の配色をTOTPの使用期限が近づいたら黄色とか赤とかに変えてみたり、ビットマップ画像を壁紙にできるようにしてみたりしました。

こんな感じに。

f:id:Akkiesoft:20211205011901j:plain

ところで、LCDはST7789というドライバーで動くものですが、同じドライバーで動く円形ディスプレイもあるので、こいつでも動かしてみました。表示位置調整でパラメーターは少し変わりますが、ちゃんと出ました。保護シートがもったいなくていまだに剥がせてない。

f:id:Akkiesoft:20211205012227j:plain

コードは最終形になったらGithubにぽいぽいしましょうね。

RTCが届いたら、そいつを実装して最低限は完成です。

OTPをキーボードとして振る舞ってTOTPを送出する機能は欲しい気がするので、ボタンを実装してみたいですね。Breakout GardenのI2CソケットにはINTピンがある(Raspberry PiのGPIOで3V3, SDA,SCL,GPIO4,GNDと並んでいるやつのGPIO4の部分)ので、ここを使えばいけそうです。これは作れるな。

AliExpressの独身の日セールでラズピッピパチモンカメラを買ってみた

Raspberry Pi Advent Calendar 4日目です。

adventar.org

AliExpressの独身の日セール

11月は独身の日とブラックフライデーとで安売りをブッこまれまくってて良くないですね。つい変な買い物をしてしまう〜。

ちょうどこのころ、仕事でラズピッピカメラを擦りまくって若干不足ぎみになったので、ちょっと買い足そうかなと思ってAliExpressみてみたら、まあ色々あったわけですが、なかでもV1カメラがバカみたいな安さで売られていてビビりました。価格はなんと260円くらい。なんでやねん。通常価格の300円でも安すぎる。こんなに安いなら2コ買ってもええやろと思ってポチポチしました。

ja.aliexpress.com

その後、V1カメラ系でフォーカス調整に対応したモデルというものも発見して、使えるのかわからないけどポチってみました。こちらは1000円くらい。

ja.aliexpress.com

着弾。

f:id:Akkiesoft:20211204122649j:plain

V1カメラは丁寧にリボンケーブルまで付属。リボンケーブルだけで200円しても本来おかしくはないのでは。ただし、このカメラモジュールが正規のものとはもちろん思っていないので、大昔に買った正規のやつと比較してみます。左が今回来たもの、右が正規品。基板のパターンがわりと違うっぽいですね。左にはR6、R7のパターンがあります。

f:id:Akkiesoft:20211204123130j:plain

裏側。こちらはほとんど同じ配置に見えますが、左上がちょっと違うみたいです。

f:id:Akkiesoft:20211204123306j:plain

つかえるのか?

Buster環境のraspistillコマンドで撮影してみました。まずは今回来たほうを2つ分。

f:id:Akkiesoft:20211204124438j:plain

f:id:Akkiesoft:20211204125042j:plain

こっちは正規品の方。

f:id:Akkiesoft:20211204124720j:plain

比べてみると、AliExpressからきた方はちょっと青みがかってるっぽいですね。正規品の方のほうが色はあってそうです。ただ、全く使えないということはないので、これで200円ちょっとで遊べるなら全然アリです……やばい。

フォーカス調整対応カメラ

続けてフォーカス調整対応らしいカメラのほう。こちらはPiZeroのCSIポート用に設計されているため、普通のRaspberry Piにつけるなら変換が必要です。持ってないな…と思ったけれど、前に買い間違えたと思っていたケーブル延長アダプターと、変換になるケーブルを組み合わせたら使えました。もしかして購入した当時の自分はこれを想定していたのか??

f:id:Akkiesoft:20211204125845j:plain

普通に撮影するのは問題なくできました。色味も正規品のそれに近いのでクオリティよしですね。

f:id:Akkiesoft:20211204130155j:plain

で、フォーカス調整の方はというと……動きませんでした。CSIにはI2Cが含まれているらしく、/boot/config.txtで有効化してやるとbus0で見えるようになるのですが、コマンドを送り込んでも動く気配がないので、中のモーターが壊れているか、コマンドが違う可能性がありそうでした。

設定の方はi2c_vcの有効化が必要なようですが、i2c_armの有効化も必要そうでした。設定後は要再起動。

$ sudo vi /boot/config.txt

dtparam=i2c_arm=on
dtparam=i2c_vc=on

raspivid -t 0 &などしてバックグラウンドでカメラを動かしっぱなしにしながらi2cdetectコマンドでI2Cバスの0を見ると、以下の通り0x0cが見えます。カメラを止めると見えなくなるので注意。0x36はマスタースレーブの変換らしいのでカメラ用のものではなさそうです。

pi@yamanooku:~/RaspberryPi/Motorized_Focus_Camera $ i2cdetect -y 0
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- 0c -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- 36 -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- -- 

フォーカス調整機能きカメラモジュールの同じと思われるものはArduCamというところで売られているようですが、ここの手順を参考にさせてもらっても動かないようでした

www.arducam.com

あるいはI2Cのコマンド表みたいなのも出てきましたが、setしても値は変わらず、getした値もなんかよくわからないけど怪しげ、という感じでした。

www.arducam.com

フーム🤔?

# ズーム?のはず
pi@yamanooku:~ $ sudo i2cset -y 0 0x0c 0x00 0x0898 w
pi@yamanooku:~ $ sudo i2cget -y 0 0x0c 0x00 w
0x0000

# フォーカス?のはず
pi@yamanooku:~ $ sudo i2cset -y 0 0x0c 0x01 0x0898 w
pi@yamanooku:~ $ sudo i2cget -y 0 0x0c 0x01 w
0xff00

# モーターがビジー?
pi@yamanooku:~ $ sudo i2cget -y 0 0x0c 0x04
0xff

PiZeroに直接接続しても変わりないようなので、こちらのカメラモジュールはただの単焦点カメラとして使う感じになりそうです。画質はヨサゲなので良いけど、うーん惜しい……。

まとめ

AliExpressの激安カメラは、色味こそ怪しいっぽいですが、普通にRaspberry Piで使うことができました。画質にこだわるならそもそもHQcamを使ったほうが良いので、写ってOpenCVかなんかで使えればそれで良い人にはアリなソリューションかもしれません。

余談(長い): 最近のRaspberry Pi OSのカメラ事情

カメラと言えば、Raspberry Pi OS Bullseyeからカメラを制御するためのドライバーがlibcameraベースに変更され、今までのものはレガシーとなりました。今までのカメラモジュールはクローズドソースだったのに対して、libcameraはオープンな実装のため、自由度がましていると説明されています。

www.raspberrypi.com

libcameraへの対応自体はだいぶ前から発信されており、ドキュメントでもBullseyeリリース前から予告されていました。

ベーシックなコマンド類が変わるのは別にそれほど大きな変化ではなさそうに見えるので、影響もそれほど大きくはないと思われますが、一方で今まで多くの人が使ってきた(でもRaspberry Pi公式提供のライブラリじゃなかったらしい?)Pythonライブラリであるpicameraが使えなくなってかつ代替のPythonライブラリが開発中で間に合っていないことがカメラユーザーの中で致命的な問題になっており、picameraのIssueでは、Bullseyeで動かないという悲鳴や、Raspberry Pi OSの開発姿勢に疑問を呈されるなどの場外乱闘も勃発しています。私もメダカメラで使ってるので、こいつはBullseyeに移行できなさそうです。

github.com

Bullseyeではカメラの他にもKMS採用など新しいものがいくつか入っており、スムーズに移行できないであろう要素が存在するため、そのあたりを考慮してか、Raspberry Pi OS史上初となる一個前のバージョン(Buster)の最新ビルドが並行してリリースされることとなりました。

www.raspberrypi.com

Pythonでカメラを扱う人たちに関しては、libcamera対応のPythonライブラリが出て移行できる状況が整うまでは、無理にBullseyeを採用せずにBusterにとどまったほうが良さそうです。ただし、上記ブログにもあるとおり、Busterのメンテナンスリリースでは今後の新しいモデル(例えばRaspberry Pi 5とか)には対応しないとのことなので、移行せずに延々Busterを使い続けることも難しそうではあります。Raspberry Pi 5なんてものがいつ出るのかって話ですけど。

Raspberry Pi Picoに有線LANポートを生やしてみる

Raspberry Pi Advent Calendar 3日目です。多分そろそろネタが間に合わなくなる。というか薄い本書いてないのどうしよ。

adventar.org

Pico×ネットワーク

Picoを触っていると、やはりというか、ネットワークに繋ぎたい欲求がわきがちです。以前はPico Wireless PackでESP32を通じてネットワークに接続したりWebサーバーを立てたりしましたが、安定性を求めるなら有線LANのほうが嬉しいこともあるような気がして、試してみたかった次第です。

akkiesoft.hatenablog.jp

いろいろな有線LANモジュール

有線LANを使うためのモジュールは世の中には色々ありますが、自分でデータシートを読みながら実装するほどの技量はないので、できればすでに先駆者が開拓済みのものをありがたく使わせてもらえるとありがたいです。そして、できればCとかC++よりはCircuitPythonかMicroPythonで扱えるものがほしいです。

まずは昔に遊んでみたことがあるSPI接続のENC28J60モジュール。Picoで使う例はいくつか出てくるので、頑張れば動くようですが、Python系はなさげでした。

akkiesoft.hatenablog.jp

同じくSPI接続のLAN8720というモジュールでの実装例もありますが、これもC系っぽいです。買ってからPython系のモジュール実装がないことに気づきました……。

www.raspberrypi.com

じゃあPython系で使えるものはないかというとちゃんとあって、やはりSPI接続のWIZnet W5500(W5000シリーズのいずれか)が、CircuitPythonで利用可能です。先日のブラックフライデーでポチって昨日届いたので、これを触っていきます。

f:id:Akkiesoft:20211202232304j:plain

W5500モジュールをつなぎこむ

上の写真の一番右がW5500モジュールなのですが、裏返すとチップ類がまとまっていてコンパクトです。

f:id:Akkiesoft:20211202232655j:plain

配線は電源に3.3V接続を利用する以外は、MOSI,MISO,CS,SCLKとリセット用ピンを使う普通のSPIって感じです。今回はなんとなくTiny2040を引っ張り出してきました。

モジュール Tiny2040
G GND
V 3.3V
RST GP7
MI GP0
MO GP3
SCK GP2
CS GP1

配線の参考サイトはこちら。

f:id:Akkiesoft:20211202233414j:plain

何か動かす

とりあえずDHCPでアドレスを取得してもらうスクリプトを動かしてみます。以下のページの手順に従ってやってみました。

www.hackster.io

CircuitPython環境を用意して、ライブラリはadafruit_bus_device、adafruit_requests.mpy、adafruit_wiznet5kの3点を放り込みます。

スクリプトの方はリポジトリをたどったらIPアドレス固定になっていたので、adafruit_wiznet5kライブラリを見てDHCPを有効にしました。

github.com

# SPI接続先の指定をTiny2040に合わせた
SPI1_SCK = board.GP2
SPI1_TX = board.GP3
SPI1_RX = board.GP0
SPI1_CSn = board.GP1
W5500_RSTn = board.GP7

(中略)

# コメントアウトの切り替え
# Initialize ethernet interface with DHCP
eth = WIZNET5K(spi_bus, cs)
# Initialize ethernet interface without DHCP
#eth = WIZNET5K(spi_bus, cs, is_dhcp=False, mac=MY_MAC)

# Set network configuration
# コメントアウト
#eth.ifconfig = (IP_ADDRESS, SUBNET_MASK, GATEWAY_ADDRESS, DNS_SERVER)
|<<

動かしてみると、以下の通り出力が得られました。MACアドレスは指定しないとde:ad:be:ef:fe:edになるようで、どうもW5500自体にはMACアドレスは含まれてないみたいです(参考: [http://nopnop2002.webcrow.jp/Arduino_Networking/Network-2.html])。ので、家の中で重複しないランダムなものを作って使えば良さそうな気がします。

>||
Wiznet5k Ping Test (no DHCP)
Chip Version: w5500
MAC Address: ['0xde', '0xad', '0xbe', '0xef', '0xfe', '0xed']
My IP address is: 192.168.29.127

取得されたIPアドレスpingを打って帰ってくることも確認できました。よさげ。 

Webサーバーを立ててみる

冒頭に貼ったPico Wireless Packを使ったWebサーバーをW5500用に移植してみました。と言ってもそれほど手間ではなく、Wi-Fi的な部分をW5500の初期化に置き換えて、wsgiserverモジュールをesp32spiからwiznet5kに変える程度でした。

github.com

これで、Pico Wireless Packで作ったときと同じようにWebページにアクセスできるようになりました。なお、ページを開く速度も同じだった模様。ちょって調べてみた感じSPI接続の限界説がありそうです。

消費電力……

W5500+Tiny2040で作って、消費電力はどんなものかと興味がわいたので計測してみたところ、接続中はアイドルでも通信中でも0.15Aとなりました。W5500モジュールを引っこ抜いた状態が0.03Aなので、W5500モジュールがまあまあ電気を食うようです……。ちなみにPico Wireless Pack+Picoはアイドル0.04A、使ってる間は0.1Aでした。

Raspberry Pi Zero Wをカリカリにチューニングするとアイドル時0.09Aで動くことを考えると、それならPiZero使いますわ……という気持ちになります。でも、PiZeroにUSB-LANアダプターをつないだらその分消費電力もプラスになるから、一応Picoのほうが省エネとも考えられて、悩ましいところです。

まとめ

Raspberry Pi Picoに有線LANをはやしてみるネタでした。例えばもし、Raspberry Piでセンサーから値を取ってどこかに送りつけるだけの工作みたいなのがあるとしたら、そいつを置き換えるのに有用そうです。そんな贅沢な例があるのかは知りませんが……いやあるぞ、弊社のサーバールームでPi 1B+を使って温度をZabbixに投げるだけのやつがあったぞ……🤔!?

モジュールをケーブル配線するのが面倒!という人には、なんとWIZnetからRP2040と統合されたボードが発売されているので、これを買うとヨサゲです。Picoに乗せて使えるタイプもあるようなので、お好みで選ぶと良いでしょう。

あと、タイムリーなことにWIZnetのTwitterが、RP2040と統合されたボードがAWS IoT Coreで使えるデバイスとしてAWSのカタログに載ったというツイートをしたのをEbenがRTしているところを見かけたので、AWS IoT Coreでなんかやってる人にもおすすめのようです。AWSなんもわからんので私は知らないのですが……。