マイクロコントローラ研究室

目次

このチュートリアルは、ESP8266のピン配列リファレンスとNodemcu, ESP01, ESP12といった様々な種類のESP8266ボードについて説明します。

Esp8266はQFNパッケージのマイクロチップで、TCP/IPスイートとマイクロコントローラの両方の機能を備えています。 Esp8266は、低コスト、効率的な電力使用、信頼性の高いパフォーマンス、およびコンパクトな設計など、モノのインターネット産業のニーズを満たす高度に統合されたWiFiソリューションを提供します。 中国・上海のEspressif Systems社で製造されています。

完全なWiFiネットワーク機能を持ち、ホスト・マイクロコントローラのスレーブとして、またはスタンドアロン・アプリケーションとして動作させることができます。 ホスト・マイクロコントローラのスレーブというのは、SPIまたはUARTインターフェースを使用するマイクロコントローラのWiFiアダプタとして使用できることを意味します。

Esp8266は、テンシリカのL106 Diamondシリーズをベースにしており、32ビット・プロセッサとオンチップSRAMを備えています。

ESP8266の仕様

Esp8266の仕様は、ハードウェア、ソフトウェア、およびWi-Fiの3つのパートに分けられます。 ハードウェア仕様では、パッケージサイズはQFN32pin、寸法は5mm×5mmです。 動作電圧は2.5V~3.6Vです。 消費電流は平均80mAです。 CPUはテンシリカL106で、オンチップSRAMを搭載した32ビットプロセッサです。 周辺インターフェースは、UART、SDIO、SPI、I2C、I2S、IRリモコン、GIPO、ADC、PWM、LEDライト、ボタンがあります。 ネットワークプロトコルとして、IPv4、TCP、UDP、HTTPを使用します。

ESP8266チップのピン配置と説明

