Fireworks!

人間が長い間飛べなかったのは空を飛べるわけがないって考える人が圧倒的に多かったからなんだ。うまく言えないけど、人間は、鳥にだってなれたんじゃないかと思うんだ。そして、今だって鳥になれると思うんだ。人間の格好をしたままでさ。
大事なのは、やる気みたいなもので、ちゃんと空を飛ぶ方法というのはあって、それを学んだり勉強したりしようとする気持ちが大事なんだと思うね俺は。

リチャード・バック「イリュージョン」/村上龍訳

リチャード・バックは「FPVドローン」という、彼らの時代には想像のつかないチートみたいな方法で空を飛ぶことを、どう思うだろうか。
リチャード・バックというと「かもめのジョナサン」が有名。
当時はグルイズム的なところはヒッピーに担ぎ上げられた過去がある。
オウムでも同じようなこと言っていたのがいるな。
他の作品を見ると、とにかく飛行機で飛びたかっただけの人であることがわかる。
結婚した「One」あたりから、なんつうか普通になり、挙句の果てに「かもめのジョナサン」に最終章を足してしまった。
それでもリチャード・バックには正直でリアルな男の生きざまを感じる。

今回「花火撮影の手伝いしない?」ということで呼ばれてみた。
暗闇での位置確認は必要だろうなあと思い一工夫。
FAI DTRC2019 で使った Neopixel を引っ張り出して設営。サイズは10mぐらい。
当初は線香花火をイメージして設置したのだが、動画を見ると、葉っぱもついて花のような、打ち上げ花火のような。
急場しのぎにしてはいい感じになり、実際かなり活躍し、いい感じに動画で拾ってもらえた。
準備が十分だったところも、足りないところもあったりして、それでもなんとか無事完了して。
そしてまた次の課題が見えてくるドローンはホント飽きないな、と思うのです。

なんせ空を飛べる。

ラズパイ4BにElastic Stackを組む

ものすごいボロな x86鯖で Elasticsearch + kibana + Fluentd + Mosquitto な IoTデータ収集をやってる。
いつ壊れるんだろうなーという状態になって4年ぐらい経過した気がする。
実験用でクリティカルでないし放置気味。
先日ちょっと刺さって、じゃ終わりにしますか!としたら「データをサルベージしてくれ!」とかになって。
つぶれから気づく、ごんぎつねの存在。
なんとか復帰して今回はことなきを得たのだが、懲りずに使い続ける。
これまで何度こういうことを繰り返しただろうか。

もうこの手のヤツをシングルノードでゴリゴリやるのとかもう流行らない。
さりとて x86 をいっぱい揃えるとお金もさることながら場所リソース確保が悩ましい。
ということで「貧者の味方ラズパイ」で動かんかなーとなるのだけど、3B+ ぐらいまではメモリ1GBしかなくてちと足りんかった。
ところがココに至って、ラズパイ4B登場。
2GB/4GBが販売されてて、さらに8GBが登場するという。
これはイケるやん!と調べたらガッチリやってる人がいた。

■Raspbian buster でElastic Stack 7.5.1 を動かす
https://qiita.com/Y-Shikase/items/7e6025855454c443f620
OpenJDKとNodejsのバージョンがキモとのこと。
Elastic 6.xの頃に 3B+ に組んだ頃も、同梱されている OpenJDK が x86バイナリで、入れ替えとかやったような記憶がある。
最近は ARM 運用も視野に入ったのか、そのあたりが整理されつつあるとのこと。
OpenJDKは11を使う。
Logstashが OpenJDKの8シバリで、かつてはインストール時には8を使いましょうとか言われていたが、今は同梱されて配布されるようになってるらしい。
Machine Learning のところに x86バイナリあるので、そこは false。
これだけでいいらしい。single-node 設定も入っているので単体で動く。
kibana の方は Nodejs のx86バイナリが同梱されてくるので、それを ARM と差し替えればよい、とのこと。

さっそく手元にあったラズパイ4B(2GB版)に、Raspbian 最新版(5/27版)に入れてみた。
32bit版だけど、そのうち64bit版も出るだろう。なんならubuntuって選択もある。
本番運用は64bitで構成したほうが先が長くていいかもな。
上記記事との違いは、Elasticは最新の 7.8.0 をインストールした。
あと Nodejs のバージョンにこだわりなかったので、ツルシで入った v10.21.0 を使った。
この違いでも問題なく動いた。やったー。

