エンジニア

エンジニアESP8266NodeMCU開発ボード

エンジニア-NodeMCU-開発-ボード

モノのインターネット(IoT)は、テクノロジーの世界でトレンドとなっている分野です。 それは私たちの働き方を変えました。 物理的なオブジェクトとデジタルの世界は、これまで以上に接続されています。 このことを念頭に置いて、Espressif Systems(上海を拠点とする半導体企業)は、愛らしい一口サイズのWiFi対応マイクロコントローラーESP8266を信じられないほどの価格でリリースしました。 3ドル未満で、世界中のどこからでも物事を監視および制御できます。これは、ほぼすべてのIoTプロジェクトに最適です。

開発ボードには、12〜8266MHzの調整可能なクロック周波数で動作しRTOSをサポートするTensilicaXtensa®32ビットLX106RISCマイクロプロセッサを搭載したESP80チップを含むESP-160Eモジュールが装備されています。

ESP-12Eチップ

  • TensilicaXtensa®32ビットLX106
  • 80〜160MHzのクロック周波数
  • 128kBの内部RAM
  • 4MBの外部フラッシュ
  • 802.11b / g /nWi-Fiトランシーバーエンジニア-NodeMCU-開発-ボード-1

128 KBのRAMと4MBのフラッシュメモリ(プログラムとデータの保存用)もあり、構成する大きな文字列に対応するのに十分です。 web ページ、JSON / XMLデータ、そして今日IoTデバイスに投げかけるすべてのもの。 ESP8266は802.11b/g / n HT40 Wi-Fiトランシーバーを統合しているため、WiFiネットワークに接続してインターネットと対話できるだけでなく、独自のネットワークをセットアップして、他のデバイスが直接接続できるようにすることもできます。それ。 これにより、ESP8266NodeMCUはさらに用途が広がります。

電力要件

営業巻としてtagESP8266の範囲は3V〜3.6Vで、ボードにはLDOvolが付属しています。tagボリュームを維持するためのeレギュレーターtage3.3Vで安定。 最大600mAを確実に供給できます。これは、RF送信中にESP8266が80mAをプルする場合には十分すぎるはずです。 レギュレータの出力もボードの片側に分けられ、3V3とラベル付けされています。 このピンは、外部コンポーネントに電力を供給するために使用できます。

電力要件

  • 営業巻tag例: 2.5V~3.6V
  • オンボード3.3V600mAレギュレーター
  • 80mAの動作電流
  • スリープモード中は20μAエンジニア-NodeMCU-開発-ボード-2

ESP8266 NodeMCUへの電力は、オンボードのMicroBUSBコネクタを介して供給されます。 または、調整された5Vvolを使用している場合tagソースの場合、VINピンを使用してESP8266とその周辺機器に直接供給することができます。

警告: ESP8266には、通信用に3.3V電源と3.3Vロジックレベルが必要です。 GPIOピンは5V耐性ではありません! ボードを5V(またはそれ以上)のコンポーネントとインターフェースする場合は、レベルシフトを行う必要があります。

周辺機器とI/O

ESP8266 NodeMCUには、開発ボードの両側のピンヘッダーに分割された合計17個のGPIOピンがあります。 これらのピンは、次のようなあらゆる種類の周辺業務に割り当てることができます。

  • ADCチャネル–10ビットのADCチャネル。
  • UARTインターフェース–UARTインターフェースはコードをシリアルにロードするために使用されます。
  • PWM出力–LEDを調光またはモーターを制御するためのPWMピン。
  • SPI、I2C、およびI2Sインターフェース–あらゆる種類のセンサーおよび周辺機器を接続するためのSPIおよびI2Cインターフェース。
  • I2Sインターフェイス–プロジェクトにサウンドを追加する場合のI2Sインターフェイス。

多重化されたI/O

  • 1つのADCチャネル
  • 2つのUARTインターフェース
  • 4つのPWM出力
  • SPI、I2C、I2Sインターフェースエンジニア-NodeMCU-開発-ボード-3

ESP8266のピン多重化機能(単一のGPIOピンに多重化された複数のペリフェラル)のおかげです。 単一のGPIOピンがPWM/UART/SPIとして機能できることを意味します。

オンボードスイッチとLEDインジケーター

ESP8266NodeMCUには8266つのボタンがあります。 左上隅にあるRSTとマークされているのは、もちろんESPXNUMXチップをリセットするために使用されるリセットボタンです。 左下隅にあるもうXNUMXつのフラッシュボタンは、ファームウェアのアップグレード中に使用されるダウンロードボタンです。

スイッチとインジケーター

  • RST –ESP8266チップをリセットします
  • フラッシュ–新しいプログラムをダウンロードする
  • 青色LED–ユーザープログラム可能エンジニア-NodeMCU-開発-ボード-4

