ご購入リンク(1個入り):

Buy from US Buy from UK Buy from DE Buy from IT Buy from FR Buy from ES Amazon日本

ご購入リンク(3個入り):

Buy from US Buy from UK Buy from DE Buy from IT Buy from FR Buy from ES Amazon日本

説明

OSOYOO NodeMCU開発ボードはESP8266をベースに、WiFi接続、オンボードUSB to UARTコンバータ、キーを備えています。ESP-12Fモジュールのすべてのピンは、拡張ヘッダを介して接続することができ、ボードを他の周辺機器に接続し、PWM、I2C、SPI、UARTシリアル通信を生成することができます。大きなオープンソース開発者コミュニティのおかげで、この人気のマイクロコントローラ用の多数のライブラリが利用できます。このオープンソースボードは、Lua/ATコマンド/MicroPython/Arduino/IOTソースコードなど、さまざまな方法で開発をサポートしています。IoTアプリケーションの開発を大幅にスピードアップします。

特徴

仕様

用途

NodeMCUは、以下のようなIoTアプリケーションに適しています:

電源端子

電源端子は4本。VINピンと3.3Vピンが3つあります。
VIN 5Vは、NodeMCU/ESP8266とその周辺機器に直接供給するために使用することができます。VINに供給される電力は、NodeMCUモジュールのオンボードレギュレータで調整されます。また、VINピンに5Vのレギュレータを供給することもできます。
3.3Vピンは、オンボードの電圧レギュレータの出力で、外部コンポーネントに電力を供給するために使用することができます。

GNDはNodeMCU/ESP8266のグランドピンです。

GPIOピン

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

ADCチャンネル

NodeMCUは10ビット精度のSAR ADCを内蔵しています。ADCを使用して2つの機能を実装することができます。VDD3P3端子の電源電圧のテストとTOUT端子の入力電圧のテストです。ただし、同時に実装することはできません。

UART 端子

NodeMCU/ESP8266は、非同期通信(RS232、RS485)を行う2つのUARTインターフェース(UART0、UART1)を持ち、最大4.5Mbpsで通信することができます。UART0(TXD0、RXD0、RST0、CTS0ピン)は通信に使用することができます。ただし、UART1(TXD1ピン)はデータ送信信号のみなので、通常は印刷ログ用として使用します。

SPI端子

NodeMCU/ESP8266は、スレーブモードとマスターモードの2つのSPI(SPIとHSPI)を備えています。また、これらのSPIは、以下の汎用SPI機能をサポートしています:

SDIO端子 NodeMCU/ESP8266は、SDカードと直接接続するためのSDIO(Secure Digital Input/Output Interface)を備えています。4ビット25MHz SDIO v1.1、4ビット50MHz SDIO v2.0をサポートしています。

制御端子

NodeMCU/ESP8266を制御するために使用されます。これらのピンには、Chip Enableピン(EN)、Resetピン(RST)、WAKEピンが含まれます。
EN: ENピンをHIGHにすると、ESP8266チップは有効になります。LOWにすると、チップは最小限の電力で動作します。
RST: RSTピンはESP8266チップのリセットに使用されます。
WAKE:Wakeピンは、チップをディープスリープから目覚めさせるために使用されます。

USB-シリアルコンバータ – Ch340

各NodeMCUには、USB-シリアル・コンバータが組み込まれています。公式デザインはCP2102チップセットをベースにしており、最高の互換性を提供します。正規のボードには、正規ライセンスのNodeMCUモジュールを含め、CP2102チップセットが使用されています。その他の一般的なUSBシリアルコンバータはCH340で、OSOYOO NodeMCU v1.0を含む低価格のモジュールで一般的に使用されています。その他の設計では、FTDIチップセットなどのドライバを使用することもありますが、そのような設計は稀です。

NodeMCUで使用するオペレーティングシステムに応じて、適切なドライバをインストールする必要があります。一般的に、Windows 10はCP2102チップセットをすぐに認識しますが、CH340は別途インストールが必要な場合があります。

WCHはCH340のドライバを定期的に保守・更新しています。ドライバは、Windows、Mac、Linux、Android用のバージョンも用意されています。CH340ドライバーダウンロードページ をご覧ください。最新のドライバを入手するためには、メーカーに問い合わせるのが一番です。

CP2102とCH340の両方のデバイスが、期待通りに機能しなかったり、認識されなかったりする状況を経験したことがあります。解決策は、古いドライバをアンインストールし、最新バージョンをインストールするという簡単なものでした。

