イマサラ Jetson nano 事始め

ジェットソーン。ドローン買わないうちに小遣い減ってく。

WebRTC Native Client Momo を使って感動したのは、昨年の6月だった。
WebRTC Native Client Momo がスゲエ
https://papalagi.org/blog/archives/635
その後、放置していたのだけど、今年はちょっと形にせんといかんばい。
ということで、まっどさんとゴソゴソ動き出した。


機体はこんな感じでやっつけだ。

動き始めると楽しくなってくる。形になるの重要。アイデアも出てくる。
WebRTC Native Client Momo は DataChannel を使ってシリアル通信する実装も始まるとのこと。
これっていろいろスゴくない?そう、非常に熱い瞬間である。
1/22 にセミナーがあるそうで、そちらが最新情報としてまとまっている。
https://github.com/shiguredo/seminar/blob/master/webrtc_seminar_2_handout_night.rst
気づいたのが遅すぎて参加できず。今後も追っかけたい。

で、Jetson nano だ。
コチラはなにかというと、NVIDIA が出してるゴツいラズパイ。
Geforce でおなじみの GPU が ARM の SoC に搭載されている。
そういうと難しそうだが、これは TegraX1 というコアで、Nintendo Switch や PixelC、AndroidTV とかに搭載されているもの。
それなりに枯れてる。GPUコアも Maxewell で1世代前だ。
それでも GPU 性能は他を圧倒しており、機械学習とかに最適。
映像解析によるラジコンカーの自動運転「Jetcar」では大活躍。
半年ぐらいで、スゴイ進化した。
https://github.com/NVIDIA-AI-IOT/jetracer

試したいのはあったのだけど、他に買うもの多く棚上げになっていた。
今回ラズパイでいろいろ実験するウチに、帯域やら遅延やら解像度やらFPSやら、いろいろ評価が必要と思い至る。
WebRTC Native Client Momo も Jetson nano に対応しており、その際は 4K/30fps を低遅延で送るというスゴさだ。
加えて年明けてから安売りがチラホラあり、品薄で悩んだのは昨年の夏だったかね・・と思いつつ購入。
そしたら買った日に新レビジョンが発表になった。
NVIDIA Jetson Nano Developer Kit-B01
https://www.cnx-software.com/2020/01/17/nvidia-jetson-nano-developer-kit-b01-gets-an-extra-camera-connector/
カメラコネクタが2本になってて、なんだそれスゴイ使えるやん・・とおもったがアフターカーニバル。
まあ枯れてるのも重要だよね、必要なら買い足せばいいよね。
ということで、早速セットアップしてみた。

導入については、からあげさんの記事がカンペキ。
https://qiita.com/karaage0703/items/0583528f1f9c34911a31
https://qiita.com/karaage0703/items/b14c249aa33112669ee4
早速システムイメージをSDカードに焼いて電源オン。
USB にキーボード挿したところで落ちた。
フルパワーで使うには 5v 4A の丸端子アダプタ使えってあったんだけど、売り切れであった。
手持ちの 5v 3A MicroUSB でやったら電源足りない模様。
挿し替えながら初期設定を済ませた。あとは SSH でやる。

OS はみんなおなじみの ubuntu 18.04。カッコイイ壁紙付。
普通のデスクトップとして使っても遜色ない。
ただ電源ボタンがないとか、RTC がないとか、WiFi がないとか、ラズパイ4をクライアント運用する時と代わり映えしないめんどくささはある。
まあ好きでもないとやらなそう。
馬力は圧倒的で、NVIDIAがドライバの類を揃えてくれるのはよい。
Docker で TensorFlow 環境もラクチン。

今回はココまで。

Nutmeg ナツメグ

日本特有の200g未満というルールをフルに活用するためにペイロードを稼せげる、Donutとか、爬虫類(Reptile Cloud)とかを使ってる。
いろいろ載せられて大変重宝している。
多少重くなろうとも GoPro マウントでアレコレ搭載したり角度つけたり。

Osmo Action 載せて撮影し、その撮影できるレベルの違いに驚いた。
でも屋内で使うのにはちょっと大きい。屋内でも使いたい。まあ飛ばせんこともないけど
そうしたニーズに、GoPro を分解して 20g近辺まで軽量化する「剥きプロ」。

WTW で 65mmに搭載されたの見たことある。

これはスゴい。pipi FPV さんの製作したと後日知る。