またUI変わったね。

1回目起動してほっとしたが、再起動で動かず。
kibanaのフォルダにヘンなコントロールコードのファイルができるってのは、コチラでも再現した。

なんだこれ?

リンク先の記事あるとおり、コントロールコードのファイルを消すスクリプトを追加する。
この情報ありがたい。これ気づかないと思う。
これなかったらおそらく「動かんなあ」とくじけていたこと間違いない。

Fluentdは手で組み上げすれば動く。
td-agentが更新とかも手軽だけどx86版しか配布してない。
先日どこかで 3.8.0 のARM版みたいのも見かけた気がするんだけどな。

まあ今のボロ鯖の代替ができるようにはなった。
バージョン依存とかあって、たくさんのラズパイに組み上げるなら、Docker イメージにした方がいいよね。
とおもったら、同じ人がやっていた。すごい!
■Raspberry Pi 4Bのdocker上でElastic Stack 7.6.0/7.7.x/7.8.0 を動かす
https://qiita.com/Y-Shikase/items/d162805aebb3a1a8447f
公式からも AArch64(ARM64bit)の Dockerイメージ配布はじまっとる。
https://www.elastic.co/jp/blog/elasticsearch-on-arm
64bitなので、今の Raspbian だとダメだし、kibana は配布されていないらしい。
だがこれは確実に ARM版配布の流れだな。

Dockerまで行ったならば、Kubernetes で組み上げたいよね。
とおもったら、そちらも実現したとのこと。
いやー在宅の暇つぶしにすごいいいネタのような気もする。
問題はx86に比べれば安いといえ、たくさんのラズパイ買ってくれるかなー。

8/20追記。
7.9 の Elastic Stack で、ARM64bit(AARCH64)に対応。
https://www.elastic.co/jp/downloads/elasticsearch
これで導入もラクチンになりましたね。
なおkibanaはARM版ないです。
コントロールコードのワケわからんファイルの処理があるんで、こっちも公式パッケージほしいですね。
Fluentd の ARM 向けパッケージはココにありました。
https://td-agent-package-browser.herokuapp.com/3/ubuntu/bionic/pool/contrib/t/td-agent
よーくみると、arm64 があります。(3.8.0)
ubuntu Bionic 向けのパッケージですが、試して見るとインストーラがちゃんと読み替えてくれて Buster にも入りました。(キケン)
ご参考まで。

11 bit studios のゲームが国の推薦図書に

先月末にthatgamecampany「風ノ旅ビト(英語名Journey)」が Steam に出て、ヒマを見つけては周回しているのですが、あらためてゲームスゲエなー。
体験を通して独特の感動を与えてくれる。今回年齢によって感じ方も変わることも気づいた。
こんな感じでハードな追体験をさせてくれる作品をつくるゲームメーカーに 11 bit studios がある。
この度、その作品が国の推薦図書になってしまったようだ。

戦時下生活サバイバル『This War of Mine』がポーランド教育省の学生向け推薦図書リスト入り。
https://automaton-media.com/articles/newsjp/20200619-128126/

ポーランドのゲーム会社 11 bit studios の「This War of Mine」。
戦争に巻き込まれる市民に視点をあてたゲームで、ゲームをすすめる上で厳しい選択を迫る。
このゲームは戦争を題材にしているのでやむなく18禁だが、それを含めての推薦図書。
DCL追加シナリオのどれも重い。うわーそこくるかーってお腹にくるヘヴィさ。
戦争ゲームってドンパチやるのが人気で主流ですが、逆側の視点は珍しいのではないか。
このゲームは5年ぐらい追加シナリオなどあったが、昨年末ファイナルカットへ至った。

この重厚なタッチ。

で、今の 11 bit studios は、なにをやっているかというと新タイトルの「Frostpunk」ってのをやっている。
これも期待を裏切らない重厚な作品。
スチームパンクな時代設定で、原因不明の氷河期がやってくる。
そんな環境で生き残りをかけて市長になってシムシティ。
容赦なく(ホント容赦ない)訪れる自然の脅威に、法律制定や宗教、技術開発でもって抗う。
相変わらず厳しい選択を要求する。
コロナ禍の現代いろいろ思い知らされる、まさに今やるべきテーマではないか。
常に寒い感じなのも季節にあってるぞ。

