Rebounder Tech Blog

運用している当事者が書く、本番システムの記録。

最初の開発ボードは何を作りたいかで決まる

公開 読了時間 約3分執筆: Rebounder 開発チーム(当該システムの運用当事者)

※本記事にはアフィリエイトリンクを含む場合があります。内容は広告の有無に影響されません。

結論

開発ボードは性能ではなく守備範囲で選ぶもので、通信する装置なら ESP32、Linux が要るなら Raspberry Pi、回路そのものを組むなら FPGA になる。

守備範囲がまるで違う

3枚は競合しません。役割が別です。

ボード 守備範囲
ESP32 安く無線で動かす入口。WiFi / Bluetooth 内蔵で、通信するもの・飛ばすものを作る
Raspberry Pi Linux が載る小型 PC。AI 処理や常時稼働のサーバまでこなす
FPGA(DE10-Lite) ハードを回路として理解する。ソフトではなく論理回路そのものを組む

作りたいものが「通信する装置」か「小さいコンピュータ」か「回路の学習」か ── これで最初の一台は外しません。

ESP32 — 通信するものを作る

WiFi と Bluetooth を1チップに内蔵していて、小さくて安い。

実際に組んだのは、機体に積んで地上の PC と双方向通信させる構成です。機体から姿勢やセンサのデータを送ってリアルタイムに表示し、地上から制御パラメータをその場で調整して送り返す。

本番で混線した

いちばん詰まったのがこれです。会場では他にも一斉に WiFi で飛ばしていて、通信が混線して自分の受信ができなくなりました。最初は原因すら分かりませんでした。

解決は、受信側にも相手の MAC アドレスを設定して、狙った相手とだけ通信することでした。電波が飛び交う場所では「誰と通信するか」を明示してやる必要があります。

**実験机では絶対に気づけません。**電波が自分のものしかないからです。

切れる前提で組む

もう一つ、通信は切れる前提で設計すること。WiFi は常に安定しません。途切れても安全側に動くフェイルセーフを最初から織り込む必要があります。

繋がっている前提で作ると、切れた瞬間に制御を失います

センサ値をブラウザに出す構成は ESP32 のセンサ値を Web Serial でブラウザに出す にまとめています。

Raspberry Pi — 小さいコンピュータ

Linux が載るので、表示以外の常駐処理・自動化・細かい設定まで何でも仕込めます。激安のマイコン版(Pico)も同じ一族です。

用途が広いぶん「何に使うか」を決めていないと持て余します。実際に組んだものは2つあります。

サイネージ端末としての選定は サイネージ端末は Google TV か Raspberry Pi か に分けてあります。

FPGA — 回路そのものを組む

ソフトウェアと違い、自分で回路の構造を考えて組む部分が多くなります。書いた回路が LED や7セグで即座に動くので、抽象的になりがちな論理回路が体で分かります。

選び方の軸について

3枚を並べて分かるのは、比較しても選べないということでした。

スペック表を見比べても、ESP32 と Raspberry Pi と FPGA は同じ軸に乗りません。性能の優劣ではなく守備範囲の違いなので、目的が決まっていれば選択肢は最初から1つしかない

逆に言えば、選べないときは作りたいものが決まっていないというサインです。ボードを選ぶ前に、そちらを先に決めるほうが早く着地します。

よくある質問

Q1最初の1枚をどう選べばいいですか?

作りたいものが「通信する装置」か「小さいコンピュータ」か「回路の学習」かで決まります。スペックを比較しても選べません。守備範囲がまるで違うので、目的が決まっていれば迷う余地はほぼありません。

Q2無線が混線して受信できないときはどうしますか?

受信側にも相手の MAC アドレスを設定して、狙った相手とだけ通信するようにします。電波が飛び交う環境では「誰と通信するか」を明示するのが効きます。実験机では起きないので、現地で初めて踏むことになります。

Q3無線を使うとき、最初から入れておくべき設計は?

フェイルセーフです。通信は切れる前提で組み、途切れても安全側に動くようにしておきます。繋がっている前提で作ると、切れた瞬間に制御を失います。