しかし GoPro 安くないし、ぶつけるのは日常だし。
チャンスできたらやるだろうけど、他に方法ないのか。

ということで、Shendrone の Nutmeg。
http://www.shendrones.com/nutmeg
ダクトファン式を目一杯小型化したもの。
この製作過程もおもしろい。
1408とかのごっついモーターを載せて、4インチとか5インチの羽をカットして利用する。今回はメルカリでジャンクをゲットした。
いつものルール(飛ぶのに必要なものだけ)で重量を計測すると、U199 は余裕で達成。(4S-450mAh)
4S-650mAh までは搭載可能。3Sは馬力足りず。
カメラとVTXに軽量化の余地あり。

コピー品がすぐ流通する仁義なき中華の世界でも、これは他から出てこない。
飛ばした感じは、プロペラ小さいってこういうことかなーというピーキーな感じ。
ペイロード150gぐらいは確保できそうだ。
屋外はこの形状だと独特の影響が出るだろうから慣れが必要か。
デカい FC を 45度傾けたマウントとなるので、組み立ての時はジャイロの設定に注意。
なんかヘンテコなのが飛ぶと、妙な高揚感ある。

いっぽう BetaFPV は 95X を出すらしい。
https://betafpv.com/collections/brushless-frame/products/beta95x-frame-kit
DJIのデジタルVTX、Caddex の Vista を載せるらしい。
デジタルFPV がすすむなあ。

あとは Ethix の Cinerat が気になる。
https://www.team-blacksheep.com/products/prod:cinerat_cfhw
今年は電子ジンバル付きのカメラ搭載が盛り上がりそうな感じ。

次回はこのあたりの紹介ですかね。

HDMI を UVC にする ezcap269

便利な HDMI キャプチャーみつけた。
https://www.amazon.co.jp/dp/B07Z48YTG4

1/13に行われた銭湯レースへお手伝いに行ってきた。
その時のライブ配信映像がコチラ。

こちらの配信に使ったのが、ezcap269 であった。
いろいろ相談しながら直前に導入し、人柱覚悟でやったが9時間無事完走。

これは何がスゴイか。
ezcap269 は UVC(USB Video Class)、つまり Webカメラの類にしてくれるので、ドライバとかなく簡単に取り込み可能。
FPV する人だと、PC用の 5.8GHz 受信機を持っていると思うが、つまりアレ。他にも電子顕微鏡とか耳かきとかチラホラあるよね。

4K は FullHD に変換される。30fps か 60fps を利用可能。
まあ保管用途ではないので、FullHD も出せれば十分。
そして 720p のものをアップスキャンはしてくれないようだ。
その他の製品との比較はコチラが詳しい。
http://sonotaco.jp/forum/viewtopic.php?p=55113&sid=f6ee124b2358f295a2dc616d23ddc535

UVC は標準規格なので、これを使うと各種 OS でドライバ入らずで利用可能。
Windows、Mac、Android、ウチが一押しの ChromeOS でも利用可能。
ついでにバスパワーで動くという、このお手軽さ。
OTG で Android とかに接続すると、ヘッドレス運用のラズパイの HDMI 出力を、スマホでモニタ化することができたりする。便利だ!
アプリは選ぶが、ウチの Opneplus7pro でも利用可能であった。(バスパワーで動いた)
その他にもビデオチャットツールでカメラを切り替えたりすると、少人数には遅延なしで配信できたりするかもしれないね。

一部の人は気になるかもしれない HDCP だが、どうも設定を忘れているっぽい。
まあこれは「これは映るがこれは映らん!なんでや!」とかに悩まなくて済む、と解釈しよう。

アルミのケースに入って頑丈かつ軽く、キャプチャデバイスとしては1万程度と安価。なにかと活用可能なので、ピンとくる人は押さえておくといいと思う。

ジャイロはどっちだ?

ドローンライフも長くなると、ヘンテコな機体を作りたくなるものだ。
既製品の改造でなく、余ったテキトウな部品を組み合わせて機体を作る。
フレームに FC や ESC、モーターとかの部品をつけて。
ハンダして、バインドして、モーターの回転方向と、ペラの向きを確認して。
いよいよアーム!離陸!
ちょろっと上がったあたりでひっくり返る。ハテ?