とても寒そう。

タイムリーなことに Steam のサマーセールになってるんですよね。
「This War of Mine」は495円。
https://store.steampowered.com/app/282070/This_War_of_Mine/
バンドル全部つけても932円。
https://store.steampowered.com/bundle/9717/This_War_of_Mine_Complete_Edition/
「Frostpunk」は1236円。
https://store.steampowered.com/app/323190/Frostpunk/
Steamのサマーセールは7/10まで。

「風ノ旅ビト」がSteamに登場

最近はスマホの「Sky」が好調なインディースタジオ thatgamecampany のゲーム。
この度「風の旅ビト」(英語名:JOURNEY)の PC版が Steam で出た。
https://store.steampowered.com/app/638230/Journey/

この空気感がすばらしい。

「風ノ旅ビト」は独特なオンラインゲーム。
ネットで接続してる他の人がゲーム内にいるが、会話等はできない。
身振り手振りぐらい。協力してもいいし、しなくてもいい。
ゴールに行くと、プレイヤーの名前がわかるが、意図的に会うことができない。
ヒントもうっすらで、周回するうちにいろいろ発見するようになる。
そして音楽が秀逸。
浮遊感とか砂を滑るとかの操作感が秀逸。
視点変更とかあるので、ゲームパッドでの利用がベスト。
追記:キーボード+マウスで全然イケた。慣れてるとそっちがいい。
個人的に名作だと思う。
やってみたかんじ、想像より GPU の処理が重かった。
今なら25%オフの1,140円。

買ってから気づいたのだが、ローンチ2週間の間はなんと「Flower」もオマケでついてくる。
商標の関係で Playstation では「Flowery」という名前だった。
これは野原で花びらを FPV で飛ばしながら、他の花びらを仲間にしながら飛んでいく。

これも非常に空気感のよいゲーム。
あらためて見てみるとドローンシミュみたいなゲーム。
いっそ操作系をあわせたらすごくよい気もするぞ。
できないかもがいてみるか。

VoiceMeeter Banana あるいは Realtek Audio 問題

Windowsユーザにオススメの万能仮想ミキサー
「VoiceMeeter Banana」が凄い
https://av.watch.impress.co.jp/docs/series/dal/1255935.html

在宅ワークに引っ張られてウェビナーとかのニーズも高まってるそうで。
なんかスイッチャーとかもプレミア価格で取引されてるとかも聞いてる。
Web配信系はやったことなかったのだが、WTWONLINEの手伝いをしているうちに知識がついてきた。

問題は音声でこのあたりが最後に混乱した。
具体的には仮想ミキサーを組み込むことで解決する。
最終的に今回は採用にいたらなかったが、コレはスゲエと思ったのが「VoiceMeeter Banana」。
これ高機能ゆえのゴチャゴチャ感と、独自なインターフェースで、ぱっと見とっつきにくい。
でも音声についてまとめるのには最強のツール。これでタダすごいな。(ドネーションウェア)
興味のある人は使ってみるといい。

今回記しておきたいのは、これに伴う Realtek Audio の問題。
手順をまとめるのに、一旦アンインストールして、再インストール。
そこで音が出なくなった。
どうも Realtek Audio のドライバが刺さっているようだ。
あちこちのソフトから「使えません」といわれる。
BTヘッドセットからは音が出る。

これの修復が苦労した。
まずやったのはデバイスマネージャから Realtek Audio のドライバを入れ直し。
起動時にちょっとだけ動くが、その後刺さって止まる。
なんかドライバの組み合わせ順序みたいのがあって、どっかがよくない食い合わせになっているっぽい。
VoiceMeeter Banana はそこに割り込む形なので、出し入れした時に崩れたのだろうと予測。
ドライバの入れ直しでは改善できないので、メーカ配布のドライバを入れ直すことにした。
https://www.asus.com/jp/Laptops/ROG-Zephyrus-S15/HelpDesk_Download/
入れ直したがダメ。ホントにドライバファイルだけでないか。
インストーラーから欲しいのだが。

素の最新ドライバを探そうと思い、Realtek屋に行ってみるがロクに配布していない。
なんということか。
有志がアチコチから見つけてみた最新ドライバーをこちらで配布しており、こちらからダウンロード。
https://www.station-drivers.com/index.php?option=com_remository&Itemid=0&func=select&id=508&orderby=2&page=4&lang=en
けっこーマメに更新されている模様。
この中にあるインストーラー付き HP のヤツを使って入れ直したところ、ついに音が出るようになった。
あーやれやれ。

