ESP-01 のピン配列、プログラミング、データシート、および ESP-01 対 ESP-01S 対 ESP8266
ESP-01 WiFi モジュールは、さまざまなプロジェクトにワイヤレス接続を追加するための一般的な選択肢です。 サイズが小さく、コストが低いため、モノのインターネット (IoT) アプリケーション、ホーム オートメーションなどに最適です。 この究極のガイドでは、ESP-01 のピン配置、仕様、プログラミング、ESP-01S および ESP8266 との比較など、ESP-01 WiFi モジュールについて知っておくべきすべてを説明します。
ESP-01とは何ですか?
ESP-01 は、マイクロコントローラーの WiFi ネットワークへの簡単なアクセスを可能にする WiFi モジュールです。 これは業界で広く使用されており、アンテナ スイッチ、高周波バラン、パワー アンプ、低ノイズ受信アンプ、電源管理要素などのさまざまなコンポーネントを組み合わせています。
このモジュールには最小限の内部回路が必要で、フロントエンド モジュールを含むソリューション全体が小さな PCB 領域を占有するように設計されています。 ESP-01 モジュールは、スタンドアロンのマイクロコントローラーとして機能し、その I モジュールを使用するために別のマイクロコントローラー (Arduino、Atmel、PIC マイクロコントローラーなど) と接続する必要がないため、システム オン チップ (SOC) とみなされます。 /O ピン。
ESP-01 には、WiFi 機能を備えた Tensilica の L-106 ダイヤモンド シリーズ 32 SRAM の高度なバージョンも統合されています。 GPIO を介して特定のデバイスと接続でき、そのようなアプリケーションのコードは SDK で提供されます。
ESP-01のピン配置
ESP-01 のピン配列の説明
ESP-01 WiFiモジュールの仕様
電源:
- 電圧:3.0V~3.6V
- 電流: >300mA
消費電流:
- 連続送信: 平均: ~71mA、ピーク: 300mA
- モデムスリープ: ~20mA
- ライトスリープ: ~2mA
- ディープスリープ: ~0.02mA
SPIフラッシュメモリ:
デフォルト: 8Mビット(1MB)
インターフェース:
- UART/GPIO
- IOポート: 2
UART ボーレート:
- サポート: 300 ~ 4608000 bps
- デフォルト: 115200 bps
周波数範囲:
2412~2484MHz
送信電力:
- 802.11b: 16±2 dBm (@11Mbps)
- 802.11g: 14±2 dBm (@54Mbps)
- 802.11n: 13±2 dBm (@HT20、MCS7)
受信感度:
- CCK、1Mbps: -90dBm
- CCK、11Mbps: -85dBm
- 6Mbps(1/2BPSK):-88dBm
- 54 Mbps (3/4 64-QAM): -70dBm
- HT20、MCS7 (65 Mbps、72.2 Mbps): -67dBm
ESP-01の特徴
- 802.11 b/g/n
- 統合された低電力 32 ビット MCU
- 統合された 10 ビット ADC
- 統合された TCP/IP プロトコル スタック
- TRスイッチ、バラン、LNA、パワーアンプ、マッチングネットワークを統合
- PLL、レギュレータ、および電源管理ユニットを統合
- アンテナダイバーシティをサポート
- WiFi 2.4 GHz、WPA/WPA2をサポート
- STA/AP/STA+AP動作モードをサポート
- Android端末とiOS端末の両方でスマートリンク機能をサポート
ESP-01 CADモデル
絶対最大定格
ESP-01の消費電力
ESP-01の回路図
ESP-01 モジュールのブレッドボードとアダプター
ブレッドボードのセットアップ時にESP-01モジュールを直接挿入することはできません。 以前は、ESP-01 モジュールをブレッドボードに適合させるために、ヘッダー ピンを曲げたり、DIY アダプターを作成したりするなど、さまざまなトリックが使用されていました。 幸いなことに、以下の図に示すように、ESP-01 モジュール用の安価なブレッドボード アダプタが現在入手可能です。
ESP-01 ボードを Arduino ボードに接続する場合は、次の 2 つの点に留意してください。
- ESP-01 モジュールは最大 300mA の電流を必要とする可能性があるため、Arduino ボードからの 3.3V 出力で ESP-01 モジュールに電力を供給しないでください。これにより、Arduino ボード上の 3.3V レギュレータが過熱して損傷する可能性があります。
- Arduino ボードは 5V ロジックを使用し、ESP-01 モジュールは 3.3V ロジックを使用するため、ESP-01 と Arduino ボードの間でロジック レベル変換を使用します。
Arduino ボードとのインターフェースに適した ESP-01 アダプターを下の図に示します。 これには、内蔵 3.3V レギュレータと、RX ピンと TX ピン用の 2 つの双方向ロジック レベル コンバータが含まれています。
電圧レギュレータとロジックトランスレータを備えたESP-01アダプタ
アダプターの概略図を次の図に示します。
ESP-01アダプターの概略図
ESP-01のプログラミング
Arduino IDE を使用して ESP-01 をプログラムするには、まず ESP ボードを Arduino IDE ソフトウェアにインストールする必要があります。 ESP-8266 や他の上位バージョンとは異なり、ESP-01 ボードにはオンボード FTDI プログラマがありません。 したがって、Arduino ボードを使用してプログラミングすることも、USB FTDI プログラマを使用することもできます。
Arduinoボードを使用したESP-01のプログラミング
繋がり
ESP-01 を Arduino ボードに接続する手順は次のとおりです。
プログラミングのための接続:
- ESP-01のGroundピンをArduinoのGroundピンに接続します。
- ESP-01のGPIO 0をArduinoのGroundピンに接続します。
- ESP-01のRXDピンをArduinoのRXピンに接続します。
- ESP-01のTXDピンをArduinoのTXピンに接続します。
- ESP-01のCHPDピンをArduinoの3.3Vピンに接続します。
- ESP-01のVCCピンをArduinoの3.3Vピンに接続します。
- ESP-01 の GPIO-2 ピンと RST ピンは接続されません。
コードをアップロードする前に、GPIO 0 をグランドに設定し、RST をグランドに接続します。 0.5 秒後に RST を削除し、アップロードをクリックします。 青色の LED が 1 回点滅し、コードがアップロードされるまで点滅します。
プログラミング後の接続:
- プログラミング後、シリアル Arduino ケーブルを取り外し、再度接続します。
- GPIO-0 を GND から切り離します。
- ESP-01のGNDピンをArduinoのGNDピンに接続します。
- GPIO 0、GPIO 2、および RST ピンは接続されていないままになります。
- ESP-01のRXDピンをArduinoのTXピンに接続します。
- ESP-01のTXDピンをArduinoのRXピンに接続します。
- ESP-01のCHPDピンをArduinoの3.3Vピンに接続します。
- ESP-01のVCCピンをArduinoの3.3Vピンに接続します。
コード
- ESP8266 ボードを Arduino IDE に追加する手順は次のとおりです。
- Arduino IDE を開きます。
- 「ファイル」→「設定」に移動します。
- [追加のボード マネージャー URL] セクションで、次の URL を貼り付けます:https://dl.espressif.com/dl/package_esp32_index.json、http://arduino.esp8266.com/stable/package_esp8266com_index.json。
- 「OK」をクリックします。
- [ツール] -> [ボード] -> [ボード マネージャー] に移動します。
- 「ESP8266」を検索し、「インストール」をクリックします。
- インストール後、そこから Generic ESP8266 モジュールを選択します。 コードは次のとおりです。
FTDIプログラマを使用したESP-01のプログラミング
繋がり
ESP-01 モジュールを FTDI プログラマに接続する手順は次のとおりです。
- FTDIプログラマのVCCをESP-01のVCCに接続します。
モジュール。 - FTDI プログラマの CH_PD を ESP-01 モジュールの GPIO 0 に接続します。
- FTDIプログラマのGNDをESP-01モジュールのGNDに接続します。
- FTDI プログラマの TX を ESP-01 モジュールの RX に接続します。
- FTDI プログラマの RX を ESP-01 モジュールの TX に接続します。
- ESP-01 モジュールの GPIO 0 を接地して、プログラミング モードに入ります。
- FTDI ケーブルをコンピュータの USB ポートに接続します。
これらの手順により、FTDI プログラマと ESP-01 モジュール間の接続が完了します。
コード
Arduino IDE にコードをアップロードする前に実行する手順は次のとおりです。
- Arduino IDE を開きます。
- [ファイル] > [設定] に移動します。
- [追加のボード マネージャー URL] フィールドに、リンク http://arduino.esp8266.com/stable/package_esp8266com_index.json を貼り付けます。
- [ツール] > [ボード] > [ボード マネージャー] に移動します。
- ESP8266 を検索し、[インストール] ボタンをクリックして ESP8266 ボードをインストールします。
- ボード選択リストから汎用 ESP8266 モジュールを選択します。
- これで、以下に提供されるコードをアップロードできるようになります。
LED 点滅プログラムをアップロードした後、LED を ESP8266 の GPIO_2 ピンに接続します。
ESP-01 を WiFi シールドとして使用するにはどうすればよいですか?
ESP-01 を WiFi シールドとして利用するための改良された方法を開発しました。 ESP-01 は、「Arduino での ESP-01 の使用」で説明されているように、このセットアップで WiFi および HTTP(S) 接続を管理します。 ESP-01 は、シリアル インターフェイス経由で STM32 Blue Pill などのセンサー ノードと通信します。 このアプローチは、AT コマンド ファームウェアを備えた ESP-01 の使用に似ていますが、代わりに、ESP-01 のファームウェアは Arduino Web クライアントに置き換えられます。 この変更により、シリアル インターフェイス間の通信リクエストと応答を定義できるようになります。
ESP-01 と ESP-01S: 比較
ESP-01は古いモデルで、ESP-01Sは新しいモデルです。 主な違いは搭載メモリのサイズで、ESP-01S の方がメモリが大きくなっています。
機能的には、どちらのボードも ESP-01 プログラマを使用してプログラムでき、ESP-01S は ESP-01 と同様に動作します。 顕著な違いの 1 つは、ESP-01S には TX または電源 LED がないことです。 代わりに、GPI02 に接続された単一の LED を備えています。
ESP-01 には、PCB アンテナの近くに 2 つの LED があり、1 つは Tx ライン (GPIO1) 用で、もう 1 つは電源インジケーターとして使用されます。 対照的に、ESP-01S には GPIO2 に接続された単一の青色 LED があります。 さらに、ESP-01S には、ESP8266EX チップとヘッダー ピンの間に見える 2 つの追加のプルアップ抵抗があります。 これらの抵抗の 1 つは、CH PD ピンと 3V3 (VCC) ピンの間に配置されます。
ESP-01S には通常、ESP-01 の 4 倍である 4MB シリアル フラッシュが付属しています。 この大容量メモリにより、プルアップによりランダム信号が RST または CH_PD に干渉しないため、ESP-01S の信頼性が向上します。
GPIO0 ピンの単一プルアップにより、簡単なプッシュボタン操作が可能になります。 さらに、GPIO2 上の 1 つの LED (アクティブ ロー) により、LED のプログラム可能な制御が可能になり、ステータス インジケーター (リレーがいつオンかオフかを示すなど) としても機能します。
要約すると、ESP-01 と ESP-01S は非常に似ていますが、主な違いはフラッシュ メモリ チップと GPIO2 の LED 構成にあります。
ESP-01 と ESP8266: どちらを選択しますか?
ESP-01 は本質的に、コンパクトな開発ボード (24.8 x 14.3mm) に搭載された ESP8266 モジュールです。 このボードは、ESP8266EX モジュールの 2 つのピン (GPIO0 と GPIO2)、およびシリアル ポート経由のプログラミングとデバッグ用の RX ピンと TX ピンのみを公開します。
バージョン間の唯一の違いは、フラッシュ メモリの量 (512KB または 1MB) です。
ESP-01 データシート
結論
ESP-01 WiFi モジュールは、IoT プロジェクト向けの多用途でコスト効率の高いソリューションであり、信頼性の高いパフォーマンスと接続性を提供します。 コンパクトなサイズと Arduino などの一般的な開発プラットフォームとの互換性により、多くのユーザーが利用できるようになります。 ピン配置、プログラミング オプション、データシートを理解することで、開発者はプロジェクトで ESP-01 の可能性を最大限に引き出すことができます。
それでもお困りですか?お問い合わせください: [email protected]