32ピンQFNパッケージのピン配置。

  • Pin1: VDDAは2.5Vから3.6Vのアナログ電源用の電源ピンです。 LNAは、RFアンテナ・インターフェースに特化した入出力端子です。 チップは、39+j6Ωのインピーダンスを生成します。 VDD3P3は、3番ピンと同様に2.5V~3.6Vのアンプ電源を供給するパワーピンです。 VDD_RTC は電源端子で 1.1V を供給しますが、この端子は接続されていません。
  • Pin6: TOUT は入力端子で、Pin3 と Pin4 の電源電圧と TOUT pin6 の入力電圧をテストする ADC 端子として機能します。 7033>
  • Pin7: CHIP_EN I 入力端子です。 CHIP_EN 端子が HIGH のときチップは正常に動作し、LOW のときチップはわずかな電流しか消費しません。
  • Pin8: XPD_DCDC は、ディープスリープモードからチップを起動するための入力/出力ピンです。
  • Pin9: MTMSはGPIO14の入出力端子で、SPIではクロック端子(SPI_CLK)として使用します。
  • Pin10: MTDIはGPIO12の入出力端子で、SPIではマスターインスレイブアウト端子(SPI_MISO)として使用します。 1.8V~3.6V の電圧範囲のデジタル入出力電源です。 ピン17と同様です。ピン12:MTCKはGPIO13と表記される入出力端子で、SPIではマスターアウト・スレーブイン端子(SPI_MOSI)として、UARTでは送信クリア端子(UART_CTS)として使用されます。
  • Pin13: MTDO は GPIO15 と呼ばれる入出力端子で、SPI ではチップセレクト端子 (SPI_CS) として、また UART では送信要求端子 (UART_RTS) として使用されます。
  • Pin14: GPIO2 は、フラッシュプログラミング時に UART TX として使用される入出力ピンです。
  • Pin15: GPIO0 は、SPI のチップセレクトピン 2 (SPI_CS2) として使用する入出力ピンです。
  • Pin16: GPIO4 は純粋に入出力として使用する入力ピンです。
  • Pin17: VDDPST はパワー用ピンです。 1.8V~3.6Vのデジタル入出力用電源です。
  • Pin18: SDIO_DATA_2 は GPIO9 と表記される入出力端子で、SD カードのデータ端子 2 と接続します。
  • Pin19: SDIO_DATA_3 は GPIO10 と表記される入出力端子で、SD カードのデータ端子 3 と接続します。
  • Pin20: SDIO_CMD は GPIO11 の入出力端子で、SD カードのコマンド端子と接続されます。
  • Pin22: SDIO_DATA_0 は GPIO7 の入出力端子で、SD カードのデータ端子 0 と接続します。
  • Pin23: SDIO_DATA_1 は GPIO8 の入出力端子で、SD カードのデータ端子 1 と接続します。
  • Pin24: GPIO5 は、純粋に入出力として使用される入出力ピンです。
  • Pin25: U0RXD は、GPIO3 と記された入出力ピンで、フラッシュプログラミング中に UART RX として使用されます。
  • Pin26: U0TXD は、GPIO1 と記された入出力ピンで、フラッシュプログラミング中に UART TX として使用されます。
  • Pin27:XTAL_OUTは入出力ピンとして分類され、水晶発振器の出力に接続されます。
  • Pin28:XTAL_INは入出力ピンとして分類され、水晶発振器の入力に接続されます。
  • Pin29:VDDDは、2.5V~3.6Vのアナログ電源を供給する電源ピンです。
  • Pin30:VDDAは、2.5V~3.6Vのアナログ電源を供給する電源ピンです。 ピン29と同様です。ピン31:RES12Kは、12kΩの抵抗でシリアル接続され、グランドに接続されている入力端子です。
  • Pin33:GNDは、チップのグランドとして機能する電源ピンです。

    回路図

    ESP8266 回路図には、次のコンポーネントが含まれています。

    • 電源
    • 電源投入シーケンスとリセット
    • フラッシュ
    • 水晶振動子
    • RF
    • 外部抵抗
    • UART

    ここまで、Esp826プリアンブル、機能ブロック図、ピン配置、説明、回路図について述べましたが、最後に、回路図の説明です。

    2014年8月、Espressif Systemsは、サードパーティのAI-Thinkerが製造する最初のローモジュール(ESP-01モジュールと呼ばれるモジュール)を発表しました。 それ以来、AI-ThinkerはESP8266をベースにした一連のモジュールを開発し、ESP-xxモジュールと呼ばれるこのシリーズは01から14まであります。

    ESP8266モジュールのさまざまな種類のピン配置

    このセクションでは、ESP-01からESP-12までのさまざまなバージョンのPSP8266モジュールについて説明します。 それ以来、多くの公式SDKがありますが、EspressifはFreeRTOSベースとコールバックベースの2つのSDKのみを安定的に維持しています。 また、ESP8266にはさまざまなオープンソースのSDKがあります。

    Arduino: その人気から最もよく使われているSDKです。 C++ベースのSDKです。 ESP6266はArduinoボードと同じように簡単にプログラムすることができます。

    NodeMCU: Lua ベースのソフトウェア開発キットです。

    MicroPython: Python 言語を組み込みデバイスに使用します。

    Espruino, Mongoose OS, uLisp, Sming, Platform IO, ESP Easy, Smick, ESP Open RTOS などのオープンソース SDK もあります。ESP-xxモジュールシリーズには、電圧レギュレータ、CH340GやSilicon LabのCP2102などのUSB-UARTブリッジ、マイクロUSBコネクタが搭載されていないため、これらの開発ボードが必要です。 以前は、電圧レギュレータと USB-UART ブリッジを別々に購入し、ESP-xx モジュールと配線してフラッシュする必要がありました。

    ここでは、主に ESP-12E モジュールに基づいた開発ボードについて説明します。

    ESP8266 12E モジュールのピン配置

    ESP8266 12E モジュールには、以下の合計 22 ピンがあります。 ピン数

    ピン・ラベル 説明 17 GPIO GPIO ピン範囲は GPIO0 から GPIO16 で、SPI、I2C、SDIO および UART インターフェース・ピンが含まれます。 1 ADC 10bit Analog to Digital Converter. 1 VCC Supply Voltage 3.0 Supply Voltage 3.5

    Supply Voltage 3.0 Supply Voltage 3.0 Supply Voltage 3.03V 1 GND グランド端子 1 RST リスト端子 1 Enable

    グランド端子

    Chip Enable Pin

    ESP8266 12E Wemos D1 Mini pinout

    Wemos D1 Mini開発ボードは、12ピンがアクティブである合計16ピンを備えています。 は、ESP-12モジュール、オンボードリセットボタン、3.3電圧レギュレータ、Micro USB、USB to UARTブリッジ、その他いくつかのコンポーネントを使用します。 の

    ピン

    Label Description 1 3.3V 3.3V pin 1 5.0 入力5V電圧端子 1 GND グランド端子 1 ADC

    端子

    10bit Analog to Digital Converter 1 RST リセット端子 9 D0~D8。 入出力ピンは、SPIおよびI2C、フラッシュにも使用されます。 2

    RX,TX

    UART interface.

    ESP8266 01 Module pinout

    ESP8266 01 Module is different but commonly used as the above development boards.このモジュールは上記の開発ボードと同じように使用されます。 このボードはブレッドボードフレンドリーではなく、プログラミングには別途プログラミングモジュールを使用することが多いです。

    3P 3P 3P 3P 3P 3P3V pin

    4

    ピン番号 Label Description
    1 3.3V Supply 3.1V 1ピン 3V 1ピン 2 ピン 3 ピン 3P
    1 GND グランド pin
    1 RST リセット端子
    1 CH_PD/EN チップパワー&イネーブル端子
    GPIO 0~3 UART インターフェースおよび入出力ピン

    ESP8266 12E NodeMCU 開発ボード ピンアウト

    NodeMCU 開発ボードには合計30ピンのうち14ピンがアクティブになっています。 は、ESP-12モジュール、オンボードリセットおよびフラッシュボタン、3.3電圧レギュレータ、Micro USB、USB to UART Bridgeおよびその他のコンポーネントを使用します。

    ピン

    No of

    Pin

    Label Description
    3 3.3V 3.3Pin Label Description
    1 Vin 入力 5V 電圧 ピン
    4 GND Grand ピン
    1 ADC 10 ビットA/Dコンバータ
    1 RST リセット端子
    1 EN チップイネーブル端子
    1 CLK CLK SPI/SDIOインターフェース用端子
    1 SD0 SDIO用データ端子0、SPIインターフェース用MISO端子です。
    1 CMD SDIOインターフェース用コマンド端子、SPIインターフェース用チップセレクト端子です。
    1 SD1 SDIO インターフェース用データ端子 1、SPI インターフェース用 MOSI 端子
    1 SD2 SDIO インターフェース用データ端子 0、GPIO9 として使用可能。
    1 SD3 SDIOインターフェース用データ・ピン3、およびGPIO10として使用。
    11 D0~D8, RX, TX UART, SPI, I2C, Flash, Wake端子にも使われる入出力ピンです。

    ESP8266 周辺機器

    ESP8266は以下の周辺機器を搭載しています。

    • 17 個の汎用入出力ピン
    • Serial Peripheral Interface (SPI)
    • Inter-Integrated Circuit (12C)
    • Inter-IC Sound interfaces (12S) with Direct Memory Access
    • 汎用非同期受発信機インターフェース
    • Universal ASInchronous Receiver Transmitter interface.
    • 10bit Analog to Digital Converter

    Analog Input

    ESP8266 には、ADC0と呼ばれる10bitアナログ/デジタルコンバータが1つだけ搭載されており、A0というラベルが貼られています。 しかし、これは最大の欠点でもあります。なぜなら、ほとんどのユーザーは2つのセンサを接続する必要があるため、2つ以上のセンサをインタフェースするために、別々のADCモジュール、IC、および多重化回路を購入する必要がありますが、これは別の記事のトピックになります。 ESP-12Eモジュールに基づいた開発ボードの入力アナログ電圧は0~3.3Vの範囲です。

    PWMピン

    ESP8266は、GPIO0からGPIO16までのすべての入出力ピンでPWMを行うことができます。

    SPIピン

    シリアル・プログラミング・インターフェース(SPI)には、以下のピンが用意されています。

    GPIO5 シリアルクロック線(SCL)

    GPIO4 シリアルデータ線(SDA)

    割り込みピン

    GPIO16以外のGPIOピンを割り込みに使用することができます。

    On board LED

    多くの開発ボードには、1つ以上のLEDが内蔵されています。 ESP8266モジュールに内蔵されたLEDはGPIO2に、開発ボードに内蔵されたLEDはGPIO16に接続されています。

    リセットとフラッシュボタン

    リセットボタンを押すかRSTピンをローに引くと、ESP8266チップがリセットされます。

    ESP8266のどのピンを使用するか

    GPIOのラベルはシルクスクリーンのラベルと一致しないことを常に念頭に置いてください。 例えば、GPIO0はD3、D0はGPIO16に対応します。 GPIOは、緑色の目盛りがついているものが最適です。

    としてよく使用される。

    として使用することが多い

    Label GPIO Input Output Description
    A0 ADC0 Analog Input No 0~3 のアナログ入力の場合。3Vで出力なし。
    RX GPIO3 Yes RX pin only High at Boot。
    TX GPIO1 Tx pin only Yes High at Boot。
    D0 GPIO16 No interrupt No I2C、PWM Deep sleep からの起動に使用、起動時 HIGH。
    D1 GPIO5 Yes Yes SCL
    D2 GPIO4 Yes Yes SDA D3 GPIO0 プルアップ Yes フラッシュボタンに接続
    D4 GPIO2 プルアップ Yes 組み込みに接続。をLEDで表示します。 起動時に高い。
    D5 GPIO14 Yes Yes SPI インターフェース用 SCLK ピン
    D6 GPIO12 Yes Yes SPI インターフェース用 MISO ピン
    D7 GPIO13 Yes Yes SPI インターフェース用 MOSI ピン
    D8 GPIO15 プルダウン Yes SPIインターフェース用CS端子

    ESP8266端子 High/Low-(High/Low)ブート時の電圧信号

    ESP8266のブート時に、以下のピンが3.このため、リレー、トランジスタ、その他の周辺機器を接続すると、誤動作する可能性があります。

    • GPIO16
    • GPIO3
    • GPIO1
    • GPIO10
    • GPIO9

    GPIO4とGPIO5以外の全てのピンは、起動時に低電圧信号を出力している。

    ブート時のピン設定

    ESP8266を正常にブートするには、指定したピンがHIGHまたはLOWにならないようにする必要があります。

    • GPIO16: BOOT
    • GPIO3: BOOT
    • GPIO10: BOOT
    • GPIO9: BOOT
    • GPIO2: BOOT
    • でピンHigh,

    • でピンHow: BOOT時ピンハイ、LOW
    • GPIO1: BOOT時ピンハイ、LOW
    • GPIO0: LOW
    • GPIO15をプルするとブートエラーになります。 HIGHにするとブート失敗

    ESP8266の応用

    • ホームオートメーション
    • スマートプラグ、スイッチ
    • 家電(ACなど。
    • ワイヤレス産業制御
    • センサーデバイス
    • ウェアラブルガジェット
    • IPカメラ
    • セキュリティIDタグ
    • Wi-Fi 位置認識デバイス
    • Wi-Fi 位置システム

    ESP8266チュートリアルもご参照下さい。