しかしヘッドホンを挿してもスピーカーと自動で切り替わらない。
常日頃はスピーカーオフで、ヘッドホン挿した時だけ音がでる、が望ましいっすね。
さらにウチのはヘッドホンのラインに ESS の DAC が噛ましてあり、出力・品質ともに非常に高性能なのだ。
音が出たからいいやん!というわけにいかない。
あれやこれやもがいた結果、HP のドライバ入れた後に、ASUS提供のドライバを上書きしたら完全復帰した。
もう一回、Voicemeeter Banana 入れて、外して、刺さって、復活するところまでやったのでカンペキだろう。

Realtek Audio は時折カスタム構成があり、そのあたりが面倒っぽい。
Windowsっぽいバッドノウハウに何年かぶりに遭遇した気がする。
ゲーミングはカスタム多いから、よく理解しないとトラブル遭遇時たいへん。
またハマった時にための覚書。

いろんなOSでスクショを素早く撮る

スクショをチャットツールに貼り付ける機会が増えませんでしたか。
今回はスクショコマンドをまとめたみた。

スマホだとスクショ撮ってチャットツールに流し込んだりするの簡単ですよね。
Android だと「ボリューム上+電源ボタン」で撮影。
共有のショートカットから簡単にペースト。
他の OS だとどうかという話です。

■Windows の場合
「Winキー+PRTSC」で全画面スクショ。
「ピクチャ」フォルダに連番で、パシンパシンぶちこんでくれます。
部分的なスクショは「Winキー+Shift+s」で、選択するとクリップボードのバッファに入る。
これチャットツール上で 「ctrl+v」 するとすぐ貼れる。
すごく活用できるので是非覚えたいテク。

画面の動画撮影はどうするか。これ何種類か方法がある。
「XBox Game Bar」というのが入っていると、「Winキー+G」でスクショメニューが出る。
会社PCとかで入ってない場合がある。
その場合は、なんとあの「パワーポイント」で動画キャプチャ可能。
「挿入」の一番右にボタンがある。

まあキャプチャアプリ入れてもいいんですけどね。
共通に使えるノウハウとして、できるだけ標準で済ませたい時代ですよね。
なお Geforce が入っていると、Alt+z で nVidia のメニューが使え、負荷の少なさでいくと、これが一番よい感じ。

■Chromebook の場合
部分スクショは「ctrl+Alt+すべてのウィンドウ(F5)」。
https://www.google.com/intl/ja_jp/chromebook/howto/take-partial-screenshots/
「すべてのウィンドウ(F5)」キーの機能って、Widows でいうところの「Alt+Tab」。
なお全画面スクショは「「ctrl+すべてのウィンドウ(F5)」」
動画については拡張機能を入れる必要があって標準では対応していない。

■Mac OSX の場合
部分スクショは「shift+command+4」。
全体スクショは「shift+command+3」。
動画キャプチャは「shift+command+5」。
QuickTime player 使う方法もある模様。

■Ubuntu の場合
部分スクショは「Shift+PrtSc」。
全体スクショは「Alt+PrtSc」。
古来のショートカットですね。
動画キャプチャは「ctrl+Alt+shift+R」で録画開始。
もう一度押すと録画停止で書き出されます。
こちらはコーデックが WebM で出力されるので注意。

■ラズパイ(Rasbian)の場合
そういえば、8GBメモリ搭載のラズパイ4Bがリリースされますね。
https://monoist.atmarkit.co.jp/mn/articles/2005/29/news048.html
クライアント用途なら十分じゃないか。それはさておき。
「scrot」というコマンドが入っているので、そちらが標準ですが使い勝手はいまいち。
手間ですが「apt install gnome-screenshot」で、アプリを入れるのがおすすめです。

■おまけ
スクショした画像をOCRしたくないですか。
実は Google Drive にさりげなくOCR機能がある。
https://webkikaku.co.jp/homepage/blog/webservices/googledrive-ocr/
スマホが手元にあったら、Google Keep や Google レンズで撮影するって手段もある。
VelociDrone で LeaderBoard がいい感じに上がらない時に、いろいろ実験したりした。(ローテクすぎる)
背景入るので間違いも出るけど、まあ数字ぐらいなら取り込める感じ。

