FAQ — sensbench ESP32 キット&シミュレーター
ESP32 FAQ:質問と回答。
ESP32 の全トピックにわたる103の質問。左から1つ選ぶと、ここに回答が表示されます。
ESP32って何? 完全初心者のためのやさしい解説
「esp32 とは何か」と、初心者が最初に抱く疑問へのわかりやすい回答 — 基板がまだ配送中の人に向けて書きました。
ESP32とは何ですか?
ESP32 は Espressif Systems が作る、Wi-Fi と Bluetooth を内蔵した低価格マイクロコントローラーです — 1チップにコンピューターが丸ごと入っていて、モジュール1個あたり $2〜5。これがメーカー界の標準頭脳になりました。スマートプラグ、ロボット掃除機、無数のホビー製作の中に入っていて、Arduino IDE や MicroPython、Espressif の ESP-IDF から C/C++ で動きます。最も短い正直な要約:何かをインターネットに繋ぐための最も安い方法。
ESP32 はどんなもの?(チップとボードの違い)
この質問をする人はたいてい、チップではなく開発ボードのことを指しています。裸のモジュール — 一般的なのは ESP32-WROOM-32 — にはレギュレーター、USB インターフェース、アンテナが別途必要なので、みんなそれらが半田付けされた開発ボードを買います。開発キットは USB に挿すだけで、ピン配置がボードに印刷されています。この2つはよく混同されます。
「ESP32」のスペル違いの質問
同じ質問の誤記バージョンで、たいてい Arduino から来た人が聞きます。これは Arduino スケッチがそのまま動き、Wi-Fi が内蔵されたボードのことです。Arduino IDE には ESP32 が標準ボードとして登録されているので、Uno のコードもピン変更だけでほぼ移植できます。ESP32 は Arduino ではありませんが、同じエコシステムの中にいます。
ESP32 は何に使われますか?
一言で言えば「ものをインターネットに繋ぐこと」。実際の用途は、データロガー、スマートホームコントローラー、ドア監視、ロボットカー、LED 照明、ウェアラブル、産業用プロトタイピングなど。無線がチップ内蔵なので、マイコン+別売り Wi-Fi モジュールの組み合わせを1つで置き換えられます — Espressif は年間数千万個を製品に供給しています。最初の製作には、当サイトのサンプル集に配線とコードがあります。
ESP32 の用途は?(初心者版)
初心者向けに言えば、現実的な最初の製作は植物の自動水やり、ガレージドアオープナー、温度ダッシュボード、Wi-Fi 制御コンセントあたり。「センサーを読む → ボタンに反応する → サーバーと話す」の流れは毎回同じなので、半田付けの前に無料シミュレーターで試してみてください。
ESP32 は誰が作っていますか?
上海に拠点を置くファブレスチップメーカー、Espressif Systems です — 設計は自社、製造は外注。ESP8266 や、新しい ESP32-S3、C3、C6、P4 ファミリーも同社製。無料のツールチェーン、充実したドキュメント、安いボードという開発者体験で一気に普及しました。
Arduino と ESP32 の違いは何ですか?
片方はプラットフォーム、もう片方はチップ。Arduino はエコシステム — ボード、簡略化された C++ フレームワーク、IDE — であり、ESP32 はそのフレームワークを動かすシリコンです。クラシックな Uno は8ビットの AVR プロセッサでネットワーク機能なし。ESP32 は32ビット・デュアルコアで Wi-Fi と Bluetooth 付き。Uno でできることは全部できて、さらにワイヤレスも付きます。
ESP32 の BOOT ボタンとは?
GPIO0 につながった単純なボタンで、電源投入時だけ意味を持ちます。リセット中に LOW に保持すると、チップはブートローダーモードに入って新しいファームウェアを受け付けます。そうでなければ普通にアプリを実行します。実行中に押しても何も起きません — BOOT と呼ぶボードもあれば IO0 と書いてあるボードもあります。アプリが動き出してからは、自由に使える入力として流用できます。筆者はセンサー製作の再校正スイッチに使ったことがあります。
ESP32 Marauder とは?
ESP32 を Wi-Fi/Bluetooth の監査ツールに変えるコミュニティ製ファームウェアです — ネットワークのスキャン、クライアントのプロービング、アクティビティの記録など。これは自分のネットワークを許可の下でテストするためのセキュリティ研究プロジェクトであって、通常の開発用ではありません。コーディングを学んでいる間はスキップしましょう。