時折寄せられるこの相談。
これはジャイロの方向を設定しそこねているパターン。
ちょっと離陸したところで、想定と違う動きをするので Failsafe かかってるのでないか。
Betaflight configurator の基本設定で、機体の動きにあわせて動く絵があると思う。
そこで動きを確認すると、設定がおかしいことがわかる。
あんまりイジるところでないし、慣れてくるとあんまり見ないし、なんとなーく抜け落ち気味だ。

まず対策としては、ジャイロ切っちゃう。
基本設定の左側「システム」にある「加速度センサー(accelerometer)」がそれ。
とりあえずこれで飛ぶ。
ぶつけすぎてジャイロおかしくなった時にやるヤツ。
この場合は Angle が使えなくなり、Acro のみとなる。
それでは困っちゃうので、基本設定の右側にある「FCボード&センサーアライメント(Board and Sensor Alignment FC)」に角度設定をしてやる。

FC は事前にジャイロの向きが設定されている。
基盤をよーく見ると▲がついている。(手元にあったテキトウ画像)

必ずしもそのとおりでないこともある。
そもそも未設定だったり、Betaflight 4.1系の分割ファームに更新した際に初期化されたとか。
いろいろあるのでうまくいかないときは疑ってみる。

これまであったのはこんなパターン。
FC が裏返しになってるパターン。
USB端子の位置優先で回してマウントのパターン。
45度傾けたマウントのパターン。

なんかの折に思い出してもらえると幸いである。

Kibana を日本語UIにする

ブログ再開して1年経過しました。
さて昨年一番の人気記事はコチラでした。

Elasticsearch 7.0.0 がリリースされるもアップグレードでハマる
https://papalagi.org/blog/archives/437

ドローンブログなのに!(注:ドローンブログではありません)
Elasticsearch は優秀で、我々のような素人筋にも活用できるナイスツール。
ホント便利なので、みんなも使ったらいいと思う。
現在 7.5.0 まで順調にアップデートされ、使い切れないぐらい機能追加されています。

Elasticsearch というと、なくてはならないのが可視化ツール Kibana。
コチラのUIが英語だったので、紹介してもなかなかとっつきにくいところもあった。
が、いつの間にか日本語リソースが提供されているのをイマサラながら知る。
https://github.com/elastic/kibana/commit/66bb463e5cfebafae0eb15eaa863e0417095674e
去年の5月じゃん!

ということで、早速試してみた。
ウチのは ubuntu なので、/etc/kibana/kibana.yml を修正する。
一番最後のこの行。

#i18n.locale: “en”
↓これに変更
i18n.locale: “ja-JP”

あとは Kibana を再起動するだけ。($ sudo systemctl restart kibana)
果たして日本語になった。なんて簡単。

英語慣れしすぎて逆に違和感が。(英語UIのまま使ってたあるある)
その筋の人たちはみんな知ってるのかもしれないけど、孤独に使っているとなかなか気づかないというお話。

thatgamecampany の「Sky」がスゴい

帰省しました。

ドローン飛ばしたれーと持ってきたのですが、充電につかう XT60コネクタのアダプタがいきなりの故障。詰んだ。
充電できねー。どうするか。
ドローン関係は、こういうトラブルに何度となく遭遇し、それなりにコンテンプランも考えながらやっているが、それはいつも想像もつかないところから突然に。これってなにかに似てる?

閑話休題。

マニアックなゲームグッズを扱うFangamerから新製品情報のメール来た。
https://www.fangamer.jp/
「風ノ旅ビト」のTシャツ、ついに売り出したのか。
沸き立つ我が家。年末年始は配送停止してるとのこと。いったん落ち着いた。

「風ノ旅ビト」に代表される thatgamecampany は、すばらしい作品を作る。
音楽も世界観も正直大好き。なのに寡作。
繰り返しその世界に浸りたいが、iOS ない我が家には PS3 ぐらいで困ってた。

そしたら。
なんか12/12にAndroid版の「Sky」出てた。
https://play.google.com/store/apps/details?id=com.tgc.sky.android
マジか。ずっとiOSで作ってたのはしていたが正式リリースにあわせてついにこっちにも来てくれたか。
さっそくやったが、ああこれは thatgamecampany だ。
マルチ対応してるのだけど、このメーカーらしいマルチプレイだ。ソシャゲ?
継続的なコンテンツ提供もしていく模様。
どうしても寡作になるしかなかった thatgamecampany だが、この運営方法がマッチするだろうか。