ChromebookのUVCカメラ活用事情

テレワークでパソコン爆売れは間違い?本当に売れてるのはChromebookらしい…
https://www.gizmodo.jp/2020/05/telework-boosts-chromebook-sales.html
これ海外の話で、特に米国では Chromebook を積極的に使っているようだ。
日本は相変わらず Windows が売れているらしい。
Chromebookは学校関係で活用されはじめてるとは聞いている。
まあ十分だと思う。トラブルも起きにくそう。
お仕事もこの端末で完結できるように環境整えるべきではないか。

今回のテレワークはビデオチャットへの配信ということで、UVCカメラへのニーズが随分高まり、活用方法もいろいろ出た。
なにも顔を映すだけでなく、動画を流し込む手段としての活用だ。
HDMIキャプチャとか OBS、Xsplit の仮想UVCとか。
今後も配信コンテンツの作成で活用されるだろう。
UVCカメラというと、FPVドローン界隈では 5.8GHz 受信機がおなじみ。

スマホやPCに接続して、FPV映像を受信したりするのだが、実は Andoid9,10 においては API の仕様変更に伴い、UVCカメラがうまいこと使えていない。
https://serenegiant.com/blog/?p=3596
ようやく最近修正が入り始めたらしい。
https://serenegiant.com/blog/?p=3830&
こちらにもあるとおり、OS更新の途絶えた端末ではムリだろうし、使える使えないが出るのめんどう。

ということで、出先の確認用途では Chromebook を使うことが多い。
OTG で接続すると、複数の UVCカメラ接続も可能。
DVR も標準のカメラアプリで可能。
ビデオチャットで配信可能かどうかはちょっとめんどくさい。
Chromebook の Android は LXD コンテナ技術で搭載されているので、USBデバイスにアクセスできない。
(同様に crostini からもアクセスできない)
なので、使う場合は ChromeOS のブラウザ機能限定となる。
ブラウザ版のチャットツールを使うことになるが、サービスごとにUVCデバイスの切り替えは対応しているかどうかで変わるようだ。
Discord はダメだったが、Google Meet いけるとか。
配信となると、こっちも使える使えないがあったりする。

Chromebook は Betaflight Configuretor の類も拡張に入れられる。
https://papalagi.org/blog/archives/358
特にシリアルのドライバ関係で悩むことがないのでオススメだ。
さすがに VelociDrone は動かないが、FreeRider なら動く。
https://papalagi.org/blog/archives/360
先の記事にもあったとおり、sapcedesk での連携もできる。
https://papalagi.org/blog/archives/1399
Chromeのリモートデスクトップもむちゃくちゃ強力だし。
https://www.itreview.jp/blog/archives/3938
ということで、このページでは Chromebook の活用を推奨いたします。

WiFi接続のマルチモニタ「spacedesk」

ようやくコロナ自粛解除の方向になるようで。
とはいいつつ、今後も在宅ワーク継続の方も多いようです。
在宅ワークでいくつかのノウハウができたので、覚書のためにまとめていこうと思う。
最初期の頃はボイスチャットやビデオチャット関係をまとめてた。
https://papalagi.org/blog/archives/1186
https://papalagi.org/blog/archives/1188

今回はマルチモニタの問題。
物理的につなげばいいんだけど、場所とるしめんどくさい。
「男の仕事場」的にガッチリ固めるのもなんだかな。
そこらへんに転がってる端末を、必要な時に必要な数使いたい。
Windows についてはさりげなく Miracast に対応しているので、そいつを使えばいいんだけど、これ使い勝手があんまりよくない。
ということで出てくるのがコチラ。

spacedesk
https://spacedesk.net/

WiFiベースでマルチモニタ化してくれるフリーソフト。
出力モニタ側はいろんな OS が対応している。
画面のローテーションはもちろん、タッチも拾うし、リフレッシュレートは60fpsまで対応可能。
この中で一番使い勝手が良いのが Android だろう。
FireHDとか転がってないですか。
さらに一歩進むと Chromebook の Android を使うのが一番便利。
つないで VelociDrone を表示してみた実験がコチラ。