ボードには、ユーザーがプログラム可能で、ボードのD0ピンに接続されたLEDインジケータもあります。

シリアル通信

このボードには、SiliconLabsのCP2102USB-UARTブリッジコントローラーが含まれています。これにより、USB信号がシリアルに変換され、コンピューターでESP8266チップをプログラムして通信できるようになります。

シリアル通信

  • CP2102USB-UARTコンバータ
  • 4.5Mbpsの通信速度
  • フロー制御のサポートエンジニア-NodeMCU-開発-ボード-5

古いバージョンのCP2102ドライバーがPCにインストールされている場合は、今すぐアップグレードすることをお勧めします。
CP2102ドライバーをアップグレードするためのリンク– https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers

ESP8266NodeMCUピン配置

ESP8266 NodeMCUには、外界に接続する合計30本のピンがあります。 接続は次のとおりです。エンジニア-NodeMCU-開発-ボード-6

簡単にするために、同様の機能を持つピンのグループを作成します。

電源ピン 3.3つの電源ピンがあります。 8266つのVINピンと5つのXNUMXVピン。 安定化されたXNUMXVvolを使用している場合は、VINピンを使用してESPXNUMXとその周辺機器に直接供給することができます。tageソース。 3.3Vピンはオンボードボリュームの出力ですtageレギュレーター。 これらのピンは、外部コンポーネントに電力を供給するために使用できます。

GNDは、ESP8266NodeMCU開発ボードのグランドピンです。 I2Cピンは、プロジェクト内のあらゆる種類のI2Cセンサーと周辺機器を接続するために使用されます。 I2CマスターとI2Cスレーブの両方がサポートされています。 I2Cインターフェース機能はプログラムで実現でき、クロック周波数は最大100kHzです。 I2Cクロック周波数は、スレーブデバイスの最も遅いクロック周波数よりも高くする必要があることに注意してください。

GPIOピン ESP8266 NodeMCUには17個のGPIOピンがあり、プログラムでI2C、I2S、UART、PWM、IRリモートコントロール、LEDライト、ボタンなどのさまざまな機能に割り当てることができます。 各デジタル対応GPIOは、内部プルダウンまたはプルダウンに構成することも、高インピーダンスに設定することもできます。 入力として構成する場合は、エッジトリガーまたはレベルトリガーに設定してCPU割り込みを生成することもできます。

ADCチャネル NodeMCUには、10ビットの高精度SARADCが組み込まれています。 XNUMXつの機能は、ADCvizを使用して実装できます。 電源のテストvoltagVDD3P3ピンのeとテスト入力ボリュームtagTOUTピンのe。 ただし、同時に実装することはできません。

UARTピン ESP8266 NodeMCUには2つのUARTインターフェイス、つまりUART0とUART1があり、非同期通信(RS232とRS485)を提供し、最大4.5Mbpsで通信できます。 UART0(TXD0、RXD0、RST0、CTS0ピン)を通信に使用できます。 流体制御をサポートします。 ただし、UART1(TXD1ピン)はデータ送信信号のみを備えているため、通常はログの印刷に使用されます。

SPIピン ESP8266は、スレーブモードとマスターモードのXNUMXつのSPI(SPIとHSPI)を備えています。 これらのSPIは、次の汎用SPI機能もサポートします。

  • SPIフォーマット転送の4つのタイミングモード
  • 最大80MHzおよび80MHzの分周クロック
  • 最大64バイトのFIFO

SDIOピン ESP8266は、SDカードを直接インターフェースするために使用されるセキュアデジタル入出力インターフェース(SDIO)を備えています。 4ビット25MHzSDIOv1.1および4ビット50MHzSDIOv2.0がサポートされています。

PWMピン ボードには、4チャンネルのパルス幅変調(PWM)があります。 PWM出力はプログラムで実装でき、デジタルモーターとLEDの駆動に使用できます。 PWM周波数範囲は、1000μsから10000μs、つまり100Hzから1kHzの間で調整可能です。

制御ピン ESP8266を制御するために使用されます。 これらのピンには、チップイネーブルピン(EN)、リセットピン(RST)、およびWAKEピンが含まれます。

  • ENピン– ENピンがHIGHにプルされると、ESP8266チップが有効になります。 LOWに引くと、チップは最小電力で動作します。
  • RSTピン–RSTピンはESP8266チップをリセットするために使用されます。
  • ウェイクピン–ウェイクピンは、チップをディープスリープからウェイクアップするために使用されます。

ESP8266開発プラットフォーム