調べたらこれまでの製品もiOSが一番対応多い。
「風ノ旅ビト」も Android に来て欲しい。有料でいいから。

1S Lipo を BT2.0 へ移行する

1S Lipoバッテリは PH2.0 という汎用コネクタを使っている。
1S のドローンはガム形状の Lipo と共に、これが広く普及している。
スイッチ代わりに使って大電流を流すという、おおよそ想定していない使い方で、よく劣化する。
https://papalagi.org/blog/archives/390
端子なんて針みたいなもの。
使ってるうちに茶色く変色し、接触抵抗が落ちていく。
コンタクトZである程度は改善できるが、ムリがあるだろーという運用。
使用頻度が高いと頻繁に交換するのはしょうがないみたいな感じ。

これがあって、2S に移行してから 1S は接待用であまり飛ばしてなかった。
2S以降に使われる XT30 は、挟み込む形状で接触面積も多く、スイッチ代わりはどうよと思うも、まあ希望するぐらいの耐久性がある。
もう 1S も XT30 でよいのでは→重量と充電の問題が出てくる。(1Sだけ特殊)

そんな中、BETAFPV が BT2.0 という新規格を出してきた。

https://betafpv.com/products/free-gift-bt2-0-300mah-1s-30c-battery-2pcs

独自規格なのでいろいろとどうなのか。
実際に見たところ小さい XT30 で、随分マシな構造になっている気がする。
ということで、一斉に BT2.0 に変更してみた。

接触抵抗が落ちたので、電流が流れやすい。
HX100SE(びっくりするぐらいよく飛ぶ)をブンブン振り回すとサグが出てバッテリ負けてるなーぐらい出る。
ギリまで使うと一気に放電しちゃってブラックアウト。
これまでより高めの電圧で終了するようにしておかないと、すぐバッテリがプクプクになってしまうので注意。。
2週間ほど使い倒したが、耐久性についても PH2.0 とは比較にならないよい感じだ。
弱点はバッテリメーカの選択肢が狭まることで、容量も限定されてくることだが、そこはまあ工夫の範囲だろう。

BT2.0 はこだわりというより、面倒を嫌う人には向いている。
ただケーブルの青と白はどうだろ。赤と黒にしない?
(ちなみに白がGND) (面倒を嫌うので交換には至らない)

FATSHARK 電源ボックスを修理する

FATSHARK の電源で相変わらず悩んでいる。
https://papalagi.org/blog/archives/681
前記事にあるとおりUSB給電でしばらくしのいでいたのだけど。

普及活動が多いので人へ貸し出す時に、ケーブルが長いUSB給電は取り回しが悪くイヤになってきた。
そんな中、FuriousFPV から Smart Power Case の v2 が出た。
なにが変わったかというと昇圧レギュレータがついたので、18650のバッテリが端まで使えるようになった。
今までのヤツって、FATSHARK が電圧降下でピーピー言い始めても、実際は40%ぐらい残っていたり。
まあそれぐらい最初からついててもよかったんだよね。いくらもしない部品だし。
蓋もスライド式になったので、まーいっちょ試してみるかと購入。
また1ヶ月経たずにケーブル断線。うおー。

いよいよ腰を据えて、これまで断線した電池ボックスをかき集めて分析することにした。
先に結論を言うとケーブルと取り回しがダメ。設計ミスレベル。
電源はシリコンのケーブルが2本を皮膜で束ねている。
シリコンの皮膜は柔らかいので導線の補強にはなっていない。
加えて電池ボックスの出口部分が曲げて押さえられている構造。
ハンダに直接力が加わらないようにって工夫なのかもしれないが、そこに曲げ荷重がかかり常に引っ張られている。
その結果、繰り返し曲げを行うことで、内部の導線だけが引っ張られて金属疲労で断。
慎重にカッターで剥いたら、みんなそこで切れていた。

折り曲げて保管し、持って歩き回っている(毎日だ)ウチに振動とかで切れたのだろうと予想。

対策を施すために電線のプロ、オヤイデ電気に持っていって相談した。
7.4v で最大 500mAh ぐらいまで。
ベストな電線はなんだ? → 曲げにも強い同軸ケーブル。
PVCとかのが曲げに強そうだけど、曲げて使うのでシリコンの同軸ケーブルとした。
ブツはこちら。
https://oyaide.com/catalog/products/p-1996.html
太さといい、手触りといい、これなんか記憶にある・・・。
と思ったら、SHURE SRH1540 の純正ケーブルと同じ感じだった。
用途的には似ているのではないか。十分な強度も期待できそうだ。