本体液晶が反応いいのはわかりきっているが、動画視聴ぐらいであれば困らない程度のレスポンスとスピード。
十分使い物になる。
つないでいるのは Pixelbook だが、ドットバイドットだと 3429×2286(珍しい白銀比アスペクト)までいける。
もちろん解像度をあげると、Windows 側の GPU に負担がいく。
Chromebook の Android がよいのは、ChromeOS も並行して動いているので、そちらはそちらで動かすことができる。
ピクチャーインピクチャーとかも可能なワケだ。
ついでに画面の角度を固定したり、タブレット形状で使ったり、縦配置にしたり、とにかく調整幅が多いのが便利。
バカほど電池は持つし、もちろん複数台の接続も可能だ。
Chromebook や Android から HDMI の出力も可能なので、スイッチャーに突っ込む時にも使える。

残念ながら出力側は Windows のみ。
リンゴの人は、sidecar つうのがあるようです。
あと同一ネットワーク内にいる必要があるので、VPN 環境の人は接続に工夫がいります。
オンラインであれこれやると、チャット画面を別に出したいとか、資料を別画面とか、いろいろあると思うので覚えておくとよいと思う。

ネッククーラーNeoがスゴい!

いよいよ暑い日も出てきましたね。
中間期を屋内で過ごしていましたが、USBファンを出してきました。
ゲーミングノート冷却用にも VTX 冷却にも使えるぞ。
そんな中、すごい製品を見つけて思わず買ってしまった。
今年の夏はコレだ!

USB電源のユニークなお役立ちアイテムを売るサンコーレアモノショップ。
今年の夏対策はこちら「ネッククーラーNeo」。
https://www.thanko.jp/shopdetail/000000003498
首の冷却部にペルチェ素子が組み込まれている。
ペルチェ素子の排熱側をファンで冷却している。

ペルチェとは通電することで、片側の熱を逆側に移動するという素子。
つまり排熱側を冷却することで、吸熱側は温度が下がってくる。
世間的にはワインセラーとかに活用される。(音がしないため)
かつてパソコンの CPU 冷却とかで、よく使われていた。
古いパソコンマニアなら一度はつかったことがあるのではないか。
排熱側がおっつかないので、多段のピラミッド式に組んだりする。
その結果、冷えるは冷えるけどものすごい電気食う。

そんな思い出のペルチェ。
今回も 5v の USB 電源だし「まあちょっと冷たくなる程度でしょ」と思っていたら。
全然冷える。結露するぐらい冷える。十分効果がある。
首元を冷やすというのも理にかなっている。
操作は3段階あり、強・弱・ゆらぎ。
ゆらぎは強くなったり弱くなったりするやつで、フルパワー時はファンの音もそれなりする。
5v 1A なので、モバイルバッテリはもちろん、PC の USBポートでもOK。
カタログによると、10000mAh のモバブで 10時間持つそうだ。

5980円とちょっと高いと感じるかもしれないが、その価値があると思う。
屋外ドローンはもちろん、在宅ワークにも有効ではないでしょうか。
控えめにいって、オススメ。

Ender3ProにOctoPiを追加する

格安3Dプリンタを改良しようシリーズ。
今回は OctoPi について。
Ender3は本体の SDカードに stl データを書き込み、それをメニューから呼び込ませることでプリントする。
このネットワーク時代にそれは不便やろ。
ということで、ネットワークプリンタ化するのが OctoPrint。
https://octoprint.org/
具体的には USBシリアル使って、Gコードを送る WiFi 端末ということです。
OctoPrint は python ベースなので、OS 選ばず使える。
今回は3Dプリンタ専用ということでラズパイベースの「OctoPi」を設置します。

■何が便利か
ものすごい高機能なので、さっさと試すのが早いと思う。

■作り方
https://octoprint.org/download/
ここにあるページの説明になります。

■どのラズパイにするか
どれでもよいが、Zero は制限付となっています。
おそらく512MBのメモリが厳しいのでしょう。
同様に 3A+ もダメかもしれません。
もちろんがんばると Zero でもイケると思いますが、USB 給電とかいろいろハマりポイントもあるので、腕に覚えのある人以外は 3B 以降が無難です。