それでは、興味深いものに移りましょう! ESP8266をプログラムするために装備できるさまざまな開発プラットフォームがあります。 Espruino – JavaScript SDKとNode.jsを厳密にエミュレートするファームウェアを使用するか、Mongoose OS – IoTデバイス用のオペレーティングシステム(EspressifSystemsおよびGoogleCloud IoTが推奨するプラットフォーム)を使用するか、Espressifが提供するソフトウェア開発キット(SDK)を使用できます。またはWiKiPediaにリストされているプラ​​ットフォームの8266つ。 幸い、驚くべきESP8266コミュニティは、Arduinoアドオンを作成することで、IDEの選択をさらに一歩進めました。 ESPXNUMXのプログラミングを始めたばかりの場合、これは私たちが最初に推奨する環境であり、このチュートリアルで文書化する環境です。
Arduino用のこのESP8266アドオンは、IvanGrokhotkovとその他のESP8266コミュニティによる素晴らしい作品に基づいています。 詳細については、ESP8266ArduinoGitHubリポジトリを確認してください。

WindowsOSへのESP8266コアのインストール

ESP8266Arduinoコアのインストールに進みましょう。 まず、PCに最新のArduino IDE(Arduino 1.6.4以降)をインストールします。 お持ちでない場合は、今すぐアップグレードすることをお勧めします。
Arduino IDEへのリンク– https://www.arduino.cc/en/software
まず、ボードマネージャーをカスタムで更新する必要があります URL。 Arduino IDEを開いて、 File >設定。 次に、以下をコピーします URL 追加のボードマネージャーに URLウィンドウの下部にあるテキストボックス: http://arduino.esp8266.com/stable/package_esp8266com_index.jsonエンジニア-NodeMCU-開発-ボード-7

OKを押します。 次に、[ツール]>[ボード]>[ボードマネージャー]に移動して、ボードマネージャーに移動します。 標準のArduinoボードに加えて、いくつかの新しいエントリがあるはずです。 esp8266と入力して、検索をフィルタリングします。 そのエントリをクリックして、[インストール]を選択します。エンジニア-NodeMCU-開発-ボード-8

ESP8266のボード定義とツールには、まったく新しいgcc、g ++、およびその他の適度に大きなコンパイル済みバイナリのセットが含まれているため、ダウンロードとインストールに数分かかる場合があります(アーカイブ済み)。 file は〜110MBです)。 インストールが完了すると、エントリの横に小さなINSTALLEDテキストが表示されます。 これで、ボードマネージャーを閉じることができます

Arduino Example:点滅

ESP8266 ArduinoコアとNodeMCUが適切に設定されていることを確認するために、すべての中で最も単純なスケッチであるBlinkをアップロードします。 このテストでは、オンボードLEDを使用します。 このチュートリアルで前述したように、ボードのD0ピンはオンボードの青色LEDに接続されており、ユーザーがプログラムできます。 完全! スケッチをアップロードしてLEDで遊ぶ前に、ArduinoIDEでボードが正しく選択されていることを確認する必要があります。 Arduino IDEを開き、ArduinoIDE>ツール>ボードメニューでNodeMCU0.9(ESP-12モジュール)オプションを選択します。エンジニア-NodeMCU-開発-ボード-9

次に、ESP8266NodeMCUをmicro-BUSBケーブルを介してコンピューターに接続します。 ボードを接続したら、一意のCOMポートを割り当てる必要があります。 Windowsマシンでは、これはCOM#のようなものになり、Mac / Linuxコンピューターでは、/ dev/tty.usbserial-XXXXXXの形式になります。 ArduinoIDE>ツール>ポートメニューでこのシリアルポートを選択します。 アップロード速度:115200も選択しますエンジニア-NodeMCU-開発-ボード-10

警告: ボードの選択、COMポートの選択、およびアップロード速度の選択には、さらに注意を払う必要があります。 新しいスケッチのアップロードに失敗すると、espcomm_upload_memエラーが発生する場合があります。

終わったら、元を試してみてくださいamp以下のルスケッチ。

void セットアップ()
{pinMode(D0、OUTPUT);} void loop()
{digitalWrite(D0、HIGH);
遅延(500);
デジタル書き込み(D0, LOW);
遅延(500);
コードがアップロードされると、LEDが点滅し始めます。 ESP8266でスケッチの実行を開始するには、RSTボタンをタップする必要がある場合があります。エンジニア-NodeMCU-開発-ボード-11

ドキュメント / リソース

エンジニアESP8266NodeMCU開発ボード [pdf] 説明書
ESP8266 NodeMCU開発ボード、ESP8266、NodeMCU開発ボード

参考文献

コメントを残す

あなたのメールアドレスは公開されません。 必須項目はマークされています *