早速これを使ってケーブル交換。
オーディオ向けハッタリ金ピカコネクタを採用。
https://oyaide.com/catalog/products/dc-2-1gl.html
明らかに重いので普通のプラスチックのヤツを強くオススメします。
https://oyaide.com/catalog/products/mp136l.html
でも金ピカコネクタ、周囲のウケはよかったです。

電池ケースをバラすのもノウハウですよ。
FATSHARK の 18650 はシールの中に2本ビス隠れてる。一番簡単。
赤電池ケースも v1、v2共にシールの中に2本ビスが隠れてる。
ケースの加工精度はひどいシロモノで、液晶パネル外れない。
一部切り欠いてハンダ部分を露出させて配線。シールで蓋。
FATSHARK の USB充電タイプは嵌め合わせだけ。
通電状態での加工になるので順番とか注意。
ショートすると保護回路が働くらしく、その場合は MicroUSB で給電したらリセットするみたい。

これで1ヶ月半ぐらい乱暴に扱ってみたが、前よりは強度がありそうで、ここまで断線はしていない。
とにかく出先でつながらない時が一番腹立つので、他の手段も準備しておくのがいいと思う。
DJI FPVゴーグルと共用考えると、いっそ 3S の電池ボックス作ったほうがいいのかもな。
電源の悩みはまだ続きそうだ。

U199でサウンドドローンを作ってみる

なんでもドローンに載せてみたいお年頃。

先月の11/17、WTWで梅屋敷東通り商店街でドローンを飛ばす機会があって行ってまいりました。

撮ってもらった後ろ姿が完全におっさんで衝撃。
その時の撮影をすばらしい動画にまとめていただいたのがコチラ。

12/16 には多摩川で川崎市の警察や消防とドローンを使った災害時対応訓練がありました。
コチラは別件があって残念ながら参加できなかったですが、マイクロドローンの有用性について評価されたそうです。
https://www.sankei.com/photo/daily/news/191216/dly1912160011-n1.html
https://www.kanaloco.jp/article/entry-221345.html
https://www.townnews.co.jp/0206/2019/12/20/510923.html

12/24 動画公開されたので追加。
(この中にある Mavic2エンタみたいなのをU199でやりたい!)

いずれも飛ばすには特別な許可や機会がないとこういうのできない。
でもやると、いろいろお題が出てくる。
ドローンは遠隔操作で遠く離れているわけですが、その機体から音声送るといろいろ便利なのではないか。
災害時の声掛けとか、商店街での注意喚起とか。
紛失防止用のブザーは既存であるので、まずはそれ活用すれば注意喚起とかの用途にはすぐできる。
今回はその先でドローンからいろいろ音出したらおもしろいんじゃね?というのを先取り企画。

航空法適用外となる200g未満(U199)では、飛行に必要なもの以外は重量に入れなくて良い。
DIPSの申請が必要な、いわゆる「ドローン」は、こうしたものを搭載した場合は厳密には「改造」とされる。
U199で最大限のペイロードが稼げるダクトフープは、こういう実験には便利だ。
ということで、ものすごい短時間でできたのがコチラ。

もうホントつけただけって感じ。
実際のところ構想5分、製作1分ってレベル。
クイックハックもいいところだ。
これは Anker の Soundcore Ace A0 という小型 Bluetooth スピーカー。2000円ナリ。
https://www.amazon.co.jp/dp/B07P6NCWS3
バッテリ込 62g で 2w の出力がある。
62g というと、Runcam5 ぐらいの重量。
ダクトフープなら Runcam5 + A0 載せても飛びそう。
他にも防水の製品とかいろいろあるみたいだけど、安くて軽いのがコレだったのでチョイスしてみた。
なんか他にも良さげなのがあったら教えて欲しい。

A0 はいわゆる Bluetoothスピーカーなので、スマホの音を出すことになる。
音楽とかは簡単に出せる。
早速飛行実験。
ドローンからクラシック音楽が流れる様は、なかなかマヌケな感じで心が和みます。

なお、これを撮影している人の姿がコチラです。