nodemcuのコードはどう書けばいいのでしょうか?

ESP8266にNode-MCUファームウェアをセットアップした後、NodeMCUの開発に必要なIDE(統合開発環境)を見ていきましょう。

ESPlorerのIDEでNodeMCUを開発する

NodeMCUのコーディングには、一般的にLuaスクリプトが使用されます。Luaは、C言語の上に構築された、オープンソースの軽量で組み込み可能なスクリプト言語です。

NodeMCUのLuaスクリプトの書き方については、「ESPlorerIDEを使ったNodeMCUの入門」を参照してください。

Arduino IDEを使ったNodeMCUの紹介

ここでは、Arduino IDEという有名なIDEを使用してNodeMCUを開発する別の方法を紹介します。Arduinoの開発環境を使ってNodeMCUのアプリケーションを開発することも可能です。このため、Arduino開発者は、NodeMCUのために新しい言語やIDEを学ぶよりも簡単です。

NodeMCU用のArduinoスケッチの書き方については、ArduinoIDEを使ってNodeMCUを始めるを参照してください。

esplorerとarduino ideの使い分けについて

ESPlorer IDEとArduino IDEを使用してNodeMCUのアプリケーションを開発する際に、プログラミング言語の違いがあると言えるでしょう。

Arduino IDEでNodeMCUのアプリケーションを開発する場合はC++、ESPlorer IDEで開発する場合はLua言語でコーディングする必要があります。

基本的にNodeMCUはLuaインタプリタなので、Luaスクリプトを簡単に理解することができます。NodeMCU用のLuaスクリプトを作成し、NodeMCUに送信/アップロードすると、順次実行されます。NodeMCUが書き込むコードのバイナリファームウェア・ファイルを構築することはありません。LuaスクリプトをそのままNodeMCUに送信し、実行されます。

Arduino IDEでは、コードを書いてコンパイルすると、バックグラウンドでESP8266ツールチェーンが書いたコードのバイナリファームウェアファイルを作成します。それをNodeMCUにアップロードすると、すべてのNodeMCUファームウェアが新しく生成されたバイナリファームウェア・コードでフラッシュされます。実際には、完全なファームウェアを書き込むのです。

これが、Arduino IDEでフラッシュされた後、NodeMCUがそれ以上のLuaスクリプト/コードを受け付けない理由です。Arduinoのスケッチ/コードでフラッシュされた後は、Luaインタプリタがなくなり、Luaスクリプトをアップロードしようとするとエラーになります。再度Luaスクリプトを起動するには、NodeMCUファームウェアでフラッシュする必要があります。

Arduino IDEはファームウェアのコンパイルからアップロード、書き込みまで行うので、ESPlorer IDEより時間がかかります。

チュートリアルとサンプルプロジェクト(Arduino IDE)

よくあるご質問

ご質問はこちらに記載するか、[email protected] の技術サポートにお問い合わせください。

いくつかのピンに何かを接続すると、NodeMCUが動作しなくなります。これはどうしたことでしょうか?

ESP8266は、一部のピンを「ブートモード」ピンとして使用するため、起動時に特定の値に設定する必要があります:

NodeMCUボードがクラッシュしたりリセットされたりを繰り返しています。

クラッシュの最も一般的な理由は、電源障害です。また、USB-シリアルケーブルを使用している場合は、コンピュータのメインボードに接続されているか、電源付きハブを介して接続されていることを確認してください!

NodeMCU用のシリアルポートがコンピュータに見当たらないのですが?

シリアルポートドライバ(CP2104ドライバ/CH340ドライバ)をコンピュータにインストールすることを忘れないでください!

 Luaがコマンドに反応しないのですが?
ターミナルソフトウェアが正しい行末を送信していることを確認してください!ESP8266でLuaと会話しようとすると、PuTTYのデフォルト設定が間違っている可能性があります。

参考文献

ESP8266データシート&その他ドキュメント: http://www.esp8266.com/wiki/doku.php

NodeMCU-firmware: https://github.com/nodemcu/nodemcu-firmware

NodeMCUホームページ: http://www.nodemcu.com/

NodeMCU ドキュメント: https://nodemcu.readthedocs.io/en/master/

ESP12Fドキュメントサイト:https://docs.ai-thinker.com/en/esp8266

Windows用フラッシュツール: https://github.com/nodemcu/nodemcu-flasher

Linuxフラッシュツール: https://github.com/espressif/esptool

ESPlorer GUI: https://github.com/4refr0nt/ESPlorer