■ラズパイ以外に何が必要か
システムを入れる SDカード。
8GB もあれば十分ですが、別に 32GB でもよいです。
ラズパイの電源。4B とかはデカいの要求するので注意。
最終的には Ender3pro の DC24vから BEC つないで一本化するのがよいでしょう。
Ender3pro に接続する Mini-USB ケーブルが必要です。最近減りましたね。
通信は USBシリアルで行う形です。(/dev/ttyUSB0)
カメラがあると、印刷風景がネットワーク越しに見れたり、ラプス動画ができたりします。
ラズパイ純正カメラでも Webカメラでもいいです。
がんばればマルチカムもいける。

■システムイメージ焼付
最新のディスクイメージはコチラ。
https://octopi.octoprint.org/latest
SDカードに OctoPrint からダウンロードしたシステムイメージを焼き付ける。
最近は Etcher が多いですかね。マルチプラットフォームだし。
https://www.balena.io/etcher/
そういえばラズパイ公式からもイメージライタ出されていましたね。
https://www.raspberrypi.org/downloads/
こちらもマルチプラットフォームで、メジャーどころは選ぶだけでよいし、EEPROMなども焼けるので今後はこれが主流になるかもしれないですね。
OctoPrint の場合は、「Use Custum」でイメージファイルを指定して焼きましょう。
pythonのスクリプトも配布されているので、作り直すのがめんどくさい場合は、それを入れるのもアリです。

■WiFiの設定
ラズパイを使う上で、めんどくさいのがこの WiFi への参加。
モニタや HDMI を準備したくなるが、できるだけやりたくない。
ラズパイのディスクイメージは、2個のパーテションで構成されている。
先頭が FAT で、2個目が ext4(Linuxのファイルフォーマット)。
Windows などから見ると、先頭のドライブが開ける。
この中の「octopi-wpa-supplicant.txt」に WiFi の設定を書き込むことでブート時に WiFi に接続する。
改行コード(LF)に注意して書き込む。
書き方はコチラに FAQ がある。
https://community.octoprint.org/t/wifi-setup-and-troubleshooting/184
一般家庭の WiFi ルータだと、WPA/WPA2 で SSID/PASS 設定でイケルと思う。

## WPA/WPA2 secured
network={
ssid="自宅のSSID"
psk="ルータのパスワード"
}

あと国コードもココで直しておくと吉。

#country=GB # United Kingdom コメントアウト
country=JP #追加

ココがすんなりいかないと、ちょっとめんどくさい。
そこはあとガッツで手作業でいくしかない。
有線LANだと悩まないでいいです。

カメラの設定は同様に「octpi.txt」に入っています。
ラズパイカメラか USB カメラかで設定変える必要あるので、よく中身を見て修正しましょう。

■起動する
設定は一旦これで終了。
Mini-USBケーブルで Ender3pro と接続し電源オン。
最初は初期設定あるのでしばらく時間かかるかも。
心配なら HDMI で画面を出して確認してみよう。(通常運用時はつなぐ必要なし)
起動が完了したら Avahi に対応しているので、「http://octopi.local/」で Octopi が表示される。
Windows の場合は bonjour 入ってないとダメです。
もちろん IPアドレス直打ちでもよい。
SSH も動いているので、黒い画面派の人はそっちでアレコレやってもよい。
初期IDは「pi」でパスワードは「raspberry」です。(Rasbianと一緒)
sudo raspi-config で、rootパスワードの変更とか、TimeZone の変更とかしましょう。
直接必要ないかもしれないですが、初期の Locale が en-GB/UTF-8 なので、#とか入力するために、Locale を en-US/UTF-8 で LANG=C にの変更とかは個人的に最初にやってます。

■Cura(スライサー)への接続
Cura のプラグインを使うことで、Curaから直接プリントできるようになります。
OctoPrint から API を入手し、Cura のプラグインに入力しましょう。

■その他のプラグイン拡張
本体からアレコレあるので選んで使ってみる。
WebHookでプリントスタート終了をプッシュするとか、タイムラプス動画撮影するとか。
思いつきそうなハード改造はコチラにまとまってる。
https://howchoo.com/g/ntg5yzg1odk/using-octoprint-with-the-creality-ender-3-3d-printer
いろいろできる。

■まとめ
ラズパイ便利だなあ。
OctoPi は、ほぼ素の Rasbian なので、ちまたにあるIoT端末的に、いろいろ仕込むこともできる。
箱で囲って温湿度センサーを追加して管理強化するとか。
タイムラプス撮影時だけ照明点灯とか。
ラズパイをイジる入門としては、目的も作りやすいし対象としてはいい感じでないでしょうか。