肩に Osmo Action つけて、ヘンなゴーグル使いながら、クラシック音楽の流れるドローン操縦しているという。
さすがにハタからみてどうだろうか。
とりあえず飛んでいるが、Bluetooth は 2.4GHz帯で、操作電波とかぶるあたり。
飛行実験でも前に進めている途中で一回落っこちた。
スピーカーとレシーバーが一直線に並ぶような位置関係になるとダメなのかな。
小型軽量で落ちても問題ないサイズにするか、なんか電波変えるか。
まあ工夫の余地はまだまだ。

できればメガホンのように、しゃべったものが出ていて欲しい。
なんか BTスピーカーとしては想定されていないような使い方のような気もする。
電話してハンズフリー設定したら簡単に出そうだが、そのためにスマホ2台準備するのもなんだかな。
でも探したらそんなニッチなアプリあった。
DaMIC
https://play.google.com/store/apps/details?id=com.soomsoft.damic.free

見てのとおりで、再生ボタン押してスマホに喋るだけ。
ちょっと遅延があって音声が出てくる。
ココにもデジタル遅延問題が。アナログ最強か。
あんまり音量取れていない気もするけど、コレはマイクの工夫も必要かも。
ヘッドセットとかつけて飛ばしながら音声を発するというのが可能になる。
スマホ経由だと翻訳した音声流すとか、状況に応じていろいろできる。

なんというか夢広がる。

ラズパイのヘッドレス運用手順

ラズパイ4Bも3A+も国内版が出回り始めた。みんな買った?

あらためてラズパイってなに?っていうと、パソコンです。
従来のいわゆるパソコンと比較すると、スマホとかの構造に近いですが、つまるところパソコン。
Linux 動いてパソコンとして利用可能。
3とか4とかだとWebを見るぐらいは全然困らない。
入門用にそっちの売り込みが多いが、みんなパソコンもスマホもあるから別にニーズはない。
うごいたーで終わりだ。

使ってる人はなにがそんなにいいのか。
GPIO という信号端子があるので、ローレベルな各種センサーの類を接続してアレコレできる。
SPIとかI2CとかPWMとかUARTとか。
もちろん USB も音声出力もあるし、さりげなくコンポジットビデオも出力できる。
加えて 5v電源で動く省電力設計(3とか4は要求大きいけど)なので、IoT機器に向いている。

ラズパイ入門書とか見ると、キーボードにマウス、モニタ準備して・・これがデスクトップです!となってる。
あれみんなやっているのか。あれはつらくないか。そこから先に進むのか。
ssh でつないで、使い慣れた端末からパクったコードをコピペが便利なのでないか。
ということで、導入部分長かったが、基本的なヘッドレス(モニタなし)運用を行う手順を書いてみる。

■ブートイメージの準備
ラズパイは MicroSDHC がハードディスクがわりとなっている。
ファミコンカセットのような要領で、複数のOSイメージを挿し替えして使うこともできる。
起動できる MicroSDHC はどうやって作るかというと、ディスクイメージを焼くことでできる。
各種プラットフォームが充実の Etcher がいいです。
https://www.balena.io/etcher/
察しのいい人は気づくと思いますが、焼付や取込ができるので、バックアップやコピーが簡単にできます。
IoT機器は数がモノを言う時あるので覚えておこう。
なお取り込む時に MicroSDHC のサイズそのままになるので、開発時は容量小さいのが便利。
パーテーションテーブルをイジって小さくすることもできるのだけど、都度やるのはめんどくさい。
4GB もあれば十分だが、8GB ぐらいが手に入る限界ですかね。
なお小さいイメージを、容量にあわせてデカくするのは簡単にできる。

焼き付けるディスクイメージはコチラ。
https://www.raspberrypi.org/downloads/raspbian/
Rasbian という Linux を使います。
Rasbian はたくさんある Linux ディストリのうちの Debian という系列になります。
同じ系列には ubuntu もあるので、Debian や ubuntu の記事も参考にしてよい。
ラズパイ向けにいろいろ調整されているのが Rasbian です。無難。
コチラの中で一番小さい「Raspbian Buster Lite」を「Download zip」しましょう。
他のは GUI ベースのリッチな環境です。

■起動前の細工
zip を解凍して Etcher 使って焼き付けて。
これをラズパイに挿して起動・・・だが、ちょっと待った!
ヘッドレス運用するために、ブートイメージに細工します。
イメージを焼き付けた MicroSDHC を PC につなぐと、2つのドライブになります。
FAT32 と ext4 です。FAT32はおなじみのやつですね。
ext4 は Linux で使われるもので、Windows などからは覗けません。
今回は「あるんだなー」ぐらいでよいです。
この FAT32 のドライブに2つほど細工をします。

まず「ssh」というフォルダを作ります。
これによって起動時から sshd が動くので、すぐsshクライアントで接続できるようになります。
これをやらないと起動後に「raspi-config」して設定が必要になる。

次に WiFi に参加する設定をします。
有線LANだとこの細工は必要ないです。
USB接続の NIC を使えば Zero系でもいけます。
でも LAN ケーブル準備するのもめんどいよね。
先程の FAT32ボリュームに「wpa_supplicant.conf」という WiFi 設定のファイルを置きます。
注意点としては「改行コード LF」で記述してください。
https://forest.watch.impress.co.jp/docs/serial/yajiuma/1120764.html
下記は2つのAPを設定した場合です。
SSIDとパスワード、その他暗号方法は各自の環境にあわせてください。

////ここから

ctrl_interface=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP

# おうちSSID
network={
ssid=”HomeSSID”
psk=”HOMEPASS”
key_mgmt=WPA-PSK
proto=WPA2
pairwise=CCMP
group=CCMP
priority=2
scan_ssid=1
}

# WiFiルータSSID(出先用)
network={
ssid=”WiFiAP”
psk=”APPASS”
key_mgmt=WPA-PSK
proto=WPA2
pairwise=CCMP
group=CCMP
priority=2
scan_ssid=1
}

///ここまで

この方法だとパスワードが平文で見ただけでわかる方法。
気にする人は wpa_passphrase でハッシュ化されたのを入れましょう。
ちなみにファイルは「/etc/wpa_supplicant/wpa_supplicant.conf」にある。
後日書き換えも可能。

さあコレで起動の準備が完了です。
MicroSDHC をラズパイに挿して電源を投入しましょう。
なお上記の設定は初回起動時のみ有効。
一発目に失敗したらあきらめてキーボードつないでプチプチやりましょう。

■IPアドレスを特定する
起動してどうやってイジるか。
これは ssh クライアントを使って他の PC からイジります。
ssh クライアントはいろいろありますが、chrome拡張の「Secure Shell」がすごく便利です。
動かしてみるとなんとなくわかると思う。
選んでコピー、右クリックでペースト、とだけ覚えておけばよい。
なお ssh クライアントの接続には、ラズパイに割り当てられた IPアドレスが必要。
どうやって確認するのか、という方法です。

1.HDMIモニタを接続する
これが一番簡単。
WiFi とかの設定に失敗していることもあるので、ブートのログが見えるのはよい。
起動時に IPアドレスを表示するスクリプト組まれているので、最後に表示されます。
トラブル解決時にも有効なので、持って歩けるなんらかの手段を持っておくとよい。
USB電源で動く小型レーザープロジェクタは緊急時に重宝している。
https://papalagi.org/blog/archives/94
ただヘッドレスでという企画に、毎回 HDMI をつなぐのはいかがなものか。

2.Bonjour を使う
Mac/iPhoneに標準装備のネットワーク設定自動化機能。
ラズパイに avahi が組んであるので使える。
IPアドレスのかわりに「raspberrypi」と入れればよい。
簡単だけど、Windows の場合は itunes をインストールしないと使えない。
利用範囲や多頭飼育時に問題になり、結果めんどうになるのであまり好きではない。

3.arp-scanを使って探す
MACアドレスの「b8:27:eb」で始まるのがラズパイ。
arp -a で grep して探す。多頭飼育になって複数あると悩む。
あれ?Windows使えたっけ・・と思ったら PowerShell で使えました。
当然ですが USB-NIC を使った場合は別の MAC アドレスなので注意。

4.小型モニタつけちゃう
http://akizukidenshi.com/catalog/g/gP-12031/
OLEDをつけて IPアドレスを表示させる。アレコレ悩まないで済む。
実験はコレつけた古い2B+を未だに使っている。
インターフェースが多いのと電源選ばないあたりがよい。

5.その他
netdiscover で監視しておいて増えたのを確認するとかルータを見るとか。
slackとかにボットでプッシュさせるとか。

■さいごに
これでようやくつながってラズパイをイジれるようになるのだ。
初心者の人にとっては「だからなんだ」という段階のような気もする。
